From c39ebaa12181a8fd7da0454d869d344874986862 Mon Sep 17 00:00:00 2001 From: Daren Matsuoka Date: Fri, 9 Jun 2023 15:42:18 -0700 Subject: [PATCH 01/55] Update energy consumption estimates [Fixes #10371] --- src/components/EnergyConsumptionChart.tsx | 199 ++++++++-------------- src/content/energy-consumption/index.md | 45 ++--- 2 files changed, 96 insertions(+), 148 deletions(-) diff --git a/src/components/EnergyConsumptionChart.tsx b/src/components/EnergyConsumptionChart.tsx index 86d904e0d5d..4667aa95a6c 100644 --- a/src/components/EnergyConsumptionChart.tsx +++ b/src/components/EnergyConsumptionChart.tsx @@ -1,10 +1,11 @@ import React from "react" -import { Box, Center, useBreakpointValue, useToken } from "@chakra-ui/react" +import { Box, Center, useToken } from "@chakra-ui/react" import { BarChart, Bar, Cell, XAxis, + YAxis, Text, LabelList, ResponsiveContainer, @@ -20,12 +21,6 @@ interface ITickProps { payload: { value: number | string } } -type Data = Array<{ - name: string - amount: number - color: string -}> - const CustomTick: React.FC = ({ x, y, payload }) => { const textColor = useToken("colors", "text") @@ -52,132 +47,82 @@ const EnergyConsumptionChart: React.FC = () => { const textColor = useToken("colors", "text") - const data = useBreakpointValue({ - base: [ - { - name: t("energy-consumption-chart-global-data-centers-label"), - amount: 200, - color: "#FF0000", - }, - { - name: t("energy-consumption-chart-btc-pow-label"), - amount: 131, - color: "#F2A900", - }, - { - name: t("energy-consumption-chart-eth-pow-label"), - amount: 78, - color: "#C1B6F5", - }, - { - name: t("energy-consumption-chart-gaming-us-label"), - amount: 34, - color: "#71BB8A", - }, - { - name: t("energy-consumption-chart-eth-pos-label"), - amount: 0.0026, - color: "#C1B6F5", - }, - ], - sm: [ - { - name: t("energy-consumption-chart-global-data-centers-label"), - amount: 200, - color: "#FF0000", - }, - { - name: t("energy-consumption-gold-mining-cbeci-label"), - amount: 131, - color: "#F2A900", - }, - { - name: t("energy-consumption-chart-btc-pow-label"), - amount: 131, - color: "#D7B14A", - }, - { - name: t("energy-consumption-chart-eth-pow-label"), - amount: 78, - color: "#C1B6F5", - }, - { - name: t("energy-consumption-chart-netflix-label"), - amount: 0.451, - color: "#E50914", - }, - { - name: t("energy-consumption-chart-eth-pos-label"), - amount: 0.0026, - color: "#C1B6F5", - }, - ], - md: [ - { - name: t("energy-consumption-chart-global-data-centers-label"), - amount: 200, - color: "#FF0000", - }, - { - name: t("energy-consumption-gold-mining-cbeci-label"), - amount: 131, - color: "#D7B14A", - }, - { - name: t("energy-consumption-chart-btc-pow-label"), - amount: 131, - color: "#D7B14A", - }, - { - name: t("energy-consumption-chart-eth-pow-label"), - amount: 78, - color: "#C1B6F5", - }, - { - name: t("energy-consumption-chart-gaming-us-label"), - amount: 34, - color: "#71BB8A", - }, - { - name: t("energy-consumption-chart-netflix-label"), - amount: 0.451, - color: "#E50914", - }, - { - name: t("energy-consumption-chart-paypal-label"), - amount: 0.26, - color: "#C1B6F5", - }, - { - name: "AirBnB", - amount: 0.02, - color: "#E50914", - }, - { - name: t("energy-consumption-chart-eth-pos-label"), - amount: 0.0026, - color: "#C1B6F5", - }, - ], - }) + const data = [ + { + name: "Banking system", + amount: 239, + color: "#C1B6F5", + }, + { + name: "Global data centers", + amount: 190, + color: "#C1B6F5", + }, + { + name: "Bitcoin", + amount: 139, + color: "#C1B6F5", + }, + { + name: "Gold mining", + amount: 131, + color: "#C1B6F5", + }, + { + name: "Gaming in USA", + amount: 34, + color: "#C1B6F5", + }, + { + name: "PoW Ethereum", + amount: 21, + color: "#C1B6F5", + }, + { + name: "Google", + amount: 19, + color: "#C1B6F5", + }, + { + name: "Netflix", + amount: 0.457, + color: "#C1B6F5", + }, + { + name: "PayPal", + amount: 0.26, + color: "#C1B6F5", + }, + { + name: "Airbnb", + amount: 0.02, + color: "#C1B6F5", + }, + { + name: "PoS Ethereum", + amount: 0.0026, + color: "#C1B6F5", + }, + ] return (
- + - } - interval={0} + + { isAnimationActive={false} > -The chart above displays the estimated yearly energy consumption in TWh/yr for Ethereum, compared to several other industries. The estimates provided are sourced from publicly available information, accessed in May 2023, with links to the sources available in the table below: +The chart above displays the estimated energy consumption in TWh/yr for Ethereum, compared to several other products and industries. The estimates provided are sourced from publicly available information, accessed in June 2023, with links to the sources available in the table below. -| | Annualized energy consumption (TWh) | Comparison to PoS Ethereum | Source | -| :-------------------- | :---------------------------------: | :------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Global data centers | 200 | 77,000x | [source](https://www.iea.org/commentaries/data-centres-and-energy-from-global-headlines-to-local-headaches) | -| Gold mining | 131 | 50,000x | [source](https://ccaf.io/cbnsi/cbeci/comparisons) | -| Bitcoin | 131 | 50,000x | [source](https://ccaf.io/cbnsi/cbeci/comparisons) | -| PoW Ethereum | 78 | 30,000x | [source](https://digiconomist.net/ethereum-energy-consumption) | -| Youtube (direct only) | 12 | 4600x | [source](https://www.gstatic.com/gumdrop/sustainability/google-2020-environmental-report.pdf) | -| Gaming in USA | 34 | 13,000x | [source](https://www.researchgate.net/publication/336909520_Toward_Greener_Gaming_Estimating_National_Energy_Use_and_Energy_Efficiency_Potential) | -| Netflix | 0.451 | 173x | [source](https://assets.ctfassets.net/4cd45et68cgf/7B2bKCqkXDfHLadrjrNWD8/e44583e5b288bdf61e8bf3d7f8562884/2021_US_EN_Netflix_EnvironmentalSocialGovernanceReport-2021_Final.pdf) | -| PayPal | 0.26 | 100x | [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]() | -| PoS Ethereum | 0.0026 | 1x | [source](https://carbon-ratings.com/eth-report-2022) | +| | Annualized energy consumption (TWh) | Comparison to PoS Ethereum | Source | +| :------------------ | :---------------------------------: | :------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | +| Banking system | 239 | 92,000x | [source](https://docsend.com/view/adwmdeeyfvqwecj2) | +| Global data centers | 190 | 73,000x | [source](https://www.iea.org/commentaries/data-centres-and-energy-from-global-headlines-to-local-headaches) | +| Bitcoin | 139 | 53,000x | [source](https://ccaf.io/cbnsi/cbeci/comparisons) | +| Gold mining | 131 | 50,000x | [source](https://ccaf.io/cbnsi/cbeci/comparisons) | +| Gaming in USA\* | 34 | 13,000x | [source](https://www.researchgate.net/publication/336909520_Toward_Greener_Gaming_Estimating_National_Energy_Use_and_Energy_Efficiency_Potential) | +| PoW Ethereum | 21 | 8,100x | [source](https://ccaf.io/cbnsi/ethereum/1) | +| Google | 19 | 7,300x | [source](https://www.gstatic.com/gumdrop/sustainability/google-2022-environmental-report.pdf) | +| Netflix | 0.457 | 176x | [source](https://assets.ctfassets.net/4cd45et68cgf/7B2bKCqkXDfHLadrjrNWD8/e44583e5b288bdf61e8bf3d7f8562884/2021_US_EN_Netflix_EnvironmentalSocialGovernanceReport-2021_Final.pdf) | +| PayPal | 0.26 | 100x | [source]() | +| AirBnB | 0.02 | 8x | [source]() | +| **PoS Ethereum** | **0.0026** | **1x** | [source](https://carbon-ratings.com/eth-report-2022) | -It is complicated to get accurate estimates for energy consumption, especially when what is being measured has a complex supply chain or deployment details that influence its efficiency. Consider Netflix or Youtube as examples. Estimates of their energy consumption vary depending upon whether they only include the energy used to maintain their systems and deliver content to users (_direct expenditure_) or whether they include the expenditure required to produce content, run corporate offices, advertise, etc (_indirect expenditure_). Indirect usage could also include the energy required to consume content on end-user devices such as TVs, computers and mobiles, which in turn depends on which devices are used. +\*Includes end user devices such as PCs, laptops, and gaming consoles. -There is some discussion of this issue on [Carbon Brief](https://www.carbonbrief.org/factcheck-what-is-the-carbon-footprint-of-streaming-video-on-netflix). In the table above, the value reported for Netflix includes their self-reported _direct_ and _indirect_ usage. Youtube only provides an estimate of their own _direct_ energy expenditure, which is around [12 TWh/yr](https://www.gstatic.com/gumdrop/sustainability/google-2020-environmental-report.pdf). +Getting accurate estimates for energy consumption is complicated, especially when what is being measured has a complex supply chain or deployment details that influence its efficiency. For example, estimates of energy consumption for Netflix and Google vary depending upon whether they only include the energy used to maintain their systems and deliver content to users (_direct expenditure_) or whether they include the expenditure required to produce content, run corporate offices, advertise, etc (_indirect expenditure_). Indirect expenditure could also include the energy required to consume content on end-user devices such as TVs, computers and mobiles. -The table and chart above also include comparisons to Bitcoin and proof-of-work Ethereum. It is important to note that the energy consumption of proof-of-work networks is not static - it changes day-to-day. The value used for proof-of-work Ethereum was from just before [The Merge](/roadmap/merge/) to proof-of-stake, as predicted by [Digiconomist](https://digiconomist.net/ethereum-energy-consumption). Other sources, such as the [Cambridge Blockchain Network Sustainability Index](https://ccaf.io/cbnsi/ethereum/1) estimate the energy consumption to have been much lower (closer to 20 TWh/yr). Estimates for Bitcoin's energy consumption also vary widely between sources and it is a topic that attracts a lot of nuanced [debate](https://www.coindesk.com/business/2020/05/19/the-last-word-on-bitcoins-energy-consumption/) about not only the amount of energy consumed but the sources of that energy and the related ethics. Energy consumption does not necessarily map precisely to environmental footprint because different projects might use different energy sources, for example a lesser or greater proportion of renewables. For example, [Cambridge Bitcoin Electricity Consumption Index](https://ccaf.io/cbnsi/cbeci/comparisons) indicate that the Bitcoin network demand could theoretically be powered by gas flaring or electricity that would otherwise be lost in transmission and distribution. Ethereum's route to sustainability was to replace the energy-hungry part of the network with a green alternative. +The estimates above are not perfect comparisons. The amount of indirect expenditure that is accounted for varies by source, and rarely includes the energy from end-user devices. Each underlying source includes more details on what is being measured. + +The table and chart above also include comparisons to Bitcoin and proof-of-work Ethereum. It is important to note that the energy consumption of proof-of-work networks is not static and changes day-to-day. Estimates can also vary widely between sources. The topic attracts nuanced [debate](https://www.coindesk.com/business/2020/05/19/the-last-word-on-bitcoins-energy-consumption/), not only about the amount of energy consumed, but also about the sources of that energy and the related ethics. Energy consumption does not necessarily map precisely to environmental footprint because different projects might use different energy sources, including a lesser or greater proportion of renewables. For example, [Cambridge Bitcoin Electricity Consumption Index](https://ccaf.io/cbnsi/cbeci/comparisons) indicates that the Bitcoin network demand could theoretically be powered by gas flaring or electricity that would otherwise be lost in transmission and distribution. Ethereum's route to sustainability was to replace the energy-hungry part of the network with a green alternative. You can browse energy consumption and carbon emission estimates for many industries on the [Cambridge Blockchain Network Sustainability Index site](https://ccaf.io/cbnsi/ethereum). ## Per-transaction estimates {#per-transaction-estimates} -Many articles estimate "per-transaction" energy expenditure for blockchains. This can be misleading because the energy required to propose and validate a block is independent of the number of transactions within it. A per transaction unit of energy expenditure implies that fewer transactions would lead to smaller energy expenditure and vice-versa, which is not the case. Also, per-transaction estimates are very sensitive to how a blockchain's transaction throughput is defined, and tweaking this definition can be gamed to make the value seem larger or smaller. +Many articles estimate "per-transaction" energy expenditure for blockchains. This can be misleading because the energy required to propose and validate a block is independent of the number of transactions within it. A per-transaction unit of energy expenditure implies that fewer transactions would lead to smaller energy expenditure and vice-versa, which is not the case. Also, per-transaction estimates are very sensitive to how a blockchain's transaction throughput is defined, and tweaking this definition can be gamed to make the value seem larger or smaller. -For example, on Ethereum, the transaction throughput is not only that of the base layer - it is also the sum of the transaction throughput of all of its "[layer 2](/layer-2/)" rollups. Layer 2's are not generally included in calculations, but accounting for the additional energy consumed by sequencers (small) and the number of transactions they process (large) would likely drastically reduce per-transaction estimates. This is one reason why comparisons of energy consumption per transaction across platforms can be misleading. +On Ethereum, for example, the transaction throughput is not only that of the base layer - it is also the sum of the transaction throughput of all of its "[layer 2](/layer-2/)" rollups. Layer 2's are not generally included in calculations, but accounting for the additional energy consumed by sequencers (small) and the number of transactions they process (large) would likely drastically reduce per-transaction estimates. This is one reason why comparisons of per-transaction energy consumption across platforms can be misleading. ## Ethereum's carbon debt {#carbon-debt} @@ -51,7 +54,7 @@ From the very beginning, Ethereum planned to implement a proof-of-stake based co ![Comparing Ethereum's energy consumption pre- and post-Merge, using the Eiffel Tower (330 meters tall) on the left to symbolize the high energy consumption before The Merge, and a small 4 cm tall Lego figure on the right to represent the dramatic reduction in energy usage after The Merge](energy_consumption_pre_post_merge.png) -CCRI estimate that The Merge reduced Ethereum's annualized electricity consumption by more than **99.988%**. Likewise, Ethereum’s carbon footprint was decreased by approximately **99.992%** (from 11,016,000 to 870 tonnes CO2e). To put this in perspective, the reduction in emissions is like going from the height of the Eiffel Tower to a small plastic toy figure, as illustrated in the figure above. As a result, the environmental cost of securing the network is drastically reduced. At the same time, the network's security is believed to have improved. +CCRI estimates that The Merge reduced Ethereum's annualized electricity consumption by more than **99.988%**. Likewise, Ethereum’s carbon footprint was decreased by approximately **99.992%** (from 11,016,000 to 870 tonnes CO2e). To put this in perspective, the reduction in emissions is like going from the height of the Eiffel Tower to a small plastic toy figure, as illustrated in the figure above. As a result, the environmental cost of securing the network is drastically reduced. At the same time, the network's security is believed to have improved. ## A green application layer {#green-applications} From 5460bd3d3a6a17c03d40fdf91ad3e5330228fd68 Mon Sep 17 00:00:00 2001 From: Daren Matsuoka Date: Fri, 14 Jul 2023 12:24:40 -0700 Subject: [PATCH 02/55] Remove banking system --- src/components/EnergyConsumptionChart.tsx | 7 +------ src/content/energy-consumption/index.md | 5 ++--- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/components/EnergyConsumptionChart.tsx b/src/components/EnergyConsumptionChart.tsx index 4667aa95a6c..7b8e6342d22 100644 --- a/src/components/EnergyConsumptionChart.tsx +++ b/src/components/EnergyConsumptionChart.tsx @@ -48,11 +48,6 @@ const EnergyConsumptionChart: React.FC = () => { const textColor = useToken("colors", "text") const data = [ - { - name: "Banking system", - amount: 239, - color: "#C1B6F5", - }, { name: "Global data centers", amount: 190, @@ -60,7 +55,7 @@ const EnergyConsumptionChart: React.FC = () => { }, { name: "Bitcoin", - amount: 139, + amount: 149, color: "#C1B6F5", }, { diff --git a/src/content/energy-consumption/index.md b/src/content/energy-consumption/index.md index 6788fdcf0b2..726f4ca5bfb 100644 --- a/src/content/energy-consumption/index.md +++ b/src/content/energy-consumption/index.md @@ -14,13 +14,12 @@ To contextualize Ethereum's energy consumption, we can compare annualized estima -The chart above displays the estimated energy consumption in TWh/yr for Ethereum, compared to several other products and industries. The estimates provided are sourced from publicly available information, accessed in June 2023, with links to the sources available in the table below. +The chart above displays the estimated energy consumption in TWh/yr for Ethereum, compared to several other products and industries. The estimates provided are sourced from publicly available information, accessed in July 2023, with links to the sources available in the table below. | | Annualized energy consumption (TWh) | Comparison to PoS Ethereum | Source | | :------------------ | :---------------------------------: | :------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | -| Banking system | 239 | 92,000x | [source](https://docsend.com/view/adwmdeeyfvqwecj2) | | Global data centers | 190 | 73,000x | [source](https://www.iea.org/commentaries/data-centres-and-energy-from-global-headlines-to-local-headaches) | -| Bitcoin | 139 | 53,000x | [source](https://ccaf.io/cbnsi/cbeci/comparisons) | +| Bitcoin | 149 | 53,000x | [source](https://ccaf.io/cbnsi/cbeci/comparisons) | | Gold mining | 131 | 50,000x | [source](https://ccaf.io/cbnsi/cbeci/comparisons) | | Gaming in USA\* | 34 | 13,000x | [source](https://www.researchgate.net/publication/336909520_Toward_Greener_Gaming_Estimating_National_Energy_Use_and_Energy_Efficiency_Potential) | | PoW Ethereum | 21 | 8,100x | [source](https://ccaf.io/cbnsi/ethereum/1) | From 15f017e3bd2fd99b59856035130ac7998d8b9386 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 9 Aug 2023 15:02:31 +0200 Subject: [PATCH 03/55] update Modal interface accept props for styling overrides --- src/components/Modal.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/components/Modal.tsx b/src/components/Modal.tsx index c6d150494f9..745cb64c074 100644 --- a/src/components/Modal.tsx +++ b/src/components/Modal.tsx @@ -5,27 +5,34 @@ import { ModalOverlay, ModalContent, ModalCloseButton, + type ModalProps, + type ModalContentProps, } from "@chakra-ui/react" export interface IPropsOverlay { isActive: boolean } -export interface IProps { +export interface IProps extends ModalContentProps, Pick { children?: React.ReactNode isOpen: boolean setIsOpen: (isOpen: boolean) => void } -const Modal: React.FC = ({ children, isOpen, setIsOpen, ...props }) => { +const Modal: React.FC = ({ + children, + isOpen, + setIsOpen, + size, + ...restProps +}) => { return ( setIsOpen(false)} isCentered - size="xl" + size={size ?? "xl"} scrollBehavior="inside" - {...props} > @@ -35,6 +42,7 @@ const Modal: React.FC = ({ children, isOpen, setIsOpen, ...props }) => { border="1px" borderColor="border" borderRadius="md" + {...restProps} > {children} From 16a295ca0ef537d7a79962696d0e183eaab664b0 Mon Sep 17 00:00:00 2001 From: Mahendra Date: Thu, 10 Aug 2023 14:18:51 +0530 Subject: [PATCH 04/55] fix: margin top and bottom on mobile menu --- src/components/TableOfContents/utils.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/TableOfContents/utils.ts b/src/components/TableOfContents/utils.ts index ba84fe0b336..d72f074411f 100644 --- a/src/components/TableOfContents/utils.ts +++ b/src/components/TableOfContents/utils.ts @@ -40,8 +40,8 @@ export const outerListProps: ListProps = { lineHeight: 1.6, fontWeight: 400, m: 0, - mt: 20, - mb: 12, + mt: 2, + mb: 2, ps: 4, pe: 1, pt: 0, From f1226bd316079f65ae89cd27126352b1c1298889 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 10 Aug 2023 21:03:17 -0600 Subject: [PATCH 05/55] fix image and link --- .../refi-regenerative-economy-diagram.png | Bin 308704 -> 112724 bytes src/content/refi/index.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 src/assets/use-cases/refi-regenerative-economy-diagram.png diff --git a/src/assets/use-cases/refi-regenerative-economy-diagram.png b/src/assets/use-cases/refi-regenerative-economy-diagram.png old mode 100755 new mode 100644 index 0367c63f7370b2e8429bee02e47fd68090eda1ca..a477db1759728edbd7a48b5d3f5e5393e91b98a5 GIT binary patch literal 112724 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 literal 308704 zcmeFZbySpJyFWa1hk%k&(#xXnnJDB(~6d&;fb5l!z(!bW%go$7V9t?E#A z>l)S+&KQ+TFahk(_qY?HV)!JNan$N&ryDihEcC!^l??t!nQq%|Vh$gn=oDnP7*VL+ z>IalW1@}iLJ|R1I5Zg>O_}O=Wtn8Dbak{T ze~PIP^5kjlpNka`2m@)Qq@<&+r1USA07f!>;$+mihQ!Fo9b!e+Fo&U<1JR|n?SC--j1P0~<)PMV zW)C9b3dz%T^VHTi^RzaTM6k-q5=whW0R(K#UEs_fwl;RoQXVp_H*}?d@6nG1S($H! zxLC`u8fxhVj8CFXd7Y8XpL3ej| z0e2Ard#9Iz!jh7bf!79eZ}N7||40FlhoA@CK~PvgNYK_+@IPlbyQsJUME=>(|8a)1 zKH#Z>Fmq>nS0^)b6*qG`mwW$70%7*=`3|m5HaF}b%mmGC%x!_8&cLd||82RLMg zo`Dv@ODkK4n^}Oc|Jz6xD~taU)_>a@`jZ=W{&OS1^ncU+Z=?Uk`^{irl$Ms1vb~ur zdVA{1GOXzJr4aUJRtTw^ZzaV=g@naL%=qEr!e;ysAyYGcQz5t+zl1PETu4k@++0*x z{69#k+c~?y?aa*4qyXXqRsbD@1VmCu+(L+77;b984>6Sx;Wrfp3-eoum_sCmP2r~E zX8%dzp_3J0m2jK?+!dM>0w4t!6%!Sa09)|G5fBkzH`O6Whv+as(jUjKiMM!OHQ^k1c`SvdpizrK0&*QfN%9sj=j`_{(l z#+jIzZ`?u(ZuXZ2XSka=;%1)!t-l|cS;FmJngjUpkHP-yxz+!{7{txY&Bef`aDEYS z2~mECq$!wRLJ}^{4*?6oB}^d}2#AEmf2ZzjZ{gw&cQRLa3CIzU6=0w@vSQ}?M^)Va zeZ0G+Ia&{Z$oPfC`2Q_3Q6W~rf0z|SBgVhDl@|Pe$wT^Pz<)ptFz@d(0J;Dq6#O?7 z{v$6m==@*&^N$|>FRlQP{@+FZNAmq&as98j{znq{9}WIr>-t}D{f{K@KN|eM*7g6J zxCsBNm@>BmG9Y)LRMN#Ra|FsPTvLq)%AjlX-#4wr3BVHq2el{8AP^BH`U?Y;o=F2d z#B)*CQo&otWgwsuW^H!31c8`A>dFfG9y8mmwhj!heHTwI-G@QU_yQTt^$$Hw_vY1Q z=QopEn^zaISu<*5Y`C?d-A`eqFevs&%Le`jXVXXKyMjN*|u_o z(Lw-w21UONKz|q?)eRCW1ojXLq_{ zH2u3!Vt}Fu3lbxs7Nn?7Lm8xaX{7g^fEpk9%;?+M0sMDO)bq;SduJc01f=J+=D##5 zQCCjyF2zoQ9VAi&gfvKMcceBmsztsQ{2^8;(=^JdiCw}Riw@VK#iT)`FzpmsdvI9SmT9Ed?bAkNuoUS~ZPSTK=@N^qJX&1B zo6J;w%fAJ@@hAjv*wNA|y8Cydnw+z@v0NvSxRfvvGuSAsu(?wc|C7Z52`OYb??s&m z?*k6AbGjPhi9riZSXlwD10z%|qk1wfh)V%z*N}QkaM6=$v=9I!!KFIV=uINP1YX?9 zaM4eB6p9wV$aEA(6}W=fjO6RnwAs>}PWUMcRhhX8Z};^R>G<%B8%O@KRcoM1Knsud zB^Tojr8Z=#iUFZ5?phVxbQIr{d&aV82#ICvtW$AclPCUrOH9ye!H*0SIB_*M_5GXp zc(>ZjXV|bB#8hHDnhrOZD)#18)}6mL&1j-KxWEXBg+WgdyR4BBt^$5tdCe?Lo8)XP z4{o%^no>`6_-Hjd=XkRP(SN4m?jPnAJu6$xd)w`~TDqDixMLBkGN1xJ+M^$o&qrXi zCB-Mc$B;ld;dRz?v)%04=AYerPrTnCgv?_)Frpsm2@&cB3o`Zp5nd&qxwmZdLuj zy^alFOuTp$embOX`fgPs9{ipQE|U)jcUs0bkXxx75~nQ##Yl1>BOkQF`mif z)57o1@=D=ruYD7Kx~_8@9xkSLvxxFPi}1khRiA&%R1<+#ARbmcz0c#&d%Rw73fz{<_l2`%`T;xWWsl#kNnv+toSAvpNk@a+S^5gp=Bd*UYg<3)g6T?RD-J-sgrFNMgHciF6|dcvr}@kn9i2uZko^Ej(T)ou zQWRlE5(L!7X)<_H2tR6?<1=t$33M@j_8QEp@Q#2QrfjUS+&Mmub3B)u5k9w2N6hf0 za4!eeWz(#EZn3Q?+G=COdhB&i1F0GhYYz})DjRH5Qh0(qdHX1Uqe7mf+>ymZ$ulD} zT?;TdV(P#8N}Q|b8F@d5%A?>z*{U`6!-bSsHF=WZ9ibRn^_ZoWr3;~*Lz~$vYwe`i za|mvsxgs{3L}n!z_X+2{S(JmW z7z4D5g`A|k5%W!8l^ok29)W3tU1mUUY;rd~ih|cX7uIp7&Ofk{0M#*n!iAD#m~!Lo zKDB5vM22gcC%90s3Tw8jH;|`~Q-x_(+&TSlkUUM53}7~_RTbjcrlOxtyHHNlu9}{T zsOp+RKu46KwLk=4XbP?Dt01Y8}Qqa?YI{Z3r#NSLJLKF%J$dt zPp9$osB*cMvrB z8KEf`r_ku$5AEyck|{k8Aq^p6A7Jb}vB8(%q7@sg$Md&B+a8R=@gt`Plbgg z)l9*Bi!rcxs(4NhyO}YR0@;g?1Kr$c5M#Q*?mqQKdjsY}7101XP&bE{C}Yqu_6jIa zIPU3O06FR4n|@`7y?C6@;w*(}0b#``h7FNxQyfJBtOka+d1b#^U6T=%z-F^@J$)RmFm-hzMI%tUdjCouw61V2 z;Fs;GL+Zv)V8eAd0VHbnluf#YedzRn^{)UbA}=BWdJ@b(G$e8`GXMrkv1Lc(G}vjv z-P2$aH5SPi$x$$TVlwiWq78>d;NBMJ>$#I$=!4F3n5r8KPydTRp8kr?l%Lx~>VVPz z_2(Tngc%C4Ots|_A1}<%DFmwM*-1w%7Es3|nSh&h0SYZz*JyiwSM?nH{Ph zC-DXRzPg=uO0dA0)RVs5SBEwda@-paKMB@f+s?2Yve8ilVqDst8~JDoW+7Gz@xGQW zir)l90#7ibo-%gOi-I}Ri0a;-f>fceBC07u6lusM%H7Pl+|8@@g8T1ICdj*p6&BGG z--S`=os&WuP#tn)0)^(GlP^mVn7(V+m-h_P>Jp#%8?S*f{0opSENfEiK%hja-`IKI zA%77!{cPjQC*)6Y(i=eByq81*oAO~i-i=t6$NHSg^}M*G&#~B3Q9>+`B$|otGiEDG zo`BRR@hC)$OL`})od8itw0vJn_la0$X_Dn^a)4@oMAEBgTdwoeW$ywx>kacrZp5v3 z6PHokhJ5vhHkoeI4bO!~9QZ9~)>8d<9w1AdHii02yuOykMY;2fuuugHu{hkJc*IPp z)izobT~y$LA&pEFK-w#Hs$hMYDB!wB`y{--&sXkYY6SMoVD&U*JP=EEaFtI|QxsOrHoX(Cf0EwGi;1x#lNc zwS2kTloqyTJJ`N#)D*@e8h`Of4XZ8cs4S{*b4FvN3y;P~;QQ|hZ>C_Uv4CH9PaQa< zB&QcdYR1;>AKf~Rn26rek5Ic|mJ%0jTc~~of&vxGbBa!@i8jNWrh`RGIi!-w`R3q{ zvP;oi_Hm#LFgMhy#?K7pxg{!GQ?p(q?UFuLH61E+`qYxNz+riFtMQHZ#!92_AU3)B zXB~?W3K1S3va4u)fo4$VQVvA|J}e>OQH1xk=^8fsOqujE&y12`E#t~5JbOOY^qA+t zg5tWq7D1O_Al-?gya5Uh69sF7H=7zLLu`|-l%HG|^m_N`Df4t+Z0hArf$BJTKBw|f z7m6yEQjv(>a$w%40djGNHw4seKibFVhvJcJD<`_BAwJO|gBdjPNZyriu&4_|V&pAL0d-eF9tj3DkWC?pHpHao&0mX13cD|YGYFvE@0ev? zWAF%Dt+`a{`h62(myA)Y@v+n@j9n}f3;n98ME9%0JWu~=2ugz-B>g(_k{Qqq70FFt z!!h<28~2$M(o!Ww}k9wAHvFQFPZX{zuxV!+04_LZLdl}PH6Qs8QLfD zZz2lpO)#P*@o740MhY5zpOQB^#z2<;uDp$@ktYPOnT--Osz^D_f|oXLm%v3+M!jCS0STny`PXnQCDr~j zYraoFat7x4t5L=zyOwZu!9s1);3taix7Jy=AAd`o<~mdq=BBNMA{s%NZy-`oL8lH) zHTS$k#5YCold|WBrDLPycSH%AW?zm$3RqSOr!pgeEDI6#*I-F>oA#wRUh^F7dy1<1 z&_(jRSXmp>&G~@Ap6>#JV|m~k&uFfa$77x0_jAz_e0;hAwq;*9&q@V6agy_())GiZ zChz3KY#KvmhNR@20oAYK+&~43;8hXx{1jhqk5epThyb?OQa^v*^NAi;g0v0H+yy>0z#}mg)B$CEE9f0C~Mj8qMzJPb&q95B{fE$0^B@|>G4%D z84QrzReJTEeVTeFy5IB53YOI>?kkbfZ}+HC*MF9 ztowWaH)Z>tHV&(kJ4A_5U0#=Wo3=zB6OKIvC(ls))92uQHvYV(>$dyWFjs#_>`7_n$c*8c31f!w*cn!fEqofm~^8-!*C?RzV8!b zj+X&Yw5+`pNFS^|+ zeXKkUxq}yv+kS`L47ajaX%dL;beg9^%nw=nFg8NC z;*t#t0s&bOPw^(KDry?`m=_*qEm>2WcjXprAHPo9prwsabAB_N#d;JT1+A$xNoOm7 zHow5D!VVDC?grH3#PC<&RehRjl2|aCyom;pW7D#0ME=&~6xX}krjE2)BaF%r@aL&b zQO6BBt_~!UAUBP?6XfuM0Dqu+Q&Gy_;SKh5mzctn?f{@Mc+toI0mhj@H}b(Y^7}INVHRUXZQxHOgdd zyi3j?xcGRcg}%&vElVL5QIXVN8l`HuEZaVG1L}C4?n_;1TdRn~h_~IaxZaEHh!hKI zg$)%&JA!dm7K8KObl7|#gNcFq(@-7&$u>i6f&UBkf>mt{qo~Twa_ktyr&Cj_Nk~$$cOt_GF!hxJFn9i{lTUQUx683dsD$@R;x#_{xC+J)0W~acDe7Z;X zT0h4<{G2UDK+B|hPsf~A42a&3ZuoI2ewX>QBKD{%)iELZ6@UNc6s-=>tJ}gZ{nm1cSvvV^)olqj|#VxX%Md zG%dgXq2i!^E{|KOy9}wM>|k5Bj1Xa7W*feGzd9KmKfeE>M$Odr87}GiOb+$D2s7fq zlZE88!xgiiV8J$_4MVxhGiuXwH>jW>@jiJQ3DXzlVzzs?UgPu%evUa;iUB{Lszg#5 z1|5nyjxNy5uJh`K@QdqYJh>5urr?dsKfOcz2uINvchy|prgQRJ&m)u4-Wq%p0+r-w z&WEBLUJz~5%|n?%OcRB1e$5x2!l=+{^#Rb*U?|8)tziU7#64HUka^#QvT|If6H}f$ zwT9Ph+%5RdbJ9;)=V_00sqtGT#y>?BWN$MwBFF2D6$9vYVwX6)k7}P*`AwKPE_Zy& zT*ee|ka!9B=Hcg}ZmP~OEgC%L&jcD>GpV>NrO?`y@V=GZe10{1GlW&2FI&O6G|k@F zS_$zptu6~DAni|s-pCxAsF7fE(PI)UoX?M={#l?#*Cu*fm^Aqn@tx16W_ckU-5Ld= zju@~0{H%;l zuHMH7I@!PymnU}awwG&bN`d2z;7^Vnvx$=Y?T2illz){Xms~-Qn`}-z$O_>%VwOUS z89|qpcon^$XwlT*guyi}5z#xzcO-j^y|tyB_^=#NOpt4!A5p#GLsN)_Pmd|!eMU~9 zt;f?teF`MTQpBJ;NDFy<5uU}QABjiwnHHVPf)!AT9&GdestkewA(_$w=hO3g!pjD1 zpnZk+Yp42QQPz9D`dWo*xm)Qv)*j_G&n9KA0T%6i=?F*&4PTW=S80cGx{lNwN$ zf@Qjc^V@N~t7Y9xe`cF2OjfvX7m{8uk{TDOD%p4*CD|*~zt=&(ENou=^Eld!>{At4LHk;@4>3?Hdorj3If14u zkW1=TRDuq`1$DA+m-H7rg^Z)9)GFirqR`oIl|of4pE!C%zm~xKk}#7s>IYRe#0Ff8 z-w{iV>QVF{Nh(-Y6jIaY0uo7)d+niE_Fq&=;XTksL3#BW*8V>{o#37GOqt{wwZh$) zS$c4Kyv%kR>QbxcQQ=hn))UD-Grb_o3VD+tOdx^dxakI_A$ojFH1|p;1PToAdM@@9 z;O{(cz)>H%bxcOTvEOv(&68@UPr4eaALI<;ZGd)bX+OGaTnD+(;^8J(e3Z~Ks6*N8 zL!_9>6?6JnQ5(0kFCHG7b-KlWG)AK}{7G%X6>3+;cG;lysSRjXCMC11Qeab}038va z)2==?@Rv?u9=u8y!#~kQiA^6T%+EXR=b$C|RK>w755qqzS(ISVz@+>wIE!9~`mp80 zMc28h`>DvaO78@qY=$IX@wn##&488Eh`Bm+7ohC@*?{ozvL#yq&nMDrwUoN=&OJ4; zrV?Qx2~~jAzC~vcD0Nn<7{3as1IyfVjw__lO?m^T{sb{2CQgB zP4dA~O9&=JF}CQ%#WzpNX^^t~Mz;o&g|=u#^>;6}Xw|0>LGj+Q#|XKg7h^F`x{^`4 zuYPkhkrdF@Qz4Ax&z-Vv7HxTRvnVrE!t^bN{)5e)PozZ4%Ni||{i>VtuYS^`_(m_2 zr;a9RJ>c%C!ZT~pZ+oZgSpZH%sWU^>IxF*p*X2)$E!$|laie(d(k8vs_$YOU6}(0C z8b>7=700Lb&?d%=5KM)_q-mC`0Axy~gl;^qXyy@HMIp`h7NWbf#8nGFY4jR;KW6!K zr$<37<`IO0-Rvi8eS^{~{4|%m6N}UsW!ihmaVzYsd(Uf_TL_W(v3D=4FpTX;wbFsW zvo&KnxsbGy9H_r8t6}zJUICv)4^4~w&K&s`r zH0|{!zw1*=hyr@&x}`3LHER88YL1rb_b!gZ%n=ZUrj5es<#oGj3fK`Sd4WSs&=0Nn_mzL(06qgRTwim zJ*goviBwlrIb{RHGfXaTYKFZZV#`3as^@_fofF}mFBscjiA4d%; zTM+`GgBya5fnd_8e21uW?MG64h|m03+S;1>sPKyVujt(RdSu+T?0z1o)Bw{bkR=kDI{wDo~BCKRTPN?*H1XB)OCTI zp#Wd2)`sfsN`raDoh-{O7e5N8R4kK;y60F`spl<(Hc=|HVmC}--Y_+xUSkk2viPY1 zzxT!31ney-`@F|+%^T~-O<}`{pQ;*?xTpm%yR=0AmaKI(n^q&uG zSh|MOp}QwCZx5FoU;pZ1Oj_4lhX04!Pnw*HRK|FX*jg6Q5t%``-jKyr4TH-BT!BS;%SF7!b|hwBVY~~>FU;% z5de@vZgDTko7OtCvgA9h7q-P(w;4S+ON*YP%+h5KNo$hpRoLLhI1|8@#{eRDR}i`a zSM{Wjw&>J7vS+ZBJgP2&;VGGh#5GBO@wL%@)5Ch8LFp!#6+;nyyX_VM3l0n2o$*xQ z6p$<*@+^sz`W@TFzZwV|&m-P3b_qeNo0H(Yxn6ij2Nt=5RZ8JJpwoq~ot$C-mJQut znJzhDuOrt*<3)0~lT4xain?2u;Y&GrtUK9?#THd@VJdu{I zfTvoeu&CfrMFTp`rPKNnLRo;pyWuA>*uPtA$v&+s*T*Xp%hW}ONtpyMwohn(x_lwu zb73_(_?T$17LaZa6L?(7H^{&J7Uv~kX8H$bvXly)x zx_;-C-;ZoQpqDSEcL5F503s-s$9uPh*H|&8OjX;90pIWS3P0E6Z2?ZT5nr=QfMSq8JMutD;KjbOTbTQZ!)xZ(#7C|~~vY|EFo$)E2h zFL?v8amDws$=zSkD)=m%GWtMAx<6UD)@komh0*3A~lmwfdT*YCP(*@58_GwH~??$PE4oI(tf}Ol)c_T^SW*vVQ`I{gI02`7Pf>F3^cB?Z#0SR;L zjsQJIM0>)h#vRDD7`Eo=_pK>{UI)j-Nyx@V8}(@O^7RH#pYmSIk_z~{ChJfts=;;m zRXQ<57wmA#1mWM(IofpVLYYp1QzV){@P`W3L~Yri{O^Z<_HD+g9h2sv*NmG0*M z8Nz*09`hr0a!+|1UO;}M-tRY#x&kImDDxudmDUTsOwoI+rx6|6?^BMcWjr8e#dTNB z_OASgNSn96qLuMkf;r+*O)uqtr(hTG#`uPeu1X?QNIt1wub5Zku;GmW<$tdd z9$=rc+DIZ<35&$e>fcrA68ZeaU)XKcrh!aDFN}nH(m4V3>etj(-?;+1MFou{KcMqW zf@{nvw6>%Ty2a%Cw*ZG^hbJK55{75!+9Z;k!q*0!un)O?@~`*8YrlPZpt^h&A;Ys= zvMa8s>OvWFb{x0e=&;$m-E5pFZ%!);Y@vZopW;BOW{02=!{cXzWvoTuf#X2cZ;Ajj zZszH00Da?`0LqFp+@4Imx&*x|hxQBx;KQ2=;4rRpJH;2bTmQ5OAXLinu>;aYb1-%^ z< zx*rOC{5(d=&hw{bJ3;sJy{qucTu-eSRvg-65xxTdMBb9mZ>gaN^M037$Oc@N$v0=^ z!LL?;US#84OaRK#!^J_9E%d>X7!2L2_bDRXsPLpN?m2ws4!9fE0NtN&j}jhi;EH8ADaNs5YaP)>k#(FMIzD{ zm9L@TM(MxbyVL)yQFHsz$+g|AER_SO@lgq5B;Q94q~<(47Pt%)2i&o+ys`z+Op_;S zOM9%)`QN5`C}Afb@ilk1+-5x5u8QpObbXvAX2_vQdl1XSHOH$h&r$rV*Al$aAlB2F z(A?KTBRb#79IH!8#}#k=S(H{Gt|Y4*$F$-CI!2cobEOiI_1= z^A#(2svRjHY{o&Ir_hGB^V_`%Th`oXrYtHP@0eC$7WMaSO259tGkcHe3TjN&psUuy z6d9gaGr8FEk#8tTS%9C3vLIk+u+XF)bx2<8Ofm?)^c&MoX181Vjz=%K9r>bDSIecs z%RNL2vA+9^!{U_&tyYl*w*Kex4zISDSE1aFcKq<|uvW6K|;$$+6)C!vTT zFE*bY?+&{Z969*Sdd}piTY~*&>@|0MRlfd&XJ23P1p#}$<=JJ!5_aHE3<8W%x5fQg zrK+8+^_5v34C!Rd3T%d9EF^C4@BNYAEEv*<(h_YoNipjk`*hyI@w(*1qJs@oUiy^P z7q?KaE)F((CA2YXp7?YfSS$7+(Dz`{7+I_93Fe=14~0Kp4<8lqetqwE!isP33KwqA zp}0)*M;wMKQf@IrsFrHMgZn?;>oN1SmT4`+3r01 zIO$0XyR`Xz64;${C-aT_u)4(jZ>(I;5|SLN z!|piJHp@CT&odIGf8-1fD|n?Ck@xyJ7x(i`ar0HP&940|2Oomoa^Th5F`?y=rLKC- zF73#lpM6DCURb}rIj4!uhpWlEEney3t1UK1Xt;eKAC?@fBw(TRF}w$qm7JN6_#H{f zCyDeP&1*^gV7Z*|ZHU<=__$2edlfo;sC2uX$E7ko-fl?Il42}mx}?-^;no+gEk7*T zw>^59NsM3mRU5_bWfFK6}5Y%EZ1Vvu0_-RFZSsp^&WE zjXbQs*n#eWL(7u!N|?QXQ>H;iP!&R|IRH}D;x!dm{!x8uny5p~cY$Hxk|dC#P@H8o zOOd1ph#Hi4I{|#8&?TsM$CxVd5)YZlsiK@$PHlhsL+``Itr#GWsg~7WPJMn}MQHNj z-3j}6^eQ&Z3ubDvoX%e|MiQQccm0=DhhuJ;Ljy-0_*4$F==~7Ja zlw$}e$^xusn@PJnY%#3H#`Z?pkb|UvllMd7&UU<;a!OmGEhbo{jAJZ&NAdk9hWh!O z=U#-p_dB)Cn6y{OW8CqZ>+mLD=BSUYoKlm<^z+~l=wsNsmY7fFQ=ziX9}+gk4~}Fg z)aflb3ADBW7_Wxz+;BwhL}1vTkYWpTQ9ni-ye-UizB#>=CK`Jkn)2{^S?qBv#{)rl zmFk(Mczl46G?~Ra+@DLJZ_Bb@Ccm23Iwp?k3A@!LesiyOtJMTx%)pUBsn z{B`hJYv-+VdixW6nsonMDUtc(!5k^(UnJ=r0%R>H zM;W7AihTv-{jEox#IfP=DepMPznYY}iPm0hJ!p$ol(4vm-3(xIQ`~zvL^}1uJwv?E zs_fkr?{_f+yA@DD%pLyA&Y#~Gt$mIA+l~`i;!{{)tGSwj&URW5!uGFFhhWkNIRW|H z@Kc?Pfc(!GAO_u#dlrF%wchcu0i{*}DB{(E5tA+UOcJ)j(i9U*Da}^md$JD2qWky- zht=Cj6*lUc1EjFpolnJ|2KK&AR_t|D$OQ1xmoUn7YVQzi&zLpH;?1M#UZ8@2e!wTl zwk|>61vM{u&85*hHB8|A6`l5Qq)2#&kb~{edhW?_@E`_?PLdX@*?Wscf8*+V!fI)4 z(?~9cByuCwleYNQ4dJx(P1QUhGV2oQ>7WlEV}F03ds~brWc?wzX3b@KQVLnv8b!N< zWi;b^r?md=LQHwe(yIU+zRye5Tpgn?mm(;($Ba-$`eSiatD=P|CR>F|PPFSsV1T@4-9av|d$gv~z=!ZW{oeLkbS zU5H`tY|Dddg}Z(!5*=_Bx5 znvk9BR`Tn5;*+@jpW`9ZVee=DBs=ZA;hU>ytokY7_DWzo{~>%*Hu&e{X}8ue)Se`} zo{&ty<=vRxkE0^O&G}CDW~s!TJ$7as2Kfr}g@pa9Pe~J-vnq7*UCSa!RJ9ZXV4@OE zi)EnmyZGMeuVcFt4my5{-&bq@s;Ti2&|0mPUCs;NtM;eZht?*NM-%WJ#u7iTi-zsp z4(YOvUv$+3Bh|S)K3ZNe$UJDY>si(>KJJbA4K#;eI?~dD^wK-JYM_Er>=7zsYogL3 zWJ((iI@!IF@1ls-#)UMT(f^cbH<)Q=y%dVH)^|q}YFuHGodIG3+vmkolIPfNJCyol zZNr?e4*K0_K3jefZX!~y_pmyn!+=G6BxARy=Q$B>&d!Uf@T(gK< zVI(f$SznQI^rUv`ck#!0_;Xjk5Akj56)z19@l;Dt_Vs`-xZ}5ll?lELS*4yc3>|PA zaS68bWd$1e;?8@?xozE=w&rn{zDv-ZkovW2uS@nE`&sB>(D+oa&tcfZ5k$ow1~qi4 zLrbq(3mMtDttD^KDzhSlh7DC4dFweIrW9hiCrSosd zykv&MJPVKa#dKNIPo|20>^r#O9+$qJDo!+Vapj;^7p}7Sg01MpnDR0wI5!ENG~792 z@f7-Qh5g%San+i{`z(TA&67^G64JJ$CMyAuP&`_?XLHvZ`(opP!{t3$;e-!_M%LP0 zjPHr>SH`bv1BrlJ({Ns*aqoC6gRBxh_Z$n*o{7*-bwU~r8Es^FdsQezBqi@5a>Tah zMI7glX8OCXExqbJG{3D#l9+ZnJX>N1V~^oGyZ7ie#&WwQZ82S*K5&Tem}ep|nl_xXEo zJW5`_>@IbprH01LgV-w9UwgVTr`INvvLSkYoty}82~c#|&>frjFo&{#@8lk~YNg4y zbzJg#EV83Mtt%gaZooVcVD6IBk7Rks#)(8#gyNz*uexKEG~5qdJ73ekK5^uWchK+u z;=uExKiJIr8hyzExao*rjotn|(#Of;s2}6%TW_<+&OXK+Ij4P_)?25Mdv@C_AZCVLuktr!J+%H4Ka}<CAs_bT!JD{Z90a2ElVoc7oebVvYP;+F^F?EL%;dCo1F7eM=hkZ@XSd1ZRo-uAoAd!r%p*qeMKBnomT1+m2|o^$!Mt98cP$#uSs!vUo}vN*Pg9)$h$b8qLDpPHU_82uQSd zgtuqNsv9pJSH-rGU2Nb{R+I4(Ret}W@iBOSmdL+-cJcf{$?lHk7F2i(s}vTTHJEi??B~-|0T3_u8ml%h4udRC*`{=s9NkUOD0(LS(IEaMfJ&r%E@Q*+n~by-}cu zT+qAqI{;@7jwB7lfFDz!u64ovwq4sGePUK+Ar~}I%JeXzw_>~|0O_x(84OK!y?@kO z!YDE2x%KA!u-Rd2Mcm`0^|77l{`N5Ev4X2Tp1t2sCav=bN1%HZqv7VdB#Y|0joNdQ zKIzNnI|o8mUHl#ZCnA?>__UjFplcH$9|wy$5qL84XI723yaMo24F*-cru$hfv5^j| z?WqK2xyvi|SC-V&^TnsLOmYFbzjKxHRy8){nW-+9{N#TpS!zC%#-y9kD9;)fDUo%@ zz5jAu*T)XyOX-sa^J4^C0lvQWC5^z4FK$vJQ>f^L^w7cdDk}ZWuo+CC2XCstM=-7A zJ=w?Dt?@lm=RNuo*~?wS?UW3`%a?|)&+2CwKSE_@#(#~KScrvL7-Bk2QC2k{`SB^9 ziH^r2QMcrQDwmdD1uE&rTmHpq){~$Se(5Srw4BPJ%48Vn?@K}zW7f495<9%dv@GZG zK6G-f__T8YF7nwhaBG~V{}c14jr`Y=XJo)HG||GW6OMhiPHjRTV43-{AHuQ{_{0-X z#_tlK(lwGjqOAJyBCPw_D=^qrUh63s4Aps*<4c{*l6Xpg*}Y}y z>GlU(c(&#h`;)yl&WpLrnq^;<{%I$YCi*fftp(@fwjFFT`d*F7%6{}i*18IkM|9}W zfSLqzm7YHi@fYy1>}XG|@-yQueDC>q@>g{2@6-Hs?UhAu3k*OlX%=jVK%w_f3~L2V z_7B$`;kzpOKl}*$s}C;|jq9UoV%hPtLL#@W+^ZTd)=PH%=qvnmQhR-W7hW3`GCnIp ze!TolKOXNHRmt{@6Q1*D&eRYSmZapqYmj#2M%DNy9gPPgq}0Hfo=qo$rTcrIUd*c{ z^`~TSwg<{C=ou2O3$|L2_c--qaek99t&_cKINX#4_>p}fRU)oY)a4u9lsIyECys_U z=UWi$XME+k*p>pJ)5n4p!7oG0C&r$*epf@>fA*b;=9ZC~v`Kn$!Gpi$f(QP**8lPO zH~`{EKuel`E3eh&erhs_C3(l5{>jIn54|TOBihJ`vvGq1y#K_QZ%u? zahCJ<622!d?WS)by@3(7aGkEWHf;r zaYEd%0b$z`jc?;+;|Yn5H9Pcao}IJ06~`a(e|?e)UO5%sJFA*2_UMvnr*oIE30pACCEKNeud)@FMK(2g}*>>hw)U$Z@t0E{)s`jqyro&{2% z7Bp{5bWaiWy-f(eJ6O2}wTS=CX7dbJ+6M>oF`@7r0AvB7ct9#Xpsp1Fi^&RYLZnD- zOTSTNsm2QX*|>|x&VVPqd1A+2z!hw^Ecw`a>D|Me@Alh_--(*>6kb&qQs*zS(%$M* zLyq0Dg*nZp_TsJoaJ-(AzH(Zo%1#tTvtdj#!@%>KqayPRZEGu?+k@l*Hi_iq``IYR zO|Gt=x56}-U-axu$f>wqXH3n_cl0FeEXy$ZU@TsaU6*;v^sH{qzoq=GZ7+t#7dkRd9=xnj66RT*QB&b!L12;*0Y@Si;hH)< z7*ivy<@Yos-RKw-)($tmoZR}3d*b>MJN7pX=NVPZN;mI?sJGP#sIm#qqirE$H6lt%kgw*em$3s@flix+pncJB-;LZf}#!9=q_oIP!QBi!*?`%B6uc!94J_ zB+X1|;>11Bt>X}q!J22|s8P8|Ic3*9fUnt}o)z1Mt8pWyAgGK$y$#c^fk{6s?VStn z_^)S3kw=&{C)nHDbu0|O#*%#*9M4=+F>f~*g>lazQ3R3Rp`JMA=?Q9q@Gf91IKUr>CN=1tP%KORo z)&L6gzV$orE!n-q$vlq*FIpsd{^8W!5}vB~@X(j(an^On!&e7?I{UTd2X0STd~>EW z&7uh3?~OM;D=TB zgn&3HdDbh(f<$Pg{uyj8Xjt6ov-bFVd{X>V-D=^I&#REHnF)i7f#}QIy%muMjJ|Fs zAh}lKF7K{LWF9sYrr784P_@K2`ZL=-QyF^p7#EW3y;88O&=1|qAzEqkGYCt;l0GKJ z>(|T0@XuGuZ~ru@$VSM9e3b_xykPZJ|DCdnMSr~uk2kg=hdACR>sR75Gqm088#Bdz z{^ei%K66(7J_}7q^B=lTD=~EN^Zf;d!_uIE(fQ2Am*PERqX3Q+)$C3-WYm7IEWk!^ z{G)md-GKGhAn~11NZ)Rz(~zBqru*``VuXQ_XI1>7x=AmFhC{Q7XBC19Z&o!d$Lu+nVqHl54z{gqaX-JGcRY>* z$<+TIbZC{4wVHpN7bmfuB(#0v=5&9rsR5Ivvhe?*;VT@X{GP9gmChxlYYFL)?v7Oi zk?s`f?(XhVLK>x{OS-$eySw{+{Jh`aKLGR0&b@QyoO36W+Jpg7;56h2VJY3SX(dF| zDUSgv-k0jV1n7;lbjBaBYtzz}1dub7qctFy9!Xyc^O34nN0$d0o5qDDLpmzh{@PBp zDUwZ{O?rf+UOp8$@>3Fy+iOVYPp+H5ypBFGwK%xruj;0D^AMOe0A6yOknCZj^EA|Y z`yO$VbyT*i$>VtTBRmFQQwHbHpJ)?ei4{)_F3-Iz1@AxCuXw*MX0xs}={>A2x(ls5 ztTd_Lubf_l9oR^HkMa%tvmR00@FAGY^!{3C(7&KHq;{Rt-Xu?mfc&o=BAlAEu-^|X z4pZ_=pn1}h|MezTW|9bZv1evHarbuyEGw(h#j%6mekzp9je`Yz>oXTOPt!M!Lau%- zHxGo!o_OvQ`K81h+#PwNS7nAMe-bWL5Vg=vX7(ca!dF8?g@fD|a#?j3!Rg>?YfXm8 z{~2%~>>Hk^&Dw4cSrjpO!tM;A`st&6j#fghP4q=7$2muySMuqrQC#WW*%aySNf6mT zY*EwIRQ=Vf-f&yEA}sv4+d43{dETCTgYkb}0M&vxUzLsHo3Ig&i<781ITWBPyfb&J zvJ#21-{3+V1)dT=S3m(xJf9xk7@&awtyfN)t^$6a*-ZIlxv7M|RX4dg(9C5bXj9*0 z!B})hkX*!0y;o7VbRC-OBnpMHATabOAGtHj@+9X;en9dRRO{d&*!g3X-jOZ+PZ5Rr z#P|G$>20g;KnH=rh+vFlBYUPhnv}u87!hpY4YkUxNY?}1E6Q{;roc*;ywJ;M!hAEs zTWZ_G+}E&Qy$PkCsA1jyJ>tteN{86M{-RaZQ&_HL8f*m??NQ~EPjfFL=-Z#6QRdzD zvQq}82LexmVCy+2U^xKvjP*hUV(BUy{s_8}e~VHgc4@t(tST&v>{vK)(LPY!50mH_ zMi4{fx?U7LIz<#`8Tg$=Cw{!ze7YPvtR)(lA{D>hjh951XYmEuWTfQ-2Pl>dI6X|s zqt73-b?>N#(g+gbmAdkBElHs`*ZzT6w%MVbNyHI&{syMmK-I?O}Yf^{QW`urI~fA+)} zcZGRJ!8h|*a9JaXXKH3Dt3A{M(!d|YPMXx~nrIjl178FsuXAczy5Zi0g24F;>&8dV zm=!mBm_Xn$Kb|S30}p-huieqQb_QfxBebAG7y}3g+r)PVS-kMbeS+KS<;JF}`&}Ca zj}DPP;vfs5&9R zzHxoive|F%D|^L7=|px$riXFVt4S$X!zo4T&m-)z26-|LKSgOQZCYF^kEtih6!+NpZAnfD!5W zjy5pX+x4vHy{K-;l&XxXW~n=K?TU*tgABm&^D8udv-V>0SamU*2;RMtw~QYe&+Fnu zCpSAJ8{zsZ=_AdI8w10o_gwzSffZv1%W$4M4;KFZquu4>=+FNSgoMHQ(U1CzA+q`Q%Z5iSx>KE`;p&dg0L;k#zcObh3A(`bS=L1B))x zH^c0;cV)7?s^OHXfcy*9HFw_MBrP`qN@FyUTEKxpEN{3R%&IHVsYTKclXj&WF`rM; zgdWp>Q9il8pG|mVd2{mgJg1GtJ|f6^8GQZBI$h37QoyQW#Y7C|N`2>qg*ei` zL3ZD>5(}lZxFPS^JySG_ZJYi-M2;4-&nzI2h3lYvEjymyl}^Xb2pJIjUNOaiRB&xy zRZdMq0}{?;SeL1ScxuixNB~+96bP?tIK>+WFb=Vq>8XlWeBmufHkE<@rc&N3RX}#B zHO+rk?E6v+jnlvXpkm7psGr&dZb}bs9C7kd7qIfKR;jt4h6gL zPnsFDZy?ST&D(y3UyE^ft@0uokGf1ByoKaeyR8F^qFLEwBu&JI;eMYSN6tP{(*Iz& z2XlsnO?eN14rKXz5c`i(xSsTDBYRCq(c3#&03R!7Qjl83(-Et|euEy|&tIR6<}NFY z6lEdwYQhhsONIyRr_)xJFvEwllwI#hJm6~U12oOw6DZAE+(Gg8+qnAEZdFdbYeVv9 z1EJ?Kz>b!{$i`|-bPYFxHp4*|RlD{={hTSV#P~BHbuR7p)2+yrDRQMm!iDwtgEd zoXM;N6hI%yaO7{`K*t+xkM&voj0aEm1}BAg%K2pFY}dSrU&^$_tW2M~;J;q5w6g5~ zMr)X?-A(cyawz)9s_y=w@5-CTfdEU~KLPfA&BCnB`tYNLMC)sHW=O_Bgrfc8*s186 z_<+kLFuN$KIp+dg;dt`Nkt&()UiW+iz%R^d;hPYpFJS(;=_l8J9zX5;<<;to*k^m- zsKDUFo2EJNRlY_g=0HwPUvIWT&u|sEk<;+Yn$IliFE?M=(wr@cp}EmsbwGwoJWqYL zJ`#`k3C_P({5U%Fq~<=zcd^GdX$~IUO7kAFur>6FN&8%moYoj)1nlI<1v~PCesEny^UkGKT(g8x$dAmKvq@s_X_QfgY>$ucYV-XAbhyt(=Fa4yoBLH_hPStG`IoA~h6 z)ehJau+9s|F?w-mkVigwLS4Kl%#w{}vj3j)^ToLWQrbtdzZIZ9JXx#vDIA+Cw^^#( zg066Y>Du-^LBIQj`Lu;qRBdl{j1gUO*0U6o&|^dq(_f+w&yo2e6Ewzm<&AZuvVG-I zlH$o7V(cxLq~EN7{w(v|*SHaIY8Ajqh(uY8wgw!sK6w#7h!3b(Fl(v?%_939oN%l9 z-1+=$e0-16D_-gwfNM}*ZD4kh<}DO?WmNds_q%+{P6^)Ex+8^0n&S=-D$`?hPT<4~ zVu8&G=%G@sD+2I}VZt}aiobsj7K|E}CmP|)4XA!(K`w4LD!X|m>>+X3kz&exewUp2 zEbtrKr`Xd{PM9`W})rXYV8h z`{}czb#jE(_uM_ypYO7aI-jZM6kEG9)R(^4R=yfpkax9MQ`2ei0P)g4X~M&}Ax&pm z1pK+uEQ^x#28#!u#R1tRquNK@TM>|8Emc)MZtjwc?!q8i*=TEqh`2uAjD3!#O9Nt;=%=eeKV3|a{5 z?(wvJUes(=^2 z?BX5WX)|*jY-&-;ssT_12{%eWoERP6;mReO69GxtD=u}g90Vfu!e^V{7tMpN1HsSH zD<@67-lyHpu>1xl({%0p*L*;jE)`#&;D*vt5>N%kKZyQ@eGgRc8}8+I+)M9PcY!cJ zN^W0`t}k4^BELh`Q|&aQm@=SOGK(LP+Po6m_G8AA|l))T;C zr?M&=+Fla)(_K4bpz2bNui&=esCz2uOP1?;oh_`w=rhMV)bjRpw_goy30PQGzxrf_ z;d~E|4Lg@}0)dqo69n&;@5qhLkJR)t+~4#IcebBHwlVdmmqj`s=zKz>dVSDl7s>bG zqQjn`E=T&?vzzJOP@ME!BEif5WIf95cPw7V7<#FJ(2ib4N@IKEgkY?QA~zdM?Geu> zoDffhK1W7{5yoxTO69M~Uob^Y+B+_)S|bO|bOZPvjmE`4gkw|u?w!F1SpL-YC*Pozw;mvq)A{95K;OfE{xk5wJad-N2X%h>@*dJ=O* zDV3}QBTctPjcdT7h|+A-Hq%v^3O^pQrL~CoSi4tsNFbC}X<{t+M2GyFhzvx~Mk0KB zD@*|a-nfwt14x_q*~73=ig@9NV&Q!&Y!!Un&IyNCZ2YL!eEBtgXgh}8H}dr)OrIcu zXnFFmZ6O5;Es`QKgym8;uVB zXiaRe+<{*0q=k82R{Xu|jjrgCi&ad`3MH1QMwe!;gD|X~Z9h-jNc70zi3UE`bF)zv!4BncV<9=>DbKw5*$_R5;!zmP0ZX0_Y=|&S zd?uNk3=Js6nk+DoQQ^!QTXrM-$g?DRRc36f1ios&&1_zH|f_Xt+dQ?X9W?{aT^XO3EXTvtC*Y7UjD2Braa}WG{+TiWvV;YBHK6&!uUONWr+nCVUJM%!ix2xU)m&`#_+%XLwIFk#Bjtbi zsFhf@+cu{NABu}EWu)0E<5wf|3RWY{O!#Mi-A%oOFbQAMa%V2dIGv96T2dBDmm|Mb z@(Xj56Jsi-HW|rTI(~V@2qXf;c~@?4UT&;!^q<*WUwj&J zO32kGSt|PW8IZFAkswN6!Y8R_&+D#Evx`_~`GID{Hu;9u5`@vnmMhJCwo{mTU-x^` z8!sAT!L_*HSUWmgN9B^br2Cx@y7|)w&XWm|%1iXJ1MJUs_O3$}ztUg$mOS@Gq_&5O z+5HG{!ozf<8B&a>?2pG^!vNZ>J3}6Dm3vELp}aTcu)t!nrh(QZ*YrG|s9W3;L&7i7=jy3#Pk_bIBj{>`9Lsoi ztp%UNMV|6kzPJhUri$=W!V7P7iv1C{AOc_s(OyHX5=kCyj{3p+f-p2sFrFB)4wgrf zWuV|zw75>n5-oTd`R_MIH| zps~SdG&ESr#_))ZZ3*$w@H(5(f-4_mlzj}yI}G#4S7myCXH%5ADf1`kVtO202k_ui z+7h>DlQsgsC&}ZTB+^@%e-sQwa>&Z)`K#IKbM9jO?B$3V3>cR|++Q+`<7=t)JQ(}24R}Q3*+Q?R zmOG~1`Skm?D*SKpwkN?L&%YPQ(k%}$XXQ(6Tg9&+ucp={M=3ZgC{i!k+8Uit3PKtM zlKT@WPoVx=Y))gGJRa03>s8o4@hwO#&n5S+0uti%u7 zLu?etk}u7TSp)NRSc(?-$1mgnkJg}Up;beFBk5IXngF9%N z5CsbiCh-9_C2VCX-J#jH7&s}*%MQyZ$j$aKBAPQZU!}fzeuL*R(TG~(Ty5}E!*L$dJ47Y z`xcBG-5Q#mtmi-cm-Ow4w26oe(p%(dY&*P7%yRvsLriS!ER!LJtL;}jiPBcI{5?Wl zAKz$zg_7*TBXaZy6936SPIj(^GRKWN?%h^3FBU1?-?iA!G!c+BLx#<%+c*mD^$ku*-fZZddoXXk#3}XeXi{=%EemMTPVQ-gZ=N#p*7`7m<7i<0V^2;A*V$%~YXdupBU&G=Wh1(xCGK2$EIAWy2VzhK!* z%C`s;_gA*(f;&b(l-PLYE3_c{_g&gaV|DH9NCow=$r$c*H>%L(94%}``1T<5#ST{F z%t50FE${izj_=*(pmOa>8q%fs6qKmZB3*p}BEGNlg$vFWkF9=H``3~8!-5UrD*~O> zI6z8~a%7?LAfSp%4~f5iDljN~5G~M&9mrx&@XZhA7o>ny9>j48JCO+(Om>6Iw%1W$ zY2HC9Nn&X(7<=nKXG|Ud60`hhY^E>1N6*KuIclF2ElJ%{I;5jH>_V6wsysfopb#2LQ;zlGV16d+VmjE$vji9O6Pa8f!sfRo zH2aov)?zEouD_xO4C5rsK<#?=p%`LV5bq~!P{qCM?U!`MUnLr&_J^AXHUg-EeFY_w54 zIKK*l+7rK<@zw?gWZjHoQ2vWIV2%{${Nj?ZHY^OSFqet@J53S}xXry1aVur z$7INW^Mtrl`9r$H5nslXj{fC{zrvv^i#!_zg#|wz@W#4u+O^T5&g3Bw~ zUys&)kc^3XWM#VMOBycq^Qdrd->ll254YYzIrm8Y zZNv{?rmeg<%-c&v$yQ1<9L%2|9j0CSX5B{c0iURCNpWLeRl2*0oLW}a%x~Cm{fIkH{Vx?;`mQZj3|1PzfNUw5yKBI8=W4l6(*(yJNCP4Gf=aU|b} z?0iK+GQ>HfiZ6D!cHoL=ez2jhzf5GWt!`9zF=P>|xuf{b9MIJ7w~mjww5T`8QaD0i z`cd~I2jyWeb9>E?Eg>%04f zJX;YCY>xYB<+ST)S9R~@>#9_HJzT+R^UoMIXQQ_g*+(U79L=6A{gIOjFV=0-a+E{&Ty8bSG zV9tP2j{#VqQnJ_A0;@n0iH6^F&Ds;M1>Wn7bT6Q3|BI;nA39`uU1hjf8d)$7)>Coa zI`S)qpo`Dqr*UkU2WL_>CSu=2U!QH-uxLpd3ogSu12<#l)-ZZ0P|9!E{Kv0STAs%eHU>%Y4R5Y+P`XjWcp-Ktzvi799 z?!@FtRdk~WxoRDz(lfM{IL-Uu;H9ytvy7}FmI)3$pE{$ieM49vzKmH<(^?2rSXuqb zTo)Y<4Mdlo7jCLg)pJFYPD|h zh7B36gqX_vVI8HVnXp}9bdxLe8%=wJFJoY_3~9f|r7n!Y@Faqci|ut$XRH&Sy%*T7 zBB08X7}_BzCvN7_hAPMZL)V3uLRMI!d(xBS2WlsiJB8d)8pT%ic)JYNc5ZaAFNH3Q zS`0shv=@vpliV3&GEjmvc`0fD3&AI+xj`!z(@EoQH$;(Q)HaRS)%)|kC_<{A9Eq<& z%@a_bp&k*bio-^n@AYlf2>vpQ43c5eFgW?L)#dUrJf%_iH4p;T$$oLBxTg1Pr!i~w zb(B?198SElE*FM^#KSj@ZuV<0cGC8f5UuyJCcG+ls;JWm4C6Ypq{rtQ56xu{_lobZ zSqZN;Dams;^l{zXLeIFDb|z`p4nvx){A*LXYf~+jN@oKcwg&84={k|@vwJ}|PlMX) zNHLo5POkp8E#}YI+?fZ@%gMOzi$tkE7gi*jX~VvoOj~y7RdX3BTEg21dqsO4o~!gb zy>pe0SE!tSWIiO`yFWnop8AVEYZVnbGk%}lmgb0;DWzr$R?BcG;_-mJ!b?|n#?(C| zVW)B3nbRhuG((iEA~=|^ppDO*%J{SF<%On}!THu?JAO^-&me-@n&rGqS{m4$eQ{f= zgQR0RH_`P2mWh9$jDHcAJ-MV@>HrEK!!F0+250P9^hVDX!UhD?JjB0@wegoMBF@-1 zg5A19b|pUQtJ=Si;UuAiISr?~u@W%} z*1k6$;mqPZQ(;tSXsJ)Vf7v!M3hM19v^Ai7e7>Pw3y^5=;J&Gb>9w--oECxvjCa5> zj7I&g!Oh^YzAxB5?!Eug@(2l8;Ql`^fYQgK+V7m*vS3IU(Ry}1hEHSRTaQ^D+pBX< zu3kKbxmeu(S#kM9K@zWMo~$y1l}7ZcT3W%XgH+hP6CwD5>j~|9)WA6GFjx%Q6e%}G{-3Xh17=XYQSY}*$bEZGrT&3(?vdg zxoQ3|a^PkR``I)a#*1q;RSq>w{f|k=%!RuYx9Zt>Rckh>Y+}z75l+okW<+K~hY*2V znUwEvZmdTf-JhhzbM-UOV$yTw`1Wf1*IG6+n?6?l0rlY_rEk0S=%~kxD|4Ffy=Qfg zs=E`HWTd!hUyyLTR$GVN@M97abny;L;Wm$TgB)u>6t#45>q1)|Dny9^3Z1J@HHo?2dlurtX?XR|Tgh zzrRapzZm~a;?|LqMZA{dvy5mUk4r!?i8q9?#~>V9P+-T?g0?!?oci_IjrX9We=Jq< z0n!IY^Y|=hNJ>5E6CQmg1r<&!-fP6D%QRM`t0a6Um+Iz@zCJfwO&vCos%NrY(S4;o z1WA;VvTCRMHk&?9MLx=&GI~9y4XcJddhFU$CX})84S}Wgjc1;#&R4{b)mvH7yW&#^ zu1wAg4u}(w+cMK*xWaht9BwfcK9Q9b-+gZ4m&)#NGp7QTRvEE)WkciNn8p{)MuVeg z#d^X$JUOH0FrRNv!e2t{&muX}^T&X}=BtvjR#;giw$+$BUcq9WT8NXse zux!8d@QwjD0CECiL10XcD-}`){eKAqdSWn)%|z60`5cFzxp8pco(r|E&_SE@)Tk4= ze21)D*qnT7Js&KsHU3Fw5n8NLxedD**Zb()k?=58Oi!!T;HGmEHW?$T#qCsF66y(u zNTydljF&r?HJz8wlHepSm_KPh&dvwSLPHtl*c0C@M>0Lb9z$~+UByRBYn~>z4ln6$ z$%g2zNL86R-yJBpjz~Ggbxy|Ukw6U!c>y-K)Q`)N>W(# zE(Qz%27HT)y3GgOPan(9t*XZO7e&7LzWO%NxhpN#1ny-7v=d9t76YYIDW51 zZ*%MxH;Wz`f#~F~gfk~l)WQJGU$Oz&83SHi#4xAOuzwohCS?72ynqexDKm`j|3g#T z3$iP?S467ZnJlFzv%KAC(DY-J`iJONsyS?~ zbRjOV=ET-M(VRdM)0Mm~GmL&W%6cqmtA?{dI}giXT%f1m%Xi@|)GqJ;}OeVS)QjiG!WjV|eNP?-*F8KWLy;7Jmjm$a&Hr8U3_< z>rYPyB!>osdC-N?IgxSM4yRJ^g<;Y=wM%z-5VIbkov{=ji(3VXUXS1xNU$(b;DFeN zOCb4q@=8mu_fIKKv^yh3DunS~x8(b~x$Ot6zDQ!oUOFrGDiwS$>qz-J$g@kryoEX|FF z#@uRRXTuO_nYuzhVPrBe4dpA8kLEnO?+eX0`E&M99S_w??_b!mYR}4qXP!o2WGJz; zDl;sClsaS2WU;n=k@a(9LBt1=b(E04pnCTySoYs1CcL`JBE3sgE4a{&SW3fh-%7^H z_fH*=Gl!V@(2=4`z3&?8jyum-=$4|KVf=Fx4KLKh^jlGnN^J$h{qkQ?UKgG}H0!L- zNjz9mMsC`Ec1F1pXQ~_P^3cN&RtmQyAV{ru{Qc#HZ5o1fLi zm=a8yKa910t&iJAPn-AU^uED5!4vE3y*nLj5eJTYo|8ms?#t{1VrqXx%vO7S6<+OK zvpJLN%c=G!Et}k7mx8{QX%BFVO%VdOR$v_4tN{|1=@{Noc^`*{rZdt2R$8FBsLQGp zt>HucGl>Ro)a=h|7HKBq#VMe5UnT(YL8V zg62c88Am?mreOI2!y&Lu97D1uwU*GRW2ymu-skb<7-~?lBt*6tj@wt_R6_HVTj!g} zQO&;g=GPXO%%nFPyR1_?f3>mqOE3R9$ns!Q7R#++_G^1kfXBJsk-&NN3Yu8FesHXO z`^Rfv5Du+NujJFhvdI(XExCbOo$vva^H1|kliV^?! zE@M0F=Z^Yo77&hz2(*!z)Ugd)((d1RlD4}pf(HN=jllq$T^Ux%`nmB#0lWc?Bxdx` z$AjMy~X zPm6EBElc|&eWUERP?( z>vPN$&CN&e_qGzn9vuYXvlcP6y?->rm0b<)8h6l-Mx`-Q@~fp)6>DVunJ?%(??Zj} zEmzsXf2;!&7{< z33|2Gx0F6|-%nNWfNT@2wNm1eZl7d(`Bo-luVCWa2x-nQvfL(baEq4+>TRviCjlZq z5KUj$H1bfXNTAs|=DNn6MBpZ);|Mq~)A+DfaC^RRvGPqzH=%>@z(Tte|D2gkpe`e*P{E&~5WrIXP?xQ@KumY3Pm`wIW8nP*~u zqLOzIC;5jHQk9^YnFn=-14s!(ernz`Rm@y(U?CqKBffA>9}z2?Y@*Os*W!+HYKF@D zus1(L#_P22q;^KZm7=R4fz)_HNcB5^u*IzMr4+Z~)5mmgrLb8VVQ?VJKS-n;_sB>K zoo5)_ruc8b|J5bXYHb%gY{M_n1=Z`5K|B1+cj%ZaOtz6|d--$XKoIT372QSmg*Mok z#Mos?V?=t#9T!Ft%$}~3Db<^jvhMSOmr)L)q^8qiWS{|EXj?F%#D&qF4VS~UCPBm1 zQd}-4Vy-)Il#?!R_$!0j^l|H}Ra)40_?SmmS*?GtvY0jz#_ZnT&4Ry8&a_ENr@Y@+ zP3oTC>6rW`rt|HC$qXnvLbmzsq!ss*>Z8Kl?`#ZO1`X$op}tPy zn&KhIzYbHu0idP+O?KkMH#eO+Tl1R9O86Ep8TQ)44|7n{Jb$CS>Om!ZatMRpIh{yX zyT>G<$AbjF8nQp4BGQoB%aB9suVq(qk^u~whIBM`2A8Z}&pBqO{$~ffY){B);f)EZ zOC?sZl;_{dp&3PV8-a_c!Wmye>WLyZ!^$Ms>?h54)UKl8`YR3}knRvYGuNgY0kVQ77$p9!%;o_e^ z>EiWeic|&{ZRx4pl6jC&qL7n7Bym=NCIek^fx~nq+{y99S$4VKHE3eQtzSDZhIJEbKtN_$a+QymivC;y7gQ>77-_D^u_CA7VG+M%Z1V2xRWH<4)}B` zf^J%^-GlR@E?`)wHA7V;Ah35u_-={R&N!pBvtQLWut__h-fn3CdmD{Rt16;sp~ zsL5*9{BiLTvE>Z(p%j)qANs?_Cw?=I0*&&kMaQet9pp*rFgo#(9l|d!8x~vgN^NV; z4v^#hDR*hx%u9ySZ^=G8?mJB+eGQDA1x5tBa|%~4as}j!{v=l&AL9%OwCk+e>DB*$s)oPbpUYRXXX85Zj3NaSuUI?|$8eow zi}DzM?aAVaEaY3Hyur*u#3xdJ_{6%c2Ngy}vk{_QLL7V{hqg4go7WY#vlX)=q0GsO zW`@?qIG)VzMET-Ji35hJo#Rbz)C>!)b@$~X|4zd~zap5`)jIgsCpz7Zn&l5{@N(G7 z&cam8;^G}EyLL|x86mu0yOcL2HuD#ULuaXFYo8|kit;rN@(jeu%0;L>Ug((}rH_je zyJzGR#mLh#6!_(u@f7B0L*E4gj0ru!P_co~C~4i%khK{=4yx}46RBfC&(U2=lpLS6 z>#|pzW{6&>1em6u+5f?dQUS?qj7g6b|MD7~=tczNvlUxDhW3YBiM4SCf36EQltz7qsrTsGScF3+Uv+!rO|=$5<5_^M7^y`6lLIm<{5g z#o3O%zxEb}R+jgLEqwK9OSt8F8lRe_ev1}69IT(b`OMo;3ZYK>PC&Kk(}Fe{(AqVYt5{Uh z*nw7;5xgkBVe};z=&QSiL(}Dd3WHABR1|GMf-br&w>$f_mP(~dkXdq)cY^p0ywd~V zq8eVr>l-z$-#pYdJ{JRPVc$3MhS7bl_&X}3h$2xg)tc%yv%EJ=v?~@OH4RcW@qczaN#}k|p577IHz&8RZC7IvzMNw$U=ie|*YtCNE$$l`eIl zG(K1QZ`293{C6fw|00bmF@RB!4t1Rugyza02sXuy@5~q7tUUv(mb#7%fsaKCX@G5M zwlT2W6`KRyoHNPJ8|KnL)HSa+N7vkJ@m_WZ9lcv%gd^|REk!=SD-G|-)y_=pD)sMk zw{(8mnfYzEs64dluD7l2lH)6)+;T3wi~s-!EX<*_5y+$|hT(X<) zJY2{PAEgZs(UUm@gTs8EwXtJ;UQeXjOrZNtWn*uXKb5l51gniOBkO|6kvF=j#;^co z*FU3E7O8m-OHozUF})898L}jru{V>Uoxvz6jq8C9IDjnPdQ!y(9*JhgE+Vk=`yB-y zGq;~bKNEiQM&@pZL;6LPeWf5vfH_w2jp*+q{oTeE>~ z7Lx9H=H*-+Ns+A{-V_{V6!lJ(;)^&w$YK!s_dI#HcDmrkO`XA*T!s& zl$+BYAFCSc>Gkh^8YH5<+Mp^OYorNKb*+5(w1@3cxx5ccUdLR>?FeY z5&W9UkPWzOO>|!7>i47{Kof$@5y}p!9i_n_0F`C08_+QDAK<-&H_A3zVdYNtp&6%% ztNm#WM0Kn6_=9_!N0hu#!2BfDfnMgSm2Ru?nfH*Gz2fja?_r$;Gn*+&3|t5CA))J) z#N8~lqpmghuUv1g%Q+Rgbd7RJtg8v1fYtqyH^5gv4Tgm?@doV{UGZH zq)`zcW(oyK8Tj%Et+whsd4J((?U`sys<&Ej{|x>zm}f-zvgZVi-?W=NX9P&8au!Mb zcp7}+ggEbv`$zKAnvEtz%`^Q)e9NexxOb^v3zng=u_GIO*ZuLcl(Y740x7?{+Zn57 zDN(I`2mOSmX9j3oCBCMyFnGq_$zs9$o7paKj?#-#_vlk37^P$yZgW~tt;nHaSe0+Y zM4*NtlsQHxKZ(dTm(ITX7PB%|c%bUz3=uBhbBLGPv}x3#|5EipQFpIk}RfYY`7^`7->=s<}DQAl@mOES)x3_KU%k5~~`H-eXSMY6VK zT7`jodY|Uvr)AI@K}zO^o|iqQkJVTapg-Nqc1CUev#9^fvd}IJZC|R0^t(w!q9#=ZP zO9;eXZYG$1rksq-WmI=>)atX6*x08pG&7DSCR(>t{pR#?U1GkJYzhSyO@z1+Cq_#f zZ?k`2ixKLc?;{=R&Kl=ykUOu@YYV{^=}Bf8*H@uNWnWwVk#>4ry~U!$a&tN@DP_;2 z+HF^%>-qLRAF=KJG40fi^yrS_Tl`Bh4zIP70mV^%``nf*S=pM;-&-Ws(q4mjnp6rH zWhx2JK$>Q|4N?O4e-(4C1EQ*Tc`qIMU*T zedD7_I?B42b0D1H(o({O7P{P+T#(;3Gm7~-J5?B=Tcd9Uo_ycZQGF>3+M;47r%y0K zuBOuMc9oVol6*^RotAHBR0)saECx6QNww0)j`Fe@^|)k~Rw-f0?U5QSP-ZO#!JO^4 z@60uNdShLrjdycAQ|rfD_r!p&TUo_UrqI6&{;NK2v#KP&t3y+ZUk%G1y>q+%YUdPE zM7HDc7TaWINMHqySC-gN!j;J(#R80f?Yn=&_;>m6=y@SRYS~oaOdJ`HUk)(u>}S#W zc-1U>eiG?LTS}IO&MmC5@lZ^zryd>B17yIQG^<4>K*{8(V^-;DR8O#@Ww#>o z!a{7_H}OqBpBDAYXs0t^A6fnO&ab5ch_rO<`b~Kh7OGqP7 z%wU*oAPJPFRU?>;hU zy~4Bb=g;<14F98W@N4npcS-$cCo%C-6fjJxC&-s=*4!^6vOMsEiF13nh&*r@El4;Ig z{_92rNyhgkO9!1{4CRD$$rvhl1_Fpc>$`kJ^tV|(h8*gqJw=Kp%lV(Eo+B4lD|E;{ z0^w;gQEO~J*o_tgTn?B%6@0Ez)cV|*l}n*-`urAwjFo~4vZq}FyQE4`fa&F{<3L7) z_AkdfBa7ti4u@zR>?pp)kRt%D95=9zB_BQaova0_U_~K||Hk!jR>OJO|G~OB*u%W- zoi6dWMNMs0hFV-(U7TwaE4x+Ydl#T?BGD4T84h0LNXa1c$YYTr!k)Q9qH`JNv@W_2 zHS2J$?XslX$1oG-;%Z2{hjVEOEf=E4PMTc{%P@TNTp=(F_pi!u*m9Dmo2=uHd%|JS z?*m1Mx|R+EmsC+8fb*&7%Y)WOioY$gIY#J}^`&I3_E%Uh&h! zqL6#=D^`7gp6;BodmK)3Jtm-c+gh@qRn5Wv{4+<_9{0Trmw$%}AS>Yr)t)2J+qg^x zLc%k50sq2A4x;D+I|H&V0JR5&zaQOSB1l$YQWi#yh~^|yuE))Nw?r7P_~>{DCY=vr zYYNGsi3D6qDi@6i+Ft#^gPPVDJ>z&oFUe)~ZYn|;3CJxv+>!5jI%#2Iam8~F-dDBw z2Pn9(U3vzMbP{cKhLU&QOmh8m@V%GUQ@|`pE*}$}VrxB|3$P*gAl0)fR?OG_LBlW) zuPpz9L82b9uIG6HdFiIRt?*%Pd5<9D4}X1*1y`29K=}zQ9sa#crO{tv$podNh^0L? ztO#ITB;WoQGfif+>L*8%FG0VdfS=;f9R41fX*^c)l4aaOP!lCPFi`sQ80%N8OfW za)To6M;~N@T@%!47?RumQEo=-pHp&=?}ne{Z*52eS#~H0dgF~tLo54ot0#TtG3yJmF%7Ci3iIY|He!E>h-#3OZhFI8fw*T5yTH`Vx;X(}-c;U6y7N`7Me$K`1V2Tf- zpI2o99_asT1vqZA#p>#(-NHeJ9LQ?6KaY&w+I|rCRf#jfmdqD<_wUZ?j=&@BbxIQ7 z{g@n0LFsO5Y+aUj%|zS4uNDezbo5fVa&Vme!ERs`*l9cPksl^TcglxJpB&HDiBx`)oRT7qv0>iPab8Fa=>zkez|m;yL?{3`N}#^NhnFfIo|a)jewP%;$87$N9d za(2G}(X0Dt?fbtz8Do>?9UTzmM7U@zCjS-MKoS&r`(%d=ub4%}r2K1LwQJTJmR$OY zP^(cgKnxd{SI$-n^GA2Z1ssGf*23IiQ*QnrQ(qYtSF|h(1a}GU9^4XKf@?x>cM0wq z+?~O7fFKF(?#>Y0J-EBO+?{joec$^#zh>1R%HJgtfKKV^cQu?HL`WcfjMVGV(50jLXuB$Ph%w%~sVip_L%s^U(xAhV=8v>Gb zS?P&p*6(YywId2Imrxx!cJ??3=y>=@teRb@K`;WW5Maq)J(pR^X!!R8)fWZpZvB$v z2W!99I6T}PJTp2tVtKrAJ8a_I@^g**cGiI1eq!qccKa0W57WRHaL;Ysuh~I5h3k0I z9b!-?mC&;}WV=Mt-;h(^E}h$ITHu74wzm(h|9%C;M!-8CaD08RGM${^k@dAu-GBrv zlP2D>oAX!t(o|B+uqE&%j)G!8<0n^a5$@oH%#3jN7!pk|x(h;|A?e2te~XJL>0ZBpDms`=U?z~h(}&XGm7WAZm{t8 z*N%uNj&&FG$?8Jdc0o@vC9Hd17+pad4Wwb23E1BQv&+bee86N3a zkn8Hs(2?EMu_OG-eodB`UAM7;Tpy9IuaCN0vWLHikO}qLzpRt#YsHxHl7A7aK^0(- zShcQO=fODZb;qc)i3x}=sNL@nhWFni8u=yn-#o3M4o|rm4En{(RNE-p8C637!%7Yt z{O3Vt24>rX#wrsaz_7&-4kg^RQdJoKg`ZSrejwnm(~3<{@zW{1Td|d)*O>pv4NYJR z^Sd0zCJ?NeHTazFA`n|yp1(DT49Ef_i^DV~=A8oJ^X9aoFC?Y?BQ*MrKfOE6`aEv8 z4sd^HxBLskqYn!m4g^il+)oePNB(yd4yT{(Cb49qlI4*3Fxi+*qhjay>0Uia7mc{p zxo~z^JNwU$_CXd$Sn2ld$T9XwIQwdYN<_Hn)GDPWH$$9HPr48&knwBE!h6&cfsptR zKgD;VrmHn)tFZ>p2c02nYn@CxPVawyXoZ(=cPp#dGTujd9#%Z<#an~9iwI=bcG;|l zMNo+NHns3G$HdtvtsfoAS?g;4sBFYdn4f9W8xV}ft$(C}15@a;1F*jy1&7p2iN0m{ zF(xTKkD5tu_l7>5(^Q}iB@~OM58Y0iTfX9U?r~#_UH1G$#?V5?TNB>ADRf2Dys0t9Q9=z8nvUA{4VowvA6!%J2(lD%F5nL=Ky0g z?!eYsYf?59~`%4Oa zh9uMZgEJr*YtK&EoXQ<1g*rw{KVuoV1m&doxW4M2b~3pcNK1B114TNjBWe5UoHk`! zzJpfGnq>~g8r#mg0!1(#W9afy$e$giB-1b3J9hx#(+KK_?XGYMhvWW1`2-{KpWZ7&YS6MbezBQEh=6YzNngAVQenvEUp(U38}R6XINuUw-<>S) z&0H^HmU}{R5nluiaEVp`d|;=zHW3%pQlE^+e^qYTw@}gZkVZx7Guq$}nV0WDvvU}o z&5tdc02B4m$q?8sb!n=QaErpm9TQa`gP>`^dbk^&*y6mRtkP6GT#C;GE7Cn%C;%jI zPHBHaLV@M;8^7nA7dz!`uaG9QMO!>OK#Jc$N_zk&w%yDpqQ0!I9^YLyzj(A$&eCo- z_lZ5M%`6Z{E`RlUcO-dGQ*+_2rDe%i=`BdW!t8b#+u8et2vo1Oz6qm)4!5itz0qI* znYlD0Ld>JM%V6epJa&CHf093lBP{6sKD9I7wJ_?Hh8Wry_;g{)xI#+`rP2h-p8^Kd z>UH}jYa&8%r(p~C_DNIsI9^TyrET5g5Sr`6dl^-xfA=SZnV%^B5saZvE+xxbD(^Bf z>#S56UQBbMd^~?Xud+gx(ErOog9SY?cp`R>z$zR%Vd~%mgKw&Xw8BqnDq|ZK(LG`% zOuvue&9j~WCqRUn9}!8^htHsc$f@n28l~2@8i_x=pER}Q!92i6h+Eq~dQ0bH#0YVB z9I*e@fLe8ZV6-99hbh75JxL& zhCtTGVE@uP-@*bNkVu^B{$lEB78pVikx_a!{ z)Ph<9vZ))nwc=zq=gb*=e0i2(Ttyi=5&PXCt*=fqo|2cdaBGHt;sG`-|Ct~U5rFZA z3%(ifd8&AGS|XiScT+-_tDRYXMDwx7cXs83jb8;P_uA)ysl8_aPW;55B z>Ft>|B7BPdwgjUaKULM(?s(@>Im1}xegi>_2kus&cfDQCV0A~CZ3@4QkHVp`j)5V| zani>5r(U zjw8v5bJ4pvgC5rZH7FO??5*|AzHs zJ3>JU3DiGQxLD@LcW8OV!jpQ zk?U#OiVW$xEVP(-v@U|hy$jBdO*AgT9^p#SB2B>n+xL;+;aobcYEb@pl>X}uQ&vMp zZ9l{ty){o{SfeI&esz!pwBsOj2`eJhLtUw{Ef-R@($5^WoX^oLqIfclcRaIM@k1*F zRwXr=4dzGhv08}*1gAa95p*db&jKk@?(@6*UA^grHofKq!xaz0!YT%5eTXU6(4Kg3 zwx?)ohsI1O$^YpfECvG$P2c$gW^Fcut-V1sUALT7XY66bIIbww+B1;7q%`{Lgc zYO;`X(;v-a)d&v=?DEdY&RSw&6BzL1ZxzFB1b^NmQo;tJE_>72dmD2mG%40+tX<~m zrJzY|$dC?-V;YW>anjLIij`jSX{}QeSrl3b2Tb;`@)>8oaYI^KWv7v_(yY}OdJ~cq zSFhE~G(Pr2nYp^~=++P?&WRir#SJf>*>z;f;gu{NXG$n-tpq{u!^MfbSJkS}Lq6oRT;<1o zr|4Y zY36~2+xEM3Zir*d6mV2FZX|J(1x?gd-iCaZZ1atee6vqP!mwV}%gvj6A% zNU+j>O&fE9`CJin^=kv7@XA-SOnfUYvIq1}#Z{7X~@kZ@%7HZ@PjGM{J zGuHoz#y9Eug%Bb+>^HUuY571DnO+R-`-$0J4-|Xt^W>7bn2AdY?-| zu=I8&_#~w#P5k#i+?kAknE6ZOr^M}mvA^Urxt;15goS+Y2Gbf2nK|MK?}bRzc4k#L zQ26uIgK@4WWe7kbM8V}_$c?jVUc`l{LGe!;S)GtR!t#o$TdA*`j?C_BLgnXugwzS; z^@yU)x}fGBx$B>W$IS~DE@vaYm737590O~oTdi_B?yCe$@4~O`8vpjJ)Q7+h%F8Px zO;ZV9_Wg}QIo<(nyKf$1vAhGD)Ww|>gzpNk?%19nbBaz4Zh7ErR4r^+RGBzEaOyRM z*I?Pz{M@=HCg58ccoeGfa=j%Nl|hP&t#=K6-Bh{uY1VBGqRb_S)2T zs|RB=@O|^vQ?*#`}*YD@e{G&%2>?z&|P@j2dc16S?;2`=X0Z|s$L}m$NlyucmKqO=#mhYGfAI zWqe>F7rr&Ax>2>YiB=BxxHDhEqAi3PrrK`hsgF`UG24d>GO>K>ssDu+c#QU3W0ZY# z(G&Q(Q_}xiE~)$W_z&Jmpwh|HCq|e;d&k{n<)1U!JG&#aBtJ-j{jE!SasL5p!veGY z%!q@55(BL$crCra+u@g)%;OHXIDTheYl|qAxCc$2+iF-`A3J4Nz86XY@49I|dJ}xz zkQFNOBa2m2!YsDYO#pt?kz!>g4v%D~&bn&NmKaH471iY4?Mvz_SHS6^5&}>fGr|*q zdhh#niV2gEk5k}#(S2H0wjT7})(rxzAu7geBnFW~8JN%9C!ro1TbQEd z&0H$wGBr2KLW*2}vmfRdG#KmuCa|1e!qzE+YvrI5=vVc$r*b;R zo^FI*^BUBz@iYu`GRxjt`6dNTX%shB+ew!@Cq(RHZFl>v>-FE#pnrOxiW=yiS8s0e2#~U4{vKj= z!VX6NcN-Dt;2(!s`GMyN3aqN@P@?4m2I|HpP-r^bVqh=l*SeB@Dh zE@j8vU`^>gd?l>^OQvRbe}E0%t-b_DC}^bIG#|6FUFliKd6@ldyiCriF#k<}&$ae| zJyh<(cb@g92AM=kpoL&8`2)iG8pwZo_J9>MvklTY|^^UDGAk1aA88!IrxHv7M zd6{Q-zUGEAOg%eOJYiyH-o=^NPS|4_wt3sdo;t>xb5ELQyWEm_HJO#UzILD4 ziW98oA>5uB>(kRu@K!Z_YK8}cURdZIOkA_Y%)%pa?CREk?y*GkX;TW2YTZXCq31%c zM_2UVr-gB~sAs;Tq}LeUG|{NS?^4}3C=v5^DSXsQLAf3I@eb+gLzY^fIpBTD<41I> z!59bRKk2Dl@smdm&XKW835B#quzKCEWp~!PE-o3_z4Jg5p;eagWUt94FiQhvc9^Y5`QuUp7GpSr`VNLauEUHENzRLdz>cWLL0clRS|4PHxQ z!D7^Zc7{~RA$*nPOl8}P#O9EBubiD#5p}N4Gc#e2ycLA7w4d&$pE+||`8s(^3gRq= ziJvN9zFKF8v*jeRG7+z#ggsP@7il)Fv?1?XA9T}%3}Ldx)!Lsz7I|)|l{FwsFi4h= zd}bN`ITOT}n?iy|<6>?EQ3m0fy-wd`|J0*JNR*+5WuQ)TzckW|89sR{K$#gbc`_sR zeBO`9TzCe`67iUVKqm(?{V@yN@PFUWx%>%0V24|jGe!Hnns1o71LGU){RuplBa0tC zOqEh6_^;NtpI4j}I7fL<-sg*sl#gj>3`Wn6;DdG5={`P!yY5y^VdNB1o;<6CbZDX? zAM}h?YPN6cg1-H|`cmBp z`twJt>V#AaR?sZm*u#q>>}+&xHEArofH{?K%Qq~xBo1jNe&0v5U}EC;W6}lU775X> z`(#pkXS2H$G7dk5$$EfgLuGrhLtLi5{prz{?1OMd1)4iTC2X@U!pUL6i}p}g|F4&X zyDw2|r$>rSnql8of3mvs9F7OHZy|RNHDfvsQW{PrsAYzV({%cjGVy$v8~=?tEzA7A&- zPxK+TWvBJ-j{?CrArG?(%ZZ!e!tIcyCrl`AQdblHquAR39ismPC~g0boC$Y=O|^r! zN<{2GqG-NOYVv~F{qMU9;WTW@nVI1={_qb5bZNHwKO{!}t_538!)2>j|86wFE@ z(wqHTAovX%tFYSQ_8;m?^+8w78eI>2t7^|q=sZ?W0@kEBw_~L1m6-|LUyGacAzQ}L z066Ij?mugX_P)l$bf|Wk!O%x&LrC|ZnT7%XiFeQ|F;U8T)pa-?dA?u{y_MRXcv>Ys zSoL$0=Z}`a(;p`_jMc2nckpz`wVmQ@Kc?D_S8Q@wt_j&FO8c6Y@+6Yoi2&Z9acRwP zu3R%N<5g0O(XN}p##TAL^nfXC?P7VSNK&D?*x3!Fir4jEe-WaeDDSH+5qY#Hjs%0_ z#cgF9O{Ol=tR4nmArCgV9TVOxQ6S1&-SEvmz_i^`5SQ!}4(jswb2TXkh?6b~?mvLY zMcXL$k-!UJ-6J=c2#&tKSmdZ!m6k`D6cv}1@W)TIiuC`o1A+7#;noR-xlN-@OyhIg z%%>pQ z)7`iCq{^#DubSr)J#fI8SR8SG-RZT1P8z*8<0x7vFv&LbH0BZUko;$SH{wtMYefU@ zehVg%lt%HFH+9lRXW{Rb4CBRHdBs&vUolvja2(Czc^IwM_V#YMy1#v)+_*FraQGpt zBX}i^97cdfKJsFZa`fyt4WlSghj)&4p0dX{vvv{D;9Nb?JfWY33ukAIPnTNxtq8T6 z;iAJF00J*qG3FB0dIy@zZW4lyb6yEDpH!fDBuhH*8APTPzaZ* zcdBIP`Vf{12}jTx9h)@b%O3!{pq>iAWiDz9F^w{ngW2Nv%Xb~1jl}SHlRsv1ddV~# z>~Cq#Lz748It={X{| zp@+N`yr_*Y{J&G!rb8kY>PC+1yQdekkDrPZ+SQW`#C!Hnya+mUYGEE}%mva#`&@mn z0}Fn=b>ieLHWq_H$DYoNCc>9)$w2^lPNSe8nEcKQF|P-3YS^%D_nFBOFf`K}3&T`& zpjLnDK}+kma^aVX!xU%&lm(cvvztbox{cunkIPj?;;Vi#5wU-ild4QbAxlT+QOgHy zRNS;!9FYLgcinicIxcsm?C8wb9jK(9Qi4av{|S-RiV~zzqRrffeY&o~y=Isc;kS3j zQ3(Ey?s13Xs~MU-fle#La&UcyfzAQw2<(ZEh-ept<0a)iN9qk5p;Fh3p9mv8A_;o}2Be$BTAnitO!r-PquWwV>OgyRbUCWgHX1EsTH9m78hxa_ZT_b}KlIne z95KI&03A0wvzoLHX`%a=x}gWUa8t8@DHuHur!X-yL;vY3i2`X94i2k}lK=InI=F^= z$McQ8C8}ZlNcQ0dACbyi5mFA%91#ZB4c{kr1EeD@bjDr_MzPUdsK z{9#Yk%SXYh?39mU+{vFiUAM<>5$g6nF4-+i5BgzCJrY`7f>F_<0LMa@icwhGRWc<+TnMOJRC;L zyVshSWt&udx?&8v>in|qa@gEJ!27r>8vQj@&&9OZ;=q>zrl$qFR@SAAmplA?cGP6B z4fghiRXJcbfrds81k>gyAUM7(>q1ikG`|l_={rtw>8X1jO5V;! zso&R(7Ef6w=LF#-9>p=QuQ0#IRy%jjMd$S^Vw98ybcXiJEC2EWQvEQ}cKh~N8J|l> zU|!?*w0%TqhqB7vyFY^9adm5ZsHCsGx^{gwLwnw)LLZ`>nTP&Nf98F$Vf<34+%_x< zG+#g>7yGCkk9H5ZDN*2{Da0lfvgeND5Yp zdwC#tu|al|OJQu9UlE;UJNyJdyggW7oGIx!OW`tarBYP?0WR{t+&(XK5#{|Mx7Qq7 zR;-+pEi#h{^nz|Xmi82lM1#DqiKqQ4`hIoUhjV5k#89zBvFx((+Q_2+cBrIe9u?(j{Y7FYN)w0 zHWe*#$2unZRU2OPK8l8`@c*;`s#agxJpLtYEfOKW++m-$r* zq4yD^UKP!@BbJ#_#`3kE!~2#-26%&mo7>M;O97r90-1%w+Oy)`dncgvX4g<4aVc>W z1Q|U}FFRCJh^D)gw;8}goxO5LlN5Ec?I)YfYh`HvL2rzMs6_;`=bnqGla zvQWBoemVSRI81k!MTW~veufTlRvJsRjTfdu6p>(x7RKt8VjTO13Mk3(OG1vb$!Pdf zVuXzdaeDL+#UAP8uwfBvU>IbY0_ecesfJ z4y}$+8b)b_rQ+B-yAt@}W00HCQ& zaO_U;aGe>=hK+2V2_T}?^M(gH+;A{68!I-8Z}1cbw<$)x73L(<$Drh`7_rz=k%5dwo{;;lK8Y< z1JmK2=I|lade50)tkNup8tzHJNp~)5j)kKwsJxK9-a90=)>t#Tnk}TxHx>uC|0$C6 z?KwGhif8ngkm^PS(?2mDQ7p$B9`YmRMBHrgrn@M%*A58;|%}&*j>%R2~IiAuAcn5(h z8qk&`eIp{UyYS#G^&PJVM!9ysbU8GM8_Gm&W&~#quQ+CX@azaIM5X*;97P}Vi*T+J z$G{ooqWY7;E+4ZSFVS(5sUCBoJqP_`E04UQ82wP-T{5@FD*p&c%%2pAgZ1?73-YM$ zyIxOha>8E-V=e~dK{Q3f$+qnDzoSlP)BcJ~Y0Xg(XdS;VIHG~3%lPSQvYZi-8SG)49 zBnh9H7McieT%^Rp9usvhyAc7xcz*N9jZLbj=dUjvPyh_j*2K(2ej77)X}hB9StinK zrMgwf1*n~FEFJ0n>GAbgDQoL3gS2~sbMpugHc3@q6h`D9H>DOVmoG`SBc|0V<1N_1 zQbiDIB~NobXMc8;IaurZ4~5bnXeO)kcnb);rvyoQ_~R~4n2+S&L1E>hw@+E0%d7K) z!ZWt3rxC`V34x^A{xx|N_cagiwaw@?s5m7XbhZYc@r8M?XSVDwoGd1+fXEfnMVs?g zkofcVBT@FktdmQzxX{|11D9(n)p7aeFJ_)nXTVP#dY1&4un0g@Po`bqLxz6+ z!p3iY7dj)tcH=GUGSb13V0=!yyV3PS*+g|fWBA>ae{3Hy4L|m$(fc6z{WYIFes%Se zg2+hb8*cd(hkbWpUxyDT<}{P>6p{IHPwpJ*_iYuT|4)9&p{qH#W^y;gd7h~viED{w^LWPqdkQY*{|9#b|N4~ z4q+XWNQs^QQ&2XT0k$_rB|Ev){i0K}Vt4(vhlKq!&ydtPOgZloOw#ztVXTB;zG5V@ zVp5|Co&yP6t_Bw*AFm&VTpHcIB9-I$A`pC_nhxPcIlnMjx`4f)YMRKlQCo*v5m@AF zfz!sluD||Pq`;x8wc9#Z?wZ~yEt!(wyGa)^Zo?U>zX*y?J&A)A^_`RHNQmHqS%0yD z&c8dGoeS-hxxh*r(#7X>8PyPClRc+eKV(`?OYf(YaY#{Hr)i)8LYr!+zjf6y(%gJY z7NE(A#JDHkN9T7fJNoFKSmOR2u!OTXqIz7Z<;3gAxg5(gn*eyB!%;0sm8ml(3(L(2 zs*(!ka9PR*&HDuZ+^7#!{YyU6OA_Ch+3<73@K9g0E?7}`hQtmgcDab0S`-tv|NoOj zi!;&NnYWsFY5Q~8jv%F%La37s?D<2^7YL23Q(i98E6?SJOfCEGM~>Ujf}n4GMJ z9XOh-tV{jHZ_U}%r{-GKys#=arobhiItZLCv7Os3R{xfRYvRknU>@f(!kj?}*>wg7 z4y_XfqINqzNZZO)&Meod@)DL*MMpoapD9t0VjwglPeGoK#L`@dN zn9jfWAxL2)r4dH-h{}^Uj4sS2bHLws0nkE?Qi1lK@|n5LTqj4OZm-t zREl;uurb*xw~+FT0Qz_(1S!xRTA`JZpHpPu^MiO2l85>i$MhzRWq4MUv>1Zp->fS@ zjzRc3=7>Xz;T%qGmpomvBP;5;sq$(7BRYaqxKBhCOZrC)Ie=9p?^WiAoS7|{O6{iz z&~21Oy6Xr63HUH~DNBUPwH?XatUbETW>rd%552xB(4|mydlx9wwT&5L5*2@X)W5&T zULz!QNhA^PhW0rQlM%1_f<}BZKe#xw4{~+jt;Mcj-Dq8%{NT-B$-nDg$}mG-Q2POC z`aI=SdFs;!ED#D#DG};qdTezS%9~q2R?Xh4>SnZxE4569b9Q&|5wZ0vydGl`(uid} zN+k~z@K6d~V&Pt)2f+VlX*5{vJzh6GBDd%pFVUw%(3%|{7_64*qeaYnA;6HRPI(gw z8A_uaOP53N(yXTjr5o)MGCn=%qbO&(MkU-luoIzEFJEP};fd1Tv@m}TMUPszpGTGQ zT{;2dG_nZm*O52$!1f}I`X0mftAh9pgt@(PKbbezrAx?aJGqkgRR;)?A>A2fhbro! zCoV!^mU|muk8e5g+d2~0LgA@tNHuKCIXLGTks)k)p89$~W(Qztuz1k3O-kxivQ~;# zBQC}8=~~7p7_O&p#7V4S^hG*+?oirpZlnjJR7GVlVJAPVbv(iSu0^6jVIYeBQFeA7 z0%2SIL{C?7cK)tEd@jQ}oXYM+2X9Mco3c@R{;?co(5pR77`JC>T+wALLVik+Rmjwu zdH4H0qSGFjOfE-8VBb@o5!BC&!74>5LmVkhbeI28pNUPZ3rRwG+GQ5gEjLoShg2Eg zIPN^9G>`hqBwBr~Da4aFZ;Q8XQ@_J9&qVgS2y=N^z62!Z1@(7d>g?&E-1kqV-Xq9D z1SiOe`+za*(ipnYpu(hrw1f;PkU|@5AyQjGF*ym_OobA&;doNr+-Jp=XToWJjHJ*c zGJpPq<6@4G`9-lrMX|DG_bM^FjB-NLuHWu84{Y{4+j|*u-IfsdyCN{Fg@?l`yJc@`u#PQvib%?y7o#po>u(mmq;TKPh(vG=aBQmzO_19^Q`}y zK?#)iBkcWl=0JluZ_mm(1C1}CMEzgwlHYo%S|dWz$84l#Dpkr@-olo zQjC_8p)DXg8Xc|u$}n-3CrIkG1@@;32?-SJtUC28#B*Lk`c|s2%tk@mZm;6EVVEj8 z4S?IKjGq>`sWnC;V)-|BU*xIJleqcK^9&e`O?ZO7S$1aVv&>5E(F*xSKgs~zU4*ck z&H4hl{^Ne&j(B7-9`j%`eIS-k^bB-upU<+o}(;gl8^1q;4x9L00iu zIRfPLEn4j&zC0)~Qd(UX2VO+xJ2Zo+?0j&!d`zgnLv%&ZCk>pkQnkn(9v{;UTzY0( z@ytLy-&%a^lv286cKg`mmQIaJ1?T=RZg#{)-)&atqQkuuT#{~+$%~Ff%&;yS?r5aE zdInMSTig)E>_@d_j0)Hk)Ifl>gF6E44NrdAJ=T10KIekmV9oKj*`lm^;{(fF&P%8# zH*46#YD_Uq)$7!X@SOW~Db34AavL~xee$k{HL!Tca1>F$5_%36Y@dPMhWe>xA=n8j zTUqTqN>G=BRv3oK!-2!ft1^|0b*@gX)(AcKX}w|x*0PfEla8nGR~*l#zyt^4zX1i&1#iyYoZ)1gK}!BApJeA6!T0iX^24%9rG>+o)#u)l}8T%WEYd zQ@*Yh%9gd}IBB$J6u-Ugr(DG`=`?>-M_%A45&i2!92Jd_HyBkJw>tXKZ|_LpQ9oj6 z%`!xNOBbu@O6=)gp(?|e^tyTo;&nEsE&>nqe>8G_nm{Rs_7Bg|uVN8RFrUct>a>!*EwO>s5$x>WvA<*L~L9&0pO`y)@u zlF8Dd8S5uImAtUZstXhNfGJ8G!cTem!4h}uyFb28{#&2cihloWq6wmhrIHlD5QY>7 za4@%P3T0$nNi@iayt$_~roC+`sfk=JiwogqXk)aR?mp1K{?txMW;M4HiR5PdF;XVqsCvY@~s~`@n`mE1P(Vp2o(?x&= z53~%I73-i_Jwh=t+ta^tA1if3y@jf7)a<9IG~?4S4PY6?BfnY7sf3GJ&iNi1z~(Y0 zIqFp5TZE1TVv%lG4x8iw%Dv5_8RfZ}9MG_arhXX2eq$6a6VM0SL>G=+c5>czTcbt6 z<J6>7BVJ?6oh;w*bW^bMBo5q7FKkWF)AQIKLGkQ3{v2`k`+TlOt& zxLhH|A|;o6SHd{fuxsUrz$9X>_Gh-}w}yC^_c#MKDN+wz#0sY{`b1kS1!52L#Ree_ z3Pxt9Nqfqs^-hCXv)RMg@^e>;L_;%VSYXZ&!=YOuxt-8pKsR2^g$V1oxB+N~D+#RO zD%V-2bB?|;_nV3?6cY7Q>%zhz#f8#At%a0#9Wg3(uSA=6j#NWzUA8i*XOpsXn;Wb` zt#{m*7&hH{yq(elsuBk9%0Ib~+kD2h+nO?;N9y)=q`D8v~wgIvRiHMQCqv&IRO-BmLuh=6n&FqRqsxN z!w%6SESArdO)B^mI+n$Y2h;}^g6c)+_0STP;2UJ_hidTi`Qdb=-qRD6OuR>N{}LW* z-ISIwMcAs7Ma4hh=B)XAp=Gv9DN}PeNJqQY9aX%_Q@u(2(>j!bX#2_=yLufJ?cW#! z(%Nb_d94zSVWl2w=ndmvde0&KF9~<_(Sca@}oo7zcC-TO9#D) z>NoRA$z>btzA}4OlY#aRF?W(iT)~t8{+?^{vxJ4&)kRBmr0UL?M;?8~!?z{JXZtA? zr3 zg~hRje^ab_$mML#^Occr-^10Wz+D*h!ZzG&K zc|<=yNX(aq5g8cC5e(@g?lr4cDtZ)7>HRLY3C*qVBD0e}MSbDTk5S2sT#ui>%a>*~ zsG)Q+J=kE`o~(oJuSBQkPTrL0QjVHgy+rht1O-TxMyMNE<3UDec^vzFZdyDK00U)qJmci0f69Dv`i?OH7qTekkG`<)4o_xL zssb=&$`eJ}ad(1#^OI;lkA?Vpu@syoos&U7SmtD=+fgoCVdqy`Y>^sO0YouHzf zi0x?ghMz8hQ` zesgPhEkU4F397))d(ic((A#GQo1+w=;W}tvjec7d*{g2sgV3bak?YP?#)h{W$=sijddQM9ee=DHEB8{%2RV(T zq!yil-H1a&TJv~f{6(EUdwj!hbg$$nXov{fpMvu2!q|m9+Qr?VHOGpKcKidYh>VW* zUb5gG(|Gkzems=K8Fdj$pFe}H!rz7_b$wWNodUvrRBe=vCuD`9s} z3nL=7PbuF=&)Bo{lXoo%oz_1P8C@hI=H~`rtsQT(`^Kif$5xOV(vE!(t}=4Q#O3)n zZ*5+)H%%u=x??`Q2Oe&y6+Q@zMKt4kdppa1Q9pcQ6hc?AhWJhsQBxkgO0&bL*lsdx zQc$=DMfe*FrfNkuluYt&k-uusz%Z&5y4&)L>bp-!)2ZYIYPKWZ#|6s6`;BgF+PBK4 zM@NSlYH_D61l(NEvPAYpn~D4Xy4*(pOL7Ez&~%{L%st+t%@imuf2rC<3eMv-dP=)d zuKuJQ#y)O~!1MI%mez;w6pr68BpkZ~MJS7&7_a%u#9spPySC*Ei=>=+XubJ8Ts%t` zf7~zpQUVdIU!4L#&`7rsX(dc#F34y#$(G()fReY04byCODp*@-!27yrU;7nTvwq`{ z+xp0D$*J$m4Em$g6}JBJ{Ro?Nzg)dcDZSv($w6C#?dck&0)96ZHU?}wBC5s{gAfc# z?t3UiY#3TBVgb@gH@!^sayt|5E0R(mz~^nJ`;%Z(+fT=)ZbH)^EXf(hXpI$Keek5C zp!n(wf(3B2Q7|(yfLZF<39G9RfAM}-TUSL%geD$wZZ8=WWZH5eW@6{Ei||J zc?Wk;*gQ$-@CoyGW)+xGd+EYF`q;!`Q@NW9m-w>k8X^v(XdG~<;*MRRE27nt8slA z!r?VTA~KG~1x{73jG;T(3fMofOZmA6Qp5^T8enQ5R8VLw*qp|C&car(N2`uJR+XZJ-ebKVQj2kCm<2{dMJ5P<-J{v3Gi~Q+~?^axc3Pa-~Okr@` zj;%hB_|nk6Urw|75U?CBkAY9Q;hfZB?BYsd51jIQ8!2;WBNBa%)2UmCbwc(@c*rrD z^52y90w%^(YV4>K=1FahQM5@_O(~~AOTucU&8+fRL_nry>88kE9%H~M*AweVt%`n4Pu6i_it>Daa>7lK#Xx1+mDKRmDD6%OwF z%S0%svgczog-$Z#wLwWxm$q|2kDlb{r6u!6&!>-X2A|R!hthRhFLGhYoFv`xSnHBAR z*vz(fpRM!**2mlVVW&Lys!st=d5|3M0|2GMfj0g3jhagx(<|eJ0wmpM+Esixf6|52 z&C)nFQs<-bwk`bO#s`h~6N8=&vmlJQ3=1YCWL$iMVz$ba_iAzT3Jsc-cC|y}Oa_S} zZi$AQTRKHbBup#|J6-AC@RZe~Z)6D{HK-pw`+rUFf~N{L<8>1%*~*s?;?MFXMvjJ)YK)a!+_2 z--N?FI###~&YhCP&1&??BVtD-D$F(gw4RzeqaFxZ!Kb>D9BPJp9c}&I*%jWl`u<>& zO@z_soUHkjS5M&xO^475T;MLSOuiysZZZ|PbB!(+uc0vKl;h3^3OzE+ea)MPhCUC{ z9)Vx}C^rFVLEohGJ#rSEA#dmLx1JHa#womHS5g{CeJPC@h8G=fE9IuXi6)vOK^U8eBeI?3|B7@{1@BZiP z!b1#jkfNY?J&>f5S2Q)fe0ykZ+hHec2ZlH)H`e2(X`31)HezIBE`{p))Cb+WHxD7z zV)S2j(nhH9zXk&DdUZ#yfhMe%|5{e9J(OvT!vARjKCc}P`l=othUreWK^@$|T=3L` z=&wi{7c>{OATkDNV&;f}ybU90UyKj>t*+deQEYj770z4nT>NsRd}FypZ+}U#eOh7} zfWPOF^vvlLEKN(ND0NB_V*5_!JkS9FSDI85`E-!z*Mjq-3JI^0R(aS-JxVt(22%*t zrtiNUKoPIGf8L=6sJs_pU>pxcY#w(=1|;tU`Ey}H#m@DCdGIJe8nJgur#2|oeFRW; zBvN+>0j#$sYpdJ$r+On!;0bI+pX-vZvXgL8RX04OjKo>-*+9Y2aO7n&))gIObqF^KzhD@ zJM21w_Vpjj(pOErjk4L^!LIIhO8Qq+;#uK?bM2B6-mu4Pz$>d;t*yDHNYXFbIYL*v zXUWF^0sGpkxRBu;lFk~g*Wb;}6FoWi;|L|BxZ8;*{7mikhK~}>C)$KAELB60Z^hv; z#8U*b0+@559c!4=iGBR+6ilEcVqY#U3eapDzQ=o%$c8o=>=Q*P6o? zDSPD=11yL+ao&*q@?r5V!(>gjfl8U4mgFvT`f+ER4d#o?+Fn zvxbDO7sF1=`a`!i^NN_yq>{nHwwgf$A@!42Q~gU_!;q3P>>m#w0#ek({RLE0MR6{v ziyvY-g%pK88I&5PC}E(Ex!5TEiIGD$=@^3_Y(dv{@LK^N^rT@$Ntg!SkyBN>);cRX zxMuz}oW62yBb)DIy8KVerNBL zi?}bvO1jY6h5tjD-M;ne0B|O!^+jcEY`XW2TEhCEPmaU3tf>-+wvW}GM6zvtG&K+P zlX%PP{X==|2&rOf4t!(83&}wp!!a}DK#uEkiEmOWTk)rO?yPl$_FQ&5omKXD0az&I|Dgdt4E*c!C~L62?1G}=$2?38#J9Dx`b>p6 zNcSz$GmSkadUGN4k_O{flc268A9lS!As5Ne??z~6wx+rHGyIJ&})HrhQmrbz5+F30(0}pv3?})urd))MJ_(> zO_RJpy>Rsnc-Nui_HbgEVO>}SIpXBeyMbAKewCy|duur`u%G=-h8t1Lt99ONawtI} zp0CekEMobMD=|m<<1h-yb-nXnS^unQpLSp|L_P$>Upxg_Qukp^9zF0e?Jddkm+&!C z1Q_vr@H>wWkXm~{HN473T)1^l1po|_s_qKgZp?Xt(c|U^o4R2Oh(f ztGpO1;&*r>m8?lU1O0-7=7s{1rN38TV9w8n{@FutURjG^{HH@`MJctwPX(aiPJ{w9l_0S?BR%;fJJdniBf_3{QsgwxS%^f6$4x`gS z3j6tyaeE0Eyi1mOC&@}F206EG#vFJOkVV-=sfG-q$~FIQ&)-uERwh{1r>(pz8lFjL z-`~gl+#%9+TlM{hn0OE^k!jZTU2hc2lW#&T;NKwqkfPW>9}0wmEyVj^glpIYPPHKv zHs1-4!LtVaze3qQ#r_kqxCP&@bISKyyZRxCIh6q)9`bs^$(G)(8w>ubk||)06mzU)lJHqHd#M z(mhl_LucSUe2$8j6lR1KQ)HP*YF4^C`e11EcqMK5D8Q7x$ykjfr}p7tslb?LB0y0w zNDliB#xw%N0#pp==ZB;ef3Ih+#n8nhv4GyS&dY6%yGs4Yw~EWmuD7~ChXGztL!JME zAN#Nu>&2{Fyc6t5yMY+-!qjyfYoX_2=a6qfQ);Ns!EVN zz~6xn0}^RdOyPTpo){*X-Q0*`z}G;04vd!>a?J3l`a2JM2=*7PjE;Xa?^HfMM38%> z2sLAl!jTMKNA|lReCDL+#%+1AJ>G&#ib}|l8JI?kls2nC&d*N((Vukohe`=Rt2qAn zP2Oh@B+H7`54$6WNo0|zd!m7`vdkxLQ;4Hgll;aBx0y6CUtJj7s!OqtjvBQOy%}H_ zYX>J`_vh`qoLZd917h6SYEBQeYE)D}zjmYN99G3PJNub#Reeu4iXG z1P8ywC63g{REmp~(h#rE+jaW2dt`C;S#)d?m1BSZ8XiA-=0(cH);(N}r;m|?4D3SE zBkoVA{}c*iH`-eAQU=JnH>Mqd)}e$nrs^G)0yON13zuzGf9-RPi0PuV9xt&%qaSxR z)HHb6&YfSjtt;=|?>|_X_xUrriOXAjQ%7thD1*_J`cGpLttTzeqG~!%&^V320+*S+ z9|Eon9x*hFMbW|~sgxB7NqH%KK~Q&Y`QZkF6CuMf4)YR?h{^q zjXu_c51qm56-D?s4Y|KSop0o;(9OKgos~M1sj|`{QH(KWKR}w4NEp5I+Da^P*3@Z> zN)HMh-Wmdu=3fjGl&}W8I{ZvHCI9|f$k?P~gaf18kX&#R6_s0s5Fc6Z!$Mwzm!qSm z;NrpS_z$)yuJAfMyrRQG;tZl~#XimE9L4-b+43IPAzOT!NSaGIqRC^;m7*Y{pW8DD!ZfN1ecb40)tgpkZA@&2PkOzx?sW_`)oy@qDYHGP9h5u zV!w%!9Q(jEThGX{^%Cwh8ce=Zo?hbAHJ7JQ(FTk7BE3{1@i;Sm$koHzJn|K`_Ch*=;EqZ1k zl;C~oSA>Zsw5L414Jq#=4q-Wn2zZtg=3 zynV)+?rZ8iqyUIvcYSG~(6ifA+U~3n+Uh=TfTJ40*CZ207Bnw{6!{n|<<@-OCZ4z% z$zSQi;vm5ZC3eVfi-fD%Y=7*?&W8F$e=cQUaISRlm=Pue6!;C;&FFEo-|-34A;_-i zp$Q;T(wPTle}Z6BSgaWdH*v58fJl8|_%Xu*pho7Yf4>Z72@+O?lpa&~~iD{BvTNSz#k zhb6cFcNdu+p;MKBe9IgM1u!tgJeiDgYYL0E+F1t681-zG+&EA}lCUbh9W#g%jr1{y zZDGvD*5Wa1uZGB?;vJaaw>3-+9#zYG#QG)plY<4jq`om+&~8>U2e^qz2IA^M$)naY z7lJK22Nli9i?KKwI?TIPWfl6mZWSb>8g^7A&sMl2wdxhIyFR|R1eK)!K9ct(#l`Tn15sz#@^bt4huMgeB@0qf7J&Dp`o9ALg|7_KslqGuUHuZX(_lq;~TnV zBf=PV^p`We5zw+MGZWGb!U_z^&CRoLf-T}%ZSScpB4{wqRAdB%(Q}070x=l)4vBH- zx1c&uBO*s{19F85l9~(F$J^lM@_IcOHI67~eJYZ4`)%W|-TVo0cP@qaL~BZL$e6uY z&ms6`0s^Io{fwIYB2YMJxeetbH$@s!99eE4pJUHW??J@Uev8V7PxbDXjhh*N&V5sd z`zcplsKv9mG2gbqjdTFoFMb?NlW3jOw?QSmo>3c;kUOIJQPMu9Xd;x$=4ls1<>pU0 zNoCZ`0+5;NGJNA9RxKCbsK}mmNPoW4h%JWcrfk^KK;oYDD~WwvO3(eLK3p;orZ-=m z?(>a4pswQ{Os)7Op_gjd0!ZKMrI<#ykBEU(srD)-?F|XmZ(n=>40-E}iVdR^zS!@D zjR8!-c08zX-vc2>p5eS2J!FDMl1s74Vc$tU!%ozgyR4_J^bp@zdi-Gkax{B?FVM`V zoq$$Y6P9#+^(9#8y4(_(2R2mHj>rN%8Nxx7h!{10!pknb_~m0+%uV@+iVe`1bo;f8 z3^<@Vd=o(=)?I^l0^lrB`JL#fQ_r|bc^$c(7-j?qp@AYgGJen#q_2A=Hg)9vMq@1% z7nIIu2Jt#bSjdO=GX4WQWl8rq7>f*2ywn8xB1x&V{;E5QQmOWvc<{^M_J{XIE57E5 zH>fYDpX6TZ?+Wm&W(}024q$eA{?Lu&v=Q}qtl05!BFory4;KZh4n2@j(-4mt-3vL- zygXPrc?4vd4yi&6-iIo9KBAGSPb}zFy7bcIV=leLw=)~BSFe24n>2l#og{^YyxUdhJs z90RXLx{5Q+&Av`tXLRSiwUkPMhcBnj&rTDfARk@+>j`nNp^MUMYI73UCExbgExdee=DUvjk*X*F@}>~n~}WW1z*U-xZf zTe!C$obq$_go<+Q@pj~Yxz66{hst_YnlIXlm16T*i&c)F%wdQlC|}(!DYAc~vA7DOfi5l2C&&hb%^uyh7?a!5V<+MQ z>ipdI-=0>BpqzW z1pp+jr^Oza)i{5H1#f@ydMH`R8Im z@c%SRz5*R+d!S&t`$gKTBPbp67MH}L*#lB$6SD&uf0`8eIV>a7$!LsQ1i;`L@^`{Kl0QYb)NzIz( zU=Pf|!6K+{%jPNSJZk0@Up+8dA*Y^u6NKYjA`(0QKK^U=ELlIDSIp(m^ZHP?;Eums z7*#rD_TREdW#oe}y8ZZE4>mvxNy05FPJ6t^N2_DLzx=g-X~>M?LsQzBsfn&F*_T$6 zdB^#EK{1*0LNT@9s9MO>P=Q?2yvUO6lGM@%A?cO24154dYFaN$t0ia{Nz0gXSzSmxTZ;0# z4?sZw=|rZ`UhiKlWmzJl%*ZGL!qlnCsLT}0JTrfzIhM@w4$m$avo+@m4*IsYtIyP_ zoR0u}P?5IgZ`H_L8|tVZQLh8L$?Eww3#~bM(rCBy1g)PO?)(1jHr?Bm@#j40-!u>E z(#>NT@3>7mkye~>Y|Xe$jKskCHD&b@c?$q9kDq!1JmCWi@&pK!L-0Yqr!416HJf#0 z2PMMO9~zhq%3Z5RV7Udz<#SxB?(g%;FN@~wY0Mm&YH9O`K3Y)`J+zPMGxA>MPB3BF zO8dE`4ps|Ob@b2wtd6!OdK~`fft~_s+??}RitVHPjdTz#evfx_FEHlF2<=ANvUTeP zEFZ^AlmiZvgfHnN1SL|XFAc}`W*4X2&#_5Hd9`3tt3Ict6CYn_%9yQA4^@@fP-Ae& zB~tFb|6Nos89<23x80=s8x>JcTcGzjpNm|7&17`yI6P@d2W?GcbRtxMz(_qFqkMlh zr_`}#^I(+qjiLsLFZ;?ca+_G;C9_UzyjSIoC{uKNFtToo}i8S$H(9t%&sxbP6+iM>K90_Pk&X z<5)GELfv!SC)23PVh*+z}rD#X%Ag*P<|HP1m1s>js za$Hz9y%&bYiJ`wAI*Q3jEN>u5X2Hzkm2OF!su7*lZ33*TP%M$swvSG z?_s<$8<Tnzk$o^d5w0~Mbs#`9_`U9nckrJq0c5RHki!qQzxdP(?YHC-%*_V~MA z5s)f_zi^{-vb$7r4fPH2NnI>q69DU+6JWh0GV&LFwMxxLYhlaJ38B-iOml_)+%HJO z7LQWP>^_*MZ4tgK7*f7hf>e3kW{{t~vLDq@mw1mF>qKfeA+OAmJiEOySi0w!B#u^c zfx!)p;TcAY@M9^yM3aH4zBV(8ce-wU^C)|Li^JxbBuBA8FmFl}^XCS@i5qwK749=F z`Q?xP{;ZV&v|vLjMk$;SaoH8$kO;eVV<#>3_qT=0p5H-CI!MN~~7J zG@G^|8qHMpkHcQ+1<#3Mmhi`nNG(t3U#iy#I^2^q=NLkdw|&;fr&;#CHlb#@08$J$ zd~JD+3q7;Qv#8md>zLxxM|woQE$gtWPlC zWBVP9b>#QwyvGo-oz+NTsIToTwCmhm-QQ7XSuk}`dL%NSrk=U`18)%P(>KzmY2A>H z0gFhkh(VY;jF1mvP_PXXV>f0`=CI_uU;flR4BOYw0G4fZ|+ zUVGgZ4<#b$TG_YUwDOcCaA@A%HD#j?nzK$*6Xu~ksE!MmZM4Q`2i=o35>Kp*{!2S& ztS^jq=vdeXv>R2~1pbt}@%*_S$?1Dqj&BC>_oDJ))1f$3Y(4x7pPYC7L{il#$DU&}nzU8sSqY>+ zfJ3l!GO`AspvIr{A&fGH642WE!qa#6V{BHBUGeI9QqT1^(Ar)D-m7)xv^rpxI-$L@ zHHTIhdCW1;!o_;Aiw4ivjsmLJLrLb2WEHNn#kvMKX} zBbM1R+RIO?2)UN3!W@g7)V?xIuI0qTbaAWaqu#6$Z#@?1?}fy)5)XZUhDE!`h`DC! zCs5^0!hp|X`1JFOpZYrN6<>?m1ootRBGsiG>WtiZl4r_i$QRraom$4o?aO@%>#L2^ zANBm0MbS|B*hnoK-V3?3B{(lOE1BM~cCj23$+SzxcxR~wx5f}w5S7u3 zW(gqDDL(8S9c5*Ho~gW}Q#_#zu0PGa5MdsH2>S3R%vI464q zxK+tEl@I2aKc% z?l#eNZ)P{o3eHmTw~ZmeCnkoEV<)J%|4?HJ$i8$iU6@Tr+=9MC<)q()+`ExbCpa&~ z5(i3TqWxa}9(r)GQojSXC=U8WzAdBM_{Rn0<2Zx;>j60WsS(hEMg{t0Ek1sYwKSL> zZ>^i9*xDNWJyhS9pFdA(KC7~qbpaPhe9M10H>X{q!8U5aW@OM&-H0a6R*BW`X%PWr z-#@*10d!`pY^lN)HN~K>uwv3vGpQFsP?qR z{Eh~2E*UESfFKIwM&QUJA1FESfYN}xSi^=o9z5|uTgyxAYi74o^du<& zF?UDd^YB+86b+FZApe_4~3l2b(3%*0S2?}t}p_piU|O!W6hvCi&aEWRD{ zHBypBK`s;bhFiE&yW8 zbT^#4`ws(TH-U1{Z+ORYc;nBzV&eQRj??1A5#$dQGO)BcW4jKe~eOuAtAk?pLJD;&5p_r_NWJ z4i)akt2BHpZbJ(h9cnhW7KMu5@L`?!(pL%%kA+WayL5Or^GJag!0gi^B!~lQ5Vh{5 z1BU`CTi(%V@9tXU_A0l0fTg4EAs^&ms#cnh%4XOj6!H8+y%$PwemNv4D2U9YkTxXf zSGZ{v4yLy;OB2WL?TAjBZS(NL{jRc)iVVWr2LWU6pgQhuE81tuw`mb`4WPVA8t2!tjEuCQT>L+_#P2;=##_utIG$7!e_nObRpi=8h%c=7T=+q>JL$ z{-!(9^+)F9SPK`%Rs1iFWwqyy+4COLo|Yw2R6^Xe>)*lByXKLClJ9OPWt-14F;-jtdPL~3NB=R-Aq3|iwO&Ar z$-nz#bWMTpjiAKu)=5m#mpS`~UR$HCu^kZg04uewi&cF*f4*2dG-@p_cZ%w)wQN>e zK~&Gh*BmLKGrsrY+&r1O0#R}B2h21y@9&4}I@G&=v+tXx6%bNZ!uir5#CG;}(Y#*{ z-kjnAw`Ah~yeXtKGPfkwRQylXSS8w+=RHmHCfF;a+OP0nxobaiwA@hiGaNp&Bskn3 z!6v+g>^hr&X(wgpinX1RA0DqaP|7E=$yla7pCPYLM#GBOp@@sVqf71nhJO7LMA)@= z>}g^{ejeh66Uy*ovTc)B>y;oYr_sOUIm%>Sse`1 z^GMOoSL`XCE62`vwJjkP$OQpmJAI!n(_r&*HXa26Y&QL%Y3L;0?YIWU_=B=7HVbF1 zlR~NgTS6cK+Oh)k3|=0IA8b{er>wJ`J*GUvjOH9GAHF;CEtqa7%KhD1)v^z*gFeo- zbZ-wRiQqqdxI$bXcX6qG`E#auRy2(1mP=)T)LI>px+t-__9I+`PEE~ke?veSYXui zJTwXb(PoI2hY~=mwa}3k^tHySek)$ga2IF!LXWkC=R8Tz8fG7a;))a zzT9f>l@sllY6B!JuiBEMEVEw8nNzsx*Y85T3TFS@=XU*a6)AACe*oag=Exg(!i_%o z2A<5EP+dL|=9#{Wd*n0-G{ELCXUGJ-4-xSqSsd3L;?h$MvoXpiU>E+Hsb96ob;{a@ z!>~yxMFg+i@?lJRaiDzpIUjq6!5H!pyaB@D8sGXmJ=BST0;M z@HYR?a!&y`k*ai^yRyj|FaghKax1Da1#*GI^Z2X|nwd0|Y-4&YH-G3|4P9@Wv5UCT zE^AiHcl#6#Hui}VgG;dPG@r7>4JOhp&x%F%az$=dvJ)v5@39*Gez9)}(tJKqfdK6m z-yz;VWYsrxL~_cDEV}9GGzk}(1MgUHcykhE0>SB8YpTw}?E0k=EJ}!Re(A_Ud)Xst z*xFLcA zp-7)_drrE1wfA zo$}JT2N4~|S&cqiR$JB!_ey3R@GkA}kH|R5OqYxgLCI>Usm9m|%YaLYl$)D{2>)dZ zuW+gWLDd?_kbBZm$i)Z7E^Pi7f{y<=uF**m^R^^PjcqA}ZqUc&1|Ix?eMU_rZ1Rpnt+)Yd#9On5XpJrey} zkKKx4eJ9*A_o-$0p112A#q3{0ed(Q;W{=~tYyc2+l z0n?*Q|A!B)mY{=+CQDLmS>y{^Oy+PXqeyYW#w5|rk(`0z7x{p>Yait;!2vOuM0Toc zL!qv`PtP>=+dgkWkAmTvWEYmd}%PGk2Zu(8fpVGfn^k&qgG&g}L=2@Sy zNSC`y+K?mfA-{DSG^DoGX%+|mLG5)7M#>*FWewg%JkEM@8MT;}EhKfw<*yyp)ML*=af{!fU` z7PtF46H(#7tNz@XOy(WHjGz54J*KYSH37a*f2JYRSwu|M?7m=24n3077()7A-DUl& zq#}#*%=%ye&K0z&V{INlq~d!X0}xkv_MO z<3^h>vE5s4B+70{vgkQ+UvWNwH4X!ig)HW4lsi!rqjakIvY7~iadyXVMSFT%7{0Or zh_4h%lU7Ao7eA`F?>}V#5&uFzh!QA?c?BTgd%u}djyowF{8P*+3ZcFvlOe!RNe7Wh zY4Lsz^@{W();HeZXpgDRz1oSc^qG#uZ;>0A?n(_da9DqKU4kqs3{e8ivTozyE+UJ* zqBcz60n~H41~#N-;TgH9s?OD0g)gXSFeQW7Vj4(ooMf^TydVH64P}HCKmcH!8y(8M zOCtndM|5dzeaV(+zD*KAOB|e5&RW6i4MBF+^TG3UQ|mAxD!A2M*^}lD|04RU z&rYICTv}#HA!1<**wTH$JMhC#N-9Qm`kzb#Had;VoV(7}t~0xJbGCH`!c?CppO-_D z=wKane`*CjzP_+ux_=xSofo-x`AB8v>wC8F{`A-9zYo#0Q4gsXALv|92y`oi%oy8+ zI#L`YxJ}$sfzvUjL9?V_(Yu>fW|oILf_pv>m@yt{{<#dPl0WG_0UmpLz6rAr@e2(q zH(?xYpY+fxK*uvs=*Tm+)zC1(k#TE*{gEYF1|gr4tKp!n>)sc(cZ(U=G{7rM<5gh* z@^Me-Si;JNhO@{$d+j!X7M2nWPHO8ey-6!aLh5O6y?{gyEmi#Y=>3Cp-ab2|#B(;Q z-F}ZoQDTVVwTmWZ&h!HGE2ldGF~*!>gFP`-HvdO8-$N7xChC-6|V^ z!d~?z4IZuulp<#*9+`cf!gK?AlMjU+2p{QZjpb15)3<@x8Wo=@(6x_uWV{ABjy1@i zXyOHK2F#&}_L>RIc4y9z=(_|S@6nj3PE~+^heM1FvmJSh&Sfy(ydG61fYQ0i5&J|! z9jbJ}yX;~=SyP7(TAZk7N_daEc{L`~_l*Wc7`bntlSjX|3WGqguDXhe0~7wx8BiL{ zZE)C#Ig2z8wgKp3!Gz%Iklqa(6#{l$U9trTG2_njBh4(w)0)eL5outur9}2Pc2if> z2F-&DQ#L23!?!`{&!hadruDMFhEKq+C)uqFWCcyMe@&qC0&jiaNXbTScnpD^i^?^# zS0|=#iw5M5wT+!J?`EW7{o}$$x1)Rd^0+TQ<6>22jpo=NPudjXIJCO%=tw+v0I_@5 z8Ma=9>u2BtHGNuqa?gTgT5YEO#6y5xO-eF)@P5^`Z))g2-s#Nx9L8g8+Wed3MtTyG z$g$Kz3{BWRpfgXhQC`L2*oOholEmB496qO_R!J6qTIhhnQ?B>SwooahCjUBa9Z=SU zKT{8fc#K_l_ueByC9!BMf=Kks=AtlCiZ$nd+p03>Yw>k=84MTxK02TzCyNZ`Y9_~X z-N{Kzl*U(zpwikKf6NBaH@JROq};TF?;BXNjJH}eQPliDwkpBKsYabnV}JZa9VFu| zD}q;>K2)H}kvL!LRF}%XEFk~=6xnmVceE5I0!^4Rj3E`>nXxW}sBQNVR`Ii!#FJR6%667*n{VPCn) zFgwMra~2BWx{XFBOREutPKH7V4o%yDmV5n1-Ud&Q)A%BY#=mC1o_G9?>26Y9!&Te} zU^a(G!3T8<>9^;oeU-QK_N?9l-FeRO2^E$rZZ6efbVZ3dWQthu#s)1W49*5702UOG z8=^Nehvt!$I#n&i!8iDs!?qwg_w+`t_622C?W_7Lev}(j#Yl%s^5pz?|E;T8TAg#% zDkdbPxLW6KW`RZ7P)V_)*)Yw?YCZ z=o^Djpp--QsGM2Nnddy%>k*8=yR1#?X3zF?3DYlib1M;4{tlxN$xeWqh%O?J)y@|p z_YR0MF@h^um$@~m%uI5pOFbQgU%`MoZZ}Sazoy;(x~_4Y>M^grrR`dC!9X7|)mUi! z=KAl`<6h$F&s5%(N(aqOM~;*QV@~I)h@?BbD^_x#qxKH`+V5i`|55LL0_|JQ9&Bfp6e*{&0crFbn~}u9lKGHYU%@c+em>Z0 z@MV_vNOmI~yWq&tT{UtQmDcVJuCL?d} zvRY0acmbrt3Az9~7K#c19gs*K_T8gRk*~-WB!G}8+GF%inVPXS3o+_nm0AXMcf3;! z^VyRrqK0VK{(nmxID$k}YJg8Rw4C)Pk2q|<17kr5r@ZT!A7Fw11rqe^GB*nR48MuYLcRMo4W%nj)`TNt!)F`$K+XG~x78kgC!L}-r0)^E#rPkVIblc; zvDYQTpzvSI(4z7n6PU7~we#fC`6c=E04G)?VU-8GMU$k6|lJkN!z2B?v@S7efc$>?%-~ot$vV> z_E+EVerif=!EZ%2`eP)J+f*gZJ?rv}5Oj3D?>FA0m-7j6Ha$MZ3IXYxHGT&dnGE8v zxFk*=W|iNmSacJ>)^%s>a3Z({$6?mb5C4V_^@wR{zb_&pqZ~c$N(-b3V3#W>)Cah` zP{=W?qQBk)#Kxw-Vh_vuwzOiy^Y%s+`!7qAA1?ErEsf31rNUm&&^GQJ=k1 z9O7q#d?gsc2OUGV*eiBp=M9e97tN}DZY-*q8S3N+!GYUnIhrK1nHkml7l&6x1aBF8 z8urwa%^4~8%~R|WXfyXfLlK1H>WohRDCbGA!0)Q>&x?iI$~ffW_OuR%>6TY`Dg%@`!PD#NIh;W4`9Ce^X$a6 zWSgd}Cv;hWBpr|w>nJmVut|C zhYlzTiK<+wmlH7{z`!Ir9a;|F@RBzr(jhyBPbcl3{WY1p=<-?t)0+YE$Au!j6=?v4 z|80SZ`J4M{VuqoM2Vl9+y^$A^SuC~wS$;bS;ZFUupy5Zn>|7QYII6*OQD_Af+-%_X zj0p%ST7+0Bb--kG!#uICd;Ij+@yRAh^N0QWf!IG6yY)8}zg~ZXAnr^y*wy2on5z3L zG@?kpn|Siw5-?)#>pDq06_F$=M`(ZP@GxoZ+Uf$7VfEz-xt_`DDINuvG^?%VfbjkI z7j${@_GvV{OychYQl$PG9!LOL5Fo8e;cx{pet@^WKRWg@@_%|l3+a^~2F=j8o z*KbEpP5UQ%2gq{^SfmBWgW3~9!i4eiWB9=41?d# zRAV|^5jQR(mW7Fde;Ts+#ji$xSp!!gW$G7;t1-~N186KecNs*HmuCo?#JHakU&f=t z|3>~3Y=M^6a^WBR-lSz%<;Uzp!$|TCJoxaX@f*GR!;gTN>%ot&4k0`<_183u?cxKZ zj%l)2&^M$%D85W}`$zYg9l1R70H3?7fk{e8Q%ZvqbNjpOWpk`PjnbnSq4~U{Hqe(b z^_&CgZZ`8I?sULfEYv4B@}X=q)+ulLQu<^Ix`vc+Ba2GV13~#!ymBW{QF;Nk|J2+S zy;YQ&z=$g@P73=-UD_t#wNax(mY2whVI6^sD1^!5#dFGf@YgkQl@kxAQMO4AJH=p;I11ayI2*rF## zS_-$$g?VF=8@HoNrL7DDIAA450E`=*Wm6`)seVwWC%V{--axm3j@mA&@U2UV87rF+ z=SMr(M*#uo5skV7L$BXHbsK7~wUCc?#Rn1&K+u<^mx3+(s%UvHMvmFZPk{yx)qpL2 zI)~LweB*2pk`6}NFknF8xn6tesS^}?H;#42MD}9wEG^`0*YfN_3@D3%DPPq# zEzhzGO6=cWxXZSPHW!s1lwkpU?M=@fXXTV%U;4I`&*=z)BqOz}#W+IR1|c$pTs3c- z1A3Kif*SK@XFtnP)3gVV4?GxxGinOez#gfg7c4S&2YddJ5u=MUI2~$Vx)-(Fo6F%X{%{0fLG7e`~@ zsK8gMbLQts1~JFu02X)@fckIs1CW8u?eYU2S$b{{z`p%gjFRYn`%bhU6#Y^|Os`-i zy{9UwkFuZO)>ZW!DmZPhyPIdT&-xUyk&hpNH%PdS8!YgHZhk2KPmn3SQQh7!8*d^T zaC-e6`Olt?ftIkWhhu?qS0CeZ6yzHQN-u`;gK;|Cm{zG6$Gb~9rA95?O114Kt(EIM zHKct0SU=h~SZw4d#a>QewJe=WW=BO5apdO4=xGz*=Xix&{V!n@uGn*XOMSjox-Xw( z%07|64}Zo#!)O7@x!-^(#KJbuv^KzM{a#j2S-H5SLxfwpTUHFjDJ&TUheFsnlk)7tdH_)b;O12PC9~Ygs!3($AI_oAe6$2;;aY4QhpJIm>?tezLY`or+ZOt~ zLD=kZUvwP@LrAEY;BRvxP-Ow0Xser2LMy0>M=8zoM<09YQXqV5t^Vm9+*o#9P}1l~ z3tfsP9+9EL3Zkcu-`DscHjQ@+^*`>s0G9!E0WdibF;B0<{(~EZSbexAnvAX~Bxs8K zN8=I^pUH#^)U4Nri}AhJdlTa`BNZJ63|z+FJE)8vBuUHX<4FM5??oTi8blxl%pjhJ z4!m=Q3F?}$rUWg@Y$Rd~h9K|G7HLD-*I#r>x~!$lFbt7PtEQK;BFX}}ET0S(4kq~GGmX>v?YH%dK9c2dO3=m&0LGZWryMrnhTgmu zYph3G*MSW&iUY=UEGil#*h~3&!H@Qd5+L+t@}#JW87{8<5wQ8Hz^o+UFt4zi`PXVr z!~SPlR;?f@@0F3mG_tueB67B|$#zu$GfeO=LE0i5Oh7EBZ`*3ox1m!tMK-`#EKM3Y zn;52yNG@xTWWfzkVUjWbXT3{yTKRH4>G_tSkgOT0r7gfT<=vO-xKN!+kn{85-rc-G z9f6U)2(>oN%1X$c_Jz9}Y#|xGwqM6kncLIRA|psyxU~>vTrpAt*=*-Hw7)K1IJvON>ha+0cX6B>|_n^@#2EFZ@z>G5}Ppm%CCUa}@L>0-FmIWZWEI$*~i$C~cqUPr^n0pX5 zj37Q_XyKx;Br&^$YM^#}$y5yJr6-Gnl!pkY_s)!+bFJuDSbc zVq0KS_Pfrb@SDC*uHA;{IeD7rFy>GCJvsLNug-zEe7nA%WUcSZE|V3d9~qLF6 z4^rw(w7)ElZsnGeCLT%TB{+Tu53Kb{`uarF4dF8?C?w0LQhV*bs7TRznk4JIS*7>` z#8|-b56zG(m-|9Thk%vdF*MT9m+6r2Y1HDW%$s=(us5NY5%OjEUoHT*u$GatFLr}y z%EzOb@C*!MNm9eYXpTN-z^P6|Ko}TJke$O&=8yl)bqaP+Ox}tVE=l`A&-Vy0yhl#` zM0DYpI4(VJ*wNp7P$p?na}Wl|AS)ea5637*-x;0LBG&KIeS#ec`rEsjcMJZuZpyA( zjm8aHq^|Kc90Ww3P_jt=8{t4N1u*%LVYp>|JJT6|bV=Yj*8!Q)%noC`K^)oq!m)1B z$-{=~9`-}sQL50s>|ZU;;p@5KYw+vI;4QYS98s=UpXvV$IzbB{pessFk ze>b9VQ6_oBhSqH{{?2g-Ia7IUlsWP!d%@6V*w`ge2sI_-p(_LMe(TWs;=>gJpaul7 zoWWv}n{-iV(?)a^ z*CO37mG`~T#63?5)KqBD2qXw;iTF3z7d{w|+KP|aa=@~^vC}YrGTM(b3;{J#LZ|XJ z*ojN0H36V)bH2l&yZk}DF3w(>QVM!xD?eevQ>P*T-YUQBWG{Ek$gBkMq6#K;Diu$0 z&bwbrgucN^LMM|oYd6SczP>!O&zY<;nz=gV?x!#B#3Y=TKoAeM^PRn9*)xcKD^Tt5 z&0J7v3h<;d2;nN&V%1s(A2|m*1&KM}121?EbbFXL|0B$^2cW|d-Q)+jkvXMD8uA%3 zL^66&=T_y=+8^^#N&z!F@Jj|HyEOwzbb0n%oaFe;gvxx}bzj4uN)$)Zhv8?#M7L$_ zFhFUzv*=oI+j^(AK&nbvH=Wh3o&`6%3+B9MsqsBh=!s|DzVrCcqRmso@TeyEx>f;J z@}TE}AHFKC3GkUiP&z+7=dY$?QVL%xb3g&s^PX5;cf&$Is8WTj#?<3gS|=ZbvI&QT za`uZC{n^WC1p_YR-9@ki%d7B+2(3`QPMz*3{sfFzbz^zCE$yIMT&sBz)!}~)h#tjr z3v&a}N~DxF60mm)nc4iq-Sh>pF)IT6G_}TGa}7*G`53czeO+o!S)7keqW%4^rsdRZ z2gVa=dFgR@z+qq5FSX27+$npx#(6ZBwN8no{TjuFm##%>HZ{eUQoRu?X&^$ zLBAwiWPwAcHa2JgF?2=as@i@YrjeS`1xxoe+B>KH>gupU(4%oDhld`$7~CLYjHFh( zUyEj@tVoTmAZc2JudZ&}Hm0�O-kyulEVePBy2B>fGt#!zw&_yViMVuNz0q|J)rt zO=ur6#tbV~cKv;02PE&Suder=ICnH`#CN?v3^qW(PK7uJ`KS98fXZPTFuKqyPRvZV zu=$I$8%}eLD+3tO%ad_F>HeW{l_ob4lO|

r$s|=S^t{v{p;>^noykh+d3KG@zA%2o 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

y)_3_E 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%0AeHf zol#vN)nG|md}nT+L71o+Z-b<5J%ax^PMeoxC$WE<}afL|_ z3!Z=L{_v_Mv*8z7s9@rnIe2X{RS7_5^MS);WV|JWY>ACpz|cINxBQKk*c!dc;{;3U z!A$fTY~Q$2=FQW*zG(d2Sr8zuUTv!ZdO1D<7?Bf1V3pk>x-+lwV%YUii2J8u>H|e) zpt_M6Oh5&Ro=@@|%_UykD@wuhjBEvs!L|76R{H6Nun%O`!6os{(L%f=J`($u_L-pu ztNnBP;wvz%yEw`QWoDH|gJjEuRAZpw6TPW-=dG#*O+HoLcvRe*H*is`8OVO&HC>Bl zw+3r1l?Q0-{MuRk&QdLYYkp}eZU*=uL@M}z!720ba?BJ7dY;?!hPO6^{cX8E&p^_ z?pa;ciBchvIoyJ4VPxbNw^ogsiQJa5A-)|CPDLF$9w=NreaP+-iX{@<-?uum{=4(r z%T!DE7)*z2`4g9O9K^m6WdP|clLxO4G_tQqz(-MBM7iLV1YzmbjTuANmpiDLr3kKP!M3r@2ORn8(bjvBTQ@>$v#$Y8l`a-*~=t`YRUM$61$Fla(PC(e^i3%o&kpLP$I7QC26jyiC}q0 zmzp=9?C_H>dJyOK`a#9NCMLPEuWAJAX<Q=V{)r8JP3Q5Wx4nB}xkk7{${m;FQvGiw zxRJFB={ug$Lc-#RiK~@CV0~ZJeL+9WFzg0|q!9wYnU$M_F%$Hz=W&c4C2U2m)~x9k7+x+pep zce0y>27tjVu#h|qgQ!RY=(V?vYGY3NOwSi0osoO@bt_Wxi?h4YU%D5veo_NRyzNr+ zAZb9$wcZsPR!|jw*E_Vgl#_Lb)>c`!$239ex|60QWKf|;Pj1Nw=a~_%H%naeBmlL8 z4shrcN&1OAHs<-v<}DCXF?ldA_I)5z-3`kZ0P>OH^9E=^fIw)i$WQr6^20Di8lU6U z(<33BRK@uEIzsb=jc!7(5R@Hct$(q|Vm=Lyoj*(ahL;KbG)k?Zi- zf5hCirye9K&?T6nfY>E@>!}p0^|{)(H;wkNo`!GYz*fvPrNVJ};gxP7vm-#>e1#JD z@gaYwALI3D;=J4a0dI&d8e25KWxhgVB69!*#Kt= zBy84D6c}$QNKdGOqipb;&*ecD8GaU;FejDwsg5kTk_v>)&EA^oHaG#C9mVlnN_Tz` z!Wz+J9EowQEz_uh^BePmZ+e0bU;djai5d|0^V&VB>6rEArFmyAZLjn$Dr~jBP40c10>RGw zj7O|Q395z%6#sq_Qk`Z7kI8QVsf?~2WUqePTZAk)wRd!(&N9FpB# zY!2}zxjTtz4v&CcoUZ8|szg+Ie+ri|{4AF5 zux-wfPLO1lZ+%iW3^0Xv*&ahf`-kjkZ;-^+pxU}G59)?U$-yTr}*gyaGME)`bwuk&P1&mT&Q0VaOjdkY1-TtLc zTemM+rLbWC-3GNgy_*$?4JiCU6g(hi@6wbSGY`z8)-xHiUs6u{`<`kax6%#X6Dp%Y z1GZPtNz7l--2?I1!l+tsn54{VKRaci{(0lU z6m@6BT_2Dmu7h8MVdo{%yJILy(%Q7LgI*FVkA#Q4!OlG~c5h`rabCMFtQvQFYKJT7 zg}3_MJqND?|K=V0h()57l3rL&+MZY1KLtt5&??t*YfVD|ra{b|DYD}EJd{;?+KS7f z9YYMdlGo{)_bvRJZ{f_&ik6m#{~V zn;W~a&>9@4+Z13%Ddyi2L>?X$Z%xG$ggI_qUQ!FRy{88nONbHYgHPJ==K*_Mdo`ix z+b$5>DORasuVd=HsTVz@jCO;ddb%|)kX1OfX^m&E@asuV5Dkf4fbzb|N66{#*Ckxw z(LLnLo+35tc`i5qNeDb2fq+FyIqd6uEG}gUNl$+1zNWKnHU(eNF%sR72N{@$3$_Z` z`Q@~%6-#|B@BH1U8uz4?;^Lb1gq_z3r3*IXa*r-yC5tLJ&RsT>u=SfK4DpO9F5 zyWm4VJq-LV)ZN{4d-V}u z>0g{x*Ecyn8-9kEZige&^?|Y2!cfZ8$I$uG$$o|~QHaZY`uCIr5h1Cog-%9`aXsPA zh1S#QUZ6##gbuIvE&$G?R$HMXEmb@G)$&SypQ-h>#;|KzR*FYK|FrMQ#`ra|cUL(bRzoE<47 zg~@rAfjQ@MFPGpK3?q_sjyXQMnV}OCT^&4ZabxAZ{Li0%hp7k8aheg3HTQJ~Ou_4; zHaaF1YV1Z=IC9J+enh+I6fh9~$z)E-FlTMZZBaZ@;h>y^A|46&V&GY@ZBf(;QpU){a8j55wH3QDzOsdsk?uo_y|^a1|l!~>N?AA!_BsH`H86l^VC%r zue7ceE`KvOx`!M5YRm)G8e~i(A-qhzH4-;;Y^wI}^|Nisla;QK8h91g3N?K{TD0?(WT1yj`G(gwVm$KoBL7=*6(ufV2dfvEX)SrBKwZVL)cZAO ztbey*4!?2phaMHBX?B(<{xMSjstGh3hxVtzy<=#LX$*8ca@*xfIHiO`ZL`?sckI7l zZfi1xkPGl9&LO*vib2{>R>49^AV`s2^Jl4Fn9X3l3R8w{UMH`S{*krrrt z{6dd0)obOBl8r%8fyepXow#;+Q!vT4eZ3u=K`sTedlv)e*s@F^y(VT;++Fq`&Y0!Qq+Wd1m%By#^2?o9m#^mkz!ZD+|YGcd{+oZnM4b*7Ue~(Euao^B~d^~y!FKvKi#oA?Yk-P z`3OM7W7H3s^dT!%-*M5=rX^(Dx8t-iI*f`}e<4pX z>A2dkd{3*0-`n_53yi#YnVa8=!=vf1qzn9YOzyb8?16ME_gk~iyk%(xc z#`+c4ukEAU;YjR@#jCO;3X!kMJJ34eWA>{N=Z`z;sgx__&MB&zV6_)#W)13 zrkea>35-uww`p^l%vaxbr{1=#y>;bM`QwxtIR|%MtG-9MA(t(Kn2>+vvOn^=j7PeY z)WZ1Mb1<5$15v{r8MRT_EHMx~bNvL;niMjKXL#l_^eh(4ton`_sL+Z>X4}CORW`68 z6#M0c3kA5Q?eRyHDL4@;RQ9+qBQ>QDhJ@`d8!lc9}26usCbTzH6RGz&_8}{ILt7e2qY47s9v}`kca6| zH$0{7HJ3!u({g&opH#z zEp#6Q%UHuT?_}K7)r*#}hz3N$#t}B6j&uXd#VfeH_4v`v=yz;$11wF6GG19ixs$S8!hf+ez$nDU z1^zvhRa{O*NtsF|@FF~872cHWF5>>gQNF^U05EvXcSLjur#COgcWke-7!xn#lVB=x zKp7lpGDKz6LPu?a{LxYAA3C>A)+T(@Fr>4pObfM47=N9yz;FK>Mi!TB++-dFGom5RL7>FEW_rAN<9K+tOJ*C zfcF7CA0PG^vKO1}V+fx~D?pcbGW}JHgcn%)-eWQ#h_pGgE+P;14OtU%=1TT*K1EDB z_|dX_6l`uFK_7%nIcPS}3G-X+k5l?Y4l|P=YG2~2LR36~!$RpM!3I0tK5Fy)AZmDX zzj))KfsIvi2GPEvJRWygMq1QHkpTIsQ$FIfX^!8*#u8OWd^9zwp%K=O%c;UGI9V`u zRvm@M;rHI%F+Oebwq0jr;E>(6I=*?#KjyKMTDCBk4k zVWyL0ZH1NPX{dg$)N-OBw=lt_Yd&-=?&u*UuwOk-76i-sc+l!P1W^;jWU{GVj>7Lb zjxSPfk2}u16|0Jd&?X!lN~)oY}1aW&E6}(&_jz09*ViE5-jOWCMb6+3u6Eo+FQ8#Bz*PRg<6iY^M z;a<*(FRC!Uk4}7h#hJ3rL5D+=ylaM|&bQy}?6x|+T9-rUs}_Z>>o2&o$x|u!%%`G} zaG~vVA}xj!-i$4_bbgt%fBFaS#8TC=WmyI9X%^cQp(kwV~p!BEjo0QM&} zfic*ma>SU+x|ZnAO%+uEkqy9?%sr)?_<M)suBd#9sofYA#wbP>T8*5x73zYYl>Gwg}GmSbLsD|Iq`Y-cPUk7mpV?gOe5|( zzHu{|i@h_x_^2|Nhzqe_X(5{qR-hi@o6NRL>f5+po^(C;esn_O`%B1U;&G>-j7F@4 zN5Ua&v0P6y)yp)Pr~ldhW*y&U``g^b1-b~>)m;$4Ih{ky|rW>7@; zY!i@t;+o6aNAuyFm%g`no#85ObVf>3$U=*v!z2ParjP${T%(Xus0x^FseRSEyzXvK z_Hpz2L=nH)03lDJx?L4<`|GdY*9M!;p(Wos7R$!r`8((bcb&y7))V2_uRl}sS;DD} zrXzmeQZ(b}sGjZkWri#>QZ9#d5$y-lium_2<($0r*yT&~!2vN<5sSh~w^0}9>W=0S zrbs&*tIWGXYPH#_=dyNR)4Fl@NznFI<-`Cn_@F`BttFvB@wh=@6hF~DAdpwRZmk^- zVd>Mk@~7ZyfUwUMeHVmR*)=+}b=M#adUockTy|7wKHAkhG%&(4U3u{hK~n^5=?3%ht*1J1jh`D_Otg!mU7Mo)DS2U8C;U1Y|tJM!G66x{U$NY-%Q58~-2 z>px6SL&df;+=FHbq*Qyy>Ypzh1aSjFu|;y(svGacr31+MlnD*7M-+U~6MftHWaHIh9)6h7ru_$#m_TfJ9!d#}W@iNCSEz$@D@MbK zU*~PcGPsj?C9`6x`m6_@PYQN-3S+peW^IqU`&T;6XvVKKvVrKu;bB9*61dw;_TpZ7 zD8p!;TNgICyaPS7DQ;8u=?1CZo7jR8ACuhI{QP9Y7tH6dY-)O*kI^t}YAj+v z`jH7l$Zv6UgWP5E{!H`Bj4>WX9fUawdmAQQBpSGvvozv%7A*#?Sy=K7hb1B-8+A%% zdI^8iHnxe=gN^#Xq)2u5g=X9k<&CqU0CS8mC{kg>O;xbO$4K2Fhsht^;oN9<`$aSQ z>{;k@G3kBV#f|f=Yqy*``=M~#(y|BwC(gZhP#Qi+%B6!861bY?5S6oYB z?7k$yxuYbTM4p6?l~HST?ArIT8A%~!f0m!6Ducr$0cRrRAtd>KjN|9_z*~k;IZD@Q zENM*T%|XoxKrbs~P=VPz37X*yo<+24o8RC{gd^;j009X2PFyND3W6Wv?R>sW$)D-l z8iRaWM2xq(A=KG!|y{2YrN!63`dm;G7du;A$ z#Zt-NUZ8=NZxkoNb+a*uGCI@A_Jruusv!@3ZF?+IhP7ze2obhowscL0t89aGdFA4Z ztC~-pfudi$>S$w9iA+krgSM3@x0Gd-dS>xLyJa4IG`A6R3{dd1f zV{IOH?A!txbmFhPYvMp7ON9@deEu#A)1@ygnMp-BLv_5@6v83yP6)lnj)+fVi>U#N z7$1gUxYa?*=xCM?mY6f8^3Zez1{;!p-|;?VCsuG+I3@E0vtSE9Tu;{tQpZeV-9RGD zKCRHqScfh=iiv;Bo&k{S6u|@m54^t;Hyc*m>^z7*%I&OgFUnCXuwd1cx!y=fFw}wK zt1h$b98B(~nEccE7ertGbWpp+rW2_oSztC?2mtC~kd&bDc>%;T{&$*UAL9=0_j_AQ zqV0mp*oVRJP5juH$E=U%4oiJ)2@i)tOikCx%>(zV6Y*PjFGINt-|icMXdLO_SD91H z>E>j;*U!HEU>_r~9SGh*!BXejRy@v9h`84QT6@O1;|}G--?Rf(Ke1{4wgYI1qn@Gu zyRA&)a2H52d=6a$9*Bvx4eojb$G1m8*R;&hqRuR3dV9FTYH56I8Iu9ICEjbZfdH9% z_F7qJ>IDO6@sAD{O?9kH=JzrBET71v7oT==nly~PP-^}ph?TjXFOIjJ8m$OHo zh1)s1_g1QAtgf~V*g?8~TNFn9Jh^G+tNue3DP-tq6b%H$37NV>jyTs5KYqYIfxzu2 zRN_@U6-_!1Mp0l4KSBG^KIQP=I2c|5kG}%Rqf;ju4yP0 zPQ#ts(N9WUW)*gjl8+VhPCah>F-i0~pQ^V8V=EviNfyae7c=H+n-~pMSa8oyAQ_Al zYCAsOwTp)bXUQt@CLBEJ^0C)}E*lN|bH>>yqUeB8NaTz^5t8vLuROF0Sf97ZDMI=) zIn0nxIC^IfmxG&7v%$-xbNhpE<6K6o$tR~K^;@}3S(=&~0c5<5K|@zg=uc`D2dKnD zQ-6T3fq-H$^~nRHzyEeeedJby;x|2FcD}A#L;hZh8gnV`7MMq>3v>&73gRCNfT7(L z$1BRO&xpR^18t>s;XUp%9+#n=)UAbnoQFVK;7`J%!60on6pm3=`?F4<^j+?8y*h`L z3n03w%i{Pe6`+zTM5_1ce^+=!oV4xlC`Y?9a#t&Job4Oytkx)WK;xH-Hz{^zq?I)6 z&~t-3@nv^4MOOp=+xo!dr7gutxHq{g4)zCC*Xfq&%oARbo8E_bm8i~RzCp>6BjM>!o`qe?_ z6Djp+rgE>s^lX}QneY7At@8%PVR>{x%Il_KS-x=n%sx8j4@IT<%Yol4KTAs|wI<07xj;YO2ZDrf`X5hZ?#zN3X|a@J|xSC#sQ2h>!5T$ z7;4oa-oW6E8b&15j4WmB2cYLwS5>&M^?Ip1@F@aOcohYrF!{KL4pj4|9BQ!_k^#ut zx*7tDyc#SSu=&yowQScfIf3#z4{XBZ!U61UN{EMLgABf98XB7K=RQKCEtrTEZ~JcU zjv6Kp(L<1{-g5GAf>N{ZM&5Eu3$@i6-tX2q4X8n-7w}C%I|+J61nDV^u(5^J8X3(- zyc*iUfH4Fg<-^AT3%6|myufTTx;p}N;3;WqMtO3M+p+C$=)`XPDkmsM#`uDX5)-T0 zQ`4s}kID6jExwXQ(`vMmnBa^63>hUs0wq7bVg?f0ETi!5C8~TgRa&5%KbpyeWR^vE z7Y|wjOA8T3xQ5)O6z@eUe^eTz91I&77Nxhs0@7JGkk07-`uTkzA|>3vU&PWM#zf^M z9dK>t!qRv7J<+Aszg13mq>F!v+x^_X^_MB7Z0p69j#?-yq*hDGWE*DDG8{2WS-tq zaKQ`eE=Pu63AkhA(_G{(i<&oi;Pum#}wA ze9P{x_)DiUWp!Ys5aS;n*6Vs^K3UC(WZgIM%1zqsOVdp((2?ormIiILos{wOnR2jE zc!PnQVHEN+JbCO#AIPcyVf3av~f~9kQ=h(SV6h-$E)#x6oP*$E*#6V2I^G#Pj!_k&w=$X=nUehGmIfi_1iv5m63+e@ zow|Ris}g0wvx+2}J{$-)lKkvoR=~M%K=G|`K<|!=k(GmVVo23y?FsYb?rS|keMj62 zSS40CT2x)&gPH9F0shXHPq*K-R@g6XQJU=a;~AQ@(fF_RDuf^O8_fUcgNM6zSeg&% z8h2KGpM$FwP4fqIk$_^}Y9L&HV=b!wnL%N5r+xH2nZJos8o>UEO(NcX=|}qF02Ce( z=;uX_m;+5mXxXqGC;l-Br?O+bxNfe4{qjg-x$l;m`^$12GZvb0a^@N*zM$-Ynj`A@ z;#5FU4#tm5Cf{}w@#BRQGckfr_V{J4wC*?OKp)L?i^>+Mglv`^xuPx3AGe;pN&1!E znXNtC6!OJ?*o=k-b2Lt*4Q5Rhlm{qPz5@*bpt$&@R4zepU+i*Fyzel}f28ZMiDZ_n zeRg>$#B#P$zq$H3%IJ-Y_M2i`-9!qq%`}Gbh13GuS+tO75Hveu^i%!NDo@6VMB^#!2v@VZex}56?ac zun?bz_SydGDUo`qdO-!XQ2FQY`Dg(P5fdLA5VCjG^v1Fc);0FK&85el`dl;!mBr+C z0Po_|(Hv%|P&Y+YW*%eSoCRnJ*oh^E0`Zyo0-vgo(#+p(YpGDI4J|D%;yMflqd;=f zS3v)O7#t=git_JYJ!rc$aA&wCe4-^5;Avh#h;VHy;AaJuOm(W;-KK z5`TV0shEq7S>2wNv?(E-NedUswV9kKrjxtIXoo-c4rSli%hA)v5w()B>Is_GtS#%gSvjqS#^Z8uh9tFfK5 zv6IGV8sif?|1;m;b!a%YjU6JSCjuom>gpzh)tk5XBukeh3NCZ>-jYPb1=gm7{<_&4c*yYGa;S|joI5=AS6VS z!|0kMiqw*4gGnuwu}rQNWiZ%Qtw<=w?1cxUPj)e@AvTEcSeJSqLc%hn>o`hlbby)W zAT(0ziO501bN`{^qy&!po151AOPvis^po=Gg*SX|(;RcqH#i4{fI#T^)Mszsy=!~Z zsQIFx()_P&+FA^Y4J`lqC2)M{Uz-h*R!dcM4|eJcAc?duBT>6@n<%Eqczvch7*c6l z^(9&)g&i}~plIQOFJR?D>eTzU9M<4--lliLauyai(e0Ao_q=Z|+ei(>&m@{$IoyY1 zG2re5_5dYQ)R<(6V)TSp`1@_veH4=<&DOx2J#PG8dr2~|JKvT5Aigwg&n#Y4Qw^8X zCIC38Vij(lAi68jQEDk&U_n*%a-PFFHWr$H)5aMzlc?Db{R}()BDCH*UPt_uUJ&1W#zqtb`sdIqdSGFFHOfvS0LCpf zu^L#wrKjacSTU6wNgc|99SPrXHu7gTMc;w;zMDx@&6%F;45_eLs;Z4TCMff4Qc>4V zF>hbvZoQ%186B73_;|3o?v{MBv6B@O6avseGbo=jS;70;;Eq!U_jz^1zZ9iChRq=v z3Nu))r(VETaBM-y3e|mT|GwT=?P|C}Y#tSVrI%y8v>M$ol0wN#XJF|~n7Dgn^tEWI z;(PL>6KuDL-JOARUyNR+_7q!FjSakvm2hj5;{XSM7rt4x`(R>on&?4jC>FZ%m>BGQ zwI=Znb}@IzR{dfwNT!9vcKjvt0l)+k;^c=30%5)pZVp!=H&DOcvoJ8~)SY&3UnsV_ zi-yAnnxQWJ71^#GJDs`Xwn}RBxlu6|gS^5I@ot(SaCB{?LT{wR5xl7v4WKJA?x*~M z3w}YV{{?Wtp}mHEHO=s%fL*b@)FG z>K2+G4%S7-#0R2+m?FY{v})|XWzLHC9KuD;;HK>HoWg(s_bpIcnc*Sr^g>QN^lgn4 zNwNktHs(C>#Ad9ph~ME-DwMmzdQ-!wR{faz{H3Ej4bh>*;b{pj<#z4Axcegm?|64M$F(L$_AHR9{i_OUtU5lJa;0w=in3&Yyk5SdSSJ0tw{wM&LBhf_cD#O8RokG^bPDPP(TLFFmyGei8Oh z06lfM20ReOKI4th20*o>YcbMjjnCW17r@|9=zZXIqH)XBB0lQN zvK^Bdo>HiXiIuBIc25Y|5g7EPfL9Y9pim*!FTiy#24~?6-X}J-a1iJZV+e}7R++3= z9jjPCUU478A=&qXC8tsp6ogdko1_tJX*K<|pFD~T2ATd!ocXZ%u8&w1a1E`;jQ;OM zPya;u00%Sjvr_CLI*`i9lvECcSU8D!b&e=yzttcA>4)Nzs(s||IFH=mclwj1t^ z+)a~`f%;ie#D9BQV0%->_>tB{UsLytvNP6zGTMDfWZ-mp5|GsS(d#L5>mFi7X>rDtP zJ_RDA82P;VT)FWS!m0b2#R#i zAJGF>6Qt4H9oAZrV!MZu-YtR=Wt_ZxD~C)fr7rdn{@Z}L^)Uh72QD`b{9i^D@0%<0 zyMP4HmnNWIq1YOw6=BdtcsFH!SB@$*#k;YsAm_5C<+W=B&*A;^2i@fr z2GlYc0s6=6pE>Y|Ma2*mM$9Vb?_oXkWk2bGY-vc7$nW59!BPHYqMs?*He2E@S+-1cQok66jG3OQCvf+G$Vu;qJE>^E9o)SdTwM$ zbLNzSUkb$s&OF`dVLhJko%(l_Lu9R#)hdQ-XnC;171FT;h$|qX*m$YvR6lNLCJh^5VC?b^BTghU@-MY2U8Cz{*YXX&+O+<>ga|1$M_Wog|s*y@U{!C2^s6*$eB`wb&`q3Hk?9y8$je!GIBL|CKgW8X2Z9AOI=FP@w#c z=!#H1Z^7V1nYkM4lfDYQ-fB&sdKkRRmtwZfRb_kg$`tESxf;KWHLYS7c%V2yu;G#e zFs)GXYe2ixZwGYuZQ(~F__h9c*UnkKy)VK=|Aa?S^eIa$`nMaz?y}K9RB;qr@wC^hdVe)eTeo*r%|I-G zMkj`UT}guJ%baF$V&p2x8ifAstv1j033~9WPSQ#zx-wjYib>j#lwE9xqVcZT^X4Bd zpu=TxC0WqyR?Xg~rAO7;{j3#+$0@sRaCq*q#OP(3GgaWy3|1NA)-@{=QS~z5G@96U zX+ISg*#610W9@9>zK5MF1%S`HC}IA{8H)^2i%RHL{dT*jC;a*}TEU24xg@tMx4ONy zz#Dja-PdrG^=3$emK(paXfCKU%SvZ3s)>qDi`zH3BqQVdY=0k6F^XY9x6rD89Sbg4 z3dH~HkC9okD(THs+x86pkG&}?nT6_OG08&v!C4-V5VC(ORos2EPi4YHRI`#Oe79186ZtsJREYBL`FN%4i`N*y~`mEEqp`08~SyFsT@_{zkZw5U3X z&AZuq+GF&L1rG^0`HtwP=~KwcZ%(* z?kEe8Zbi)gf$GvMJ$p%2vy#L22`LX|FgJJUb2UMbLo#;#$yh9Ac2{c$#=q&bpZ7R!^c`0VKB6OG_E1q=)jj&z1xoyj!9}Y3Qqev)g5ubn5!I zfswZ6zcES@S8Lu+-89pc(PHOn@lOYw7RC>(r|ZJ{6eOM0x!%Tg@YwcPdZ>LA4i15% zM#2KOPta5vGJdS}59RUZ9JX8;4zjsANFKGv@u{)UfhtR|X|(MF%b=b;bpgF}1_CYX z358n85s!E{+Xo6)BW&uygSn(yG8Eg5w@3kC%;fh z9ybwVTmnm|_0@X40zp312uI3nvdmm6vvzeo)&o5n+e>SOuYh|hr_WB*w+06-a;x;C zb~qA}lzN!;|7;t$>MleDh5O$A`jkcot3!t>nTJi_B(DaGuxoL;MHzOOWNg07{L~cE zFoa}HedBznqK)mF6hJzREVlf7)L9F$Tk2l-3lI+!7ymXDh%h7ZA#B@Du^6YY2movf zODxts1FjFm{a8lOiI%9lS36EOJ-EWS);Te>X$nt%EF5~Af!>38@u{8eN3Nurn!!rR zxcMEfQb_jM0)ns;{pEg{<;syLrwqk3)-rqsEU3sG@%2}jbR)d#GgCw(&B}-Fp=Um> zw+>b-5p?J-d#N`21W2VQz34d5#ITWLfZ+fGQGyy+(+|@qDYA*8ar540yOQJ6`E#U< z6MmvKDHAw}FWEnuOxGqjr-tv$&GRsN_FN_AF(EP;R&5FX<0%Uz{L^rT^3x#)$u+nN zd2E`Iv29BP^Xf0?slHV!D6_2WV5P~gXrf2fBNX5_P~G8iUiCicIqkr8`y&KHh3P9u z8aF~6ANn9KT2xoIj)IRi93Tj)uu@lx_7_fN=}FkD*bpX2j1)FGCNLTSm&Vvkb{6@P z(ePoWT83kD3_;g6UZH8n=+L!3pssBERbPKt-u;EQ)mpXK zh=2wTrgId0sgB1go75SA4lKw#B3TV+4ELUhdQuk3u|*91$`xNS2g62kv$4F?@1Uf> zC$RkDiODTl0lUQ{tsq3;yBiJ6reKIxh&u834JCuy{c>}2+@hg>&}`kZjgRHlgjGtE z+*72#V)mux*ZG#*Y{Bj}@U8$&+|CrR3cUZr&mTJBZeV7l!Ke};F@T!}?3g#SXP2`` zBvbetSfjv>8u&+#3z)Y};AeFhOWUP4{9(a{X27;;5#EaDeJ>)4&C3gg)Ac?@1wBrb z)EGBZQ#GCBu0C!LTU!&o;{#~w6pDr%*0(c9}Yd6S;I7R+{J zxsd{W8nRH5>Cd&n+6|J(wCMS_>6p3h=W$tGV;7#%7f5Sy;2CPdcUD)Y9JrDK{vp1x zE6V3o%>LG5VOp(WS6L&j!FiM3iRz46%R=;;Ud_?+JAvsCd=Gs2$bTvW|1Ybr6s@D) zO>XPYJaMsWg&@h5+2WXNivKJbH>Ey8P;|Mb>H_^p%_r3{9^oQB6B;yx7wXygXA_#0 zlB%v&W^z?r%J9z#pb*p(pakyZ=Jd+jV6$rq0QU98Si5**sbe;VLkWA4WuMcijxai6 z_`Toq9h{Yw7oxNfQ*-A32$`gps3ynJXwt)Sr1+AWH2$TOcdgsT*7^dsl<3^9gnzQf zBnFRJNNW`&LLK*z{+4{*r~r8K;JZ3zRsLHgr*7TG-Am`w^~tlQ749a30b`=JI_i(? z!jeM|&wA8n=>N8=Iz-sSS2A~cmRc6ZcsXHD`qxfEUkgl+zoD)s(IUX=BV(dS#+Q^35<8;mIdUs;J>q#AnM=@6D zz-^1m?E!;PmRq5n>5G#Av~PjPo$eW(vov-cX|;BsVdlH0*-Y3S6Lz!{C4~%dx(>Rj5 zB|=6{93CBEUR&ou-ils8nN%L)T>cg-7 zX*!(^TG|KFai7xhOyNiO6Lg1MoKnN;m2MkDr}UP5YjJ=D`J}h&0i~peV%EiNS~tRN z_2E1@FQ;@~G($@;AX-eMw<_&3aCvC&L(P5D-J-;WzzRD;4c#5hBE3slRD`8GLB}-= ze7*}cKGFV&BTdr3+6=FsLLJQB;45>?KgWU3Xg?L(v@w@vX@q1AHK+E?MV~&?Qh&Sh zn8MRKzWe6?ISD)?&8QxM_Xp*xRj-A#LN)Y zK2sc>+0{%duH6grw#?}U|5j%d6LHL?Bx08*WPw@Zqk*MMWW2xr-RJ)eRNpWe=?B+} z3@o9jL-}sfis9d4n<-x{Cqp({f!!bc=}tfHOxty{^Cb($gr{Dpt9&_1Jfw>Mz&I$u z0z&T92~7J{l6hoePXvM1tCC?~vo?iYKM*dv#oEVMvQSgQ0n#X#IJS)BUTVxHAkT0b zhbUJ;cnfqo8om}p;IJQ)ot{fN*Ji8OmX$-viw>~uWI>*&4IAA2?p#Qc&8#bFTeskm zm7}V;SYJqaI~Y2(tRIOa2}~+@=r9I15CjCnYirPZ+NiDEbm_5V=qej2|!IVFn|I-c)x|_p#ia&l>mL zVTt7}`&-&WMwZzrsJH<9eJ@*4zJ1l&w5$-`>A=t?F=oEBXOT7w)tJ=_@|ey*08gQq zpR65~B1*tQf6tR#V00yJ6JIO?pzT9WH){5Rh)FDN8-#ja}D@xm<5i->zzRtTkM_po}{mB&ED#Ik82;`XxUh*EC3U!BnWc_= z{*0syTriXi)(V7#0EBZCH2%idu)dmWpYGn5ywKBgJx)f+XaM#H)^CKG-WqRut4EYZ z!gLKN52ZOA|MZU)4}pg8^35NXoKZnKCZ2(jw^T=4GT<4ms<*sg=|mp#wrA-D+tvqi zn}?kGZ|kOp&}S3}I@l%gRtfsntUg@8xCMj>)W|LB*(AUf6dfhwG$CLB^whO3Q66{m ztSWUM>`&J6KGKyZiY6l>9aL4DbB&Y_;^J3lcs3HLS*}{U&@8uv9ctA+cz|l1lbhwKg1)$o0Svtn zEnAQCM7=CHUUl=Q4sGkDay;pdS z*J_1#PJ~W$g`qY0@}oot<@1YqOW~MQvk3FE%HvAsE|<$b1z7Cs17-N86WNlHLR6gd zN-Xz0Bw~CnCH4CqnT7pUgsD_zcdo4iouRAVIxQ3LSc-puINbLy8s?6qICv2f%Kt-_ ziyy}LZ|s0(zZgAFEqVsC7D!-eBkM}oU}thvLgTrSjOn6eA)}w%SX~!2#Oldq$liF! z?QR6rT9I)=OGu3?4;NCPvadU+L{A5j2^Uf{7=Fl#0@ZEleOhqmsjP!b1?diw^=q(G z7S6V#=Uf`?QVo-7F~qcVS=bh6-)QGY{`HP?J*Uw5!JtEVCvznS49J1y-dISprdJ9CwO&8s9rk6Hb7i2%&}^P?x(5 zWdZBK75?fIL$D+NA-t*#SA)ZUBhe}Wcic=cYIU;fIY<}#kP83q1)J#)SeJ1+P5Sw0 z6kMr1Nck`6`X6g)(!x|lk4XtEl~|C3)tL`fJG4v3An6BqV$VA?eOO05PwT(m7o9xY zz1(eW4L{T!_hmcy3mCe(a)O7@geLrLj`t;z`B6_Q(+AipXpm6=n)N?7AwJ-jEo>}- zWXeu~2`PtD8f4Nqo8Gos2`hg_!;1HvURLo%k)FJ?Z^_hi{oX~%TdH--JyYKpc=~CQ zY*0dqg`|28%#SVVH8fPJ&>K~R-oWu+Rk>X|W;cBh;cR`QEr_+3>W|*;-s8SB7fouHN{aqQ|n{!z1uPUNu%&eGL*uQkUOnztQn zT-X00`U{Fd+Q1cVlLeAiBB3??wDzP2Ip5RbW=}kDObiea&h-!uv!uP+cEZphwW{1_ zeZP~haMH_$XLv1R(bHY?fuM{)C6a)QMJ2mv=GaM?&K;`JOvtbSdr5j3ldw!d#ZQf- z4%AHu(%p)Zl}0DVY6tRAPoP)$0MLs^JZ`6c)#+lLhTHGn53qV7!4>!`TJ2(qP07AIWED%t5WY#w)aPj&;dN8Jg|Dq?uz%HSRqX8srB}NjlK+6UE6rmuL4>i3(ys#2T zC2pI`rd-HElQukW8!XVOvG-LHnCZl|Fds$*FjG-Svp^`ON|H=e%6Ibzw6}lnZ-iwN zGv0ptRWGCK?rt(k`=yr4;ORQgEUgXFkRP{ik-T`_9&k30pj6Od_cCl{cK;c}BU5ut zn?=Uyz5NM3I?q8$C!6##;(q z9RB08aqiEwDgO}K@~yt&G$+ysUd{f5;-?svB6~=+FZnm&Q2qc1CeW`E_R2xjDD-VO z;1QOnZF%l{k^pUNpZT;D^7da1h^l~Bo;QgHm9ukOmOK(#3L$?GQ+?WxJr%tF!LN@# zyih8GzsT5$JF{UzXr;?iO&9xFy=mde*mU|-$=Iws*ux{u!tNjCa5tJu&8hmO(MgosR6WxzBSXh zN~Pb%qY{J=R+@>hMkDdjeA)J$ICba+?joU=I{(=BBdIg()cBvvrpYD4zfb~R;n@4( z6zvv&NFTJ|C|1Q&2i{+NdY3{c{j%dgGO}*^AJbj#29$9Yy+=mC1S^~UMIEdR=^qa4 zUa$^#jkz_jaf9rd&PH3YW4RBcWE2aBvleYrYg}(%a8rB4rQo%A+iEHR-ap8g{F75~ zLI#(r+=i$^P~BDr)|FTJ!tN~42sURB75lu?Q`6lsUEY^@qZRx8%{9IKY*lHD%lK*r z59}dibQ7`G6#`7dWz^GVw>4Y+`1+Kf%}|YA!h-ejO%&9~|Wa2E-y=4f)=0EYFEU ziQl`zn{Fy`h|1_|n>Y+ytMzah{klCd`uxNy72yjJf$d@)@xh3BYX6?sSynsSExP)d zD!9`ao}igaX#m-W!in*azTdaAOGUDc?|lhX!2o_=pe`5!IKiTH8j#I8Se-x0hfD?BT0D>1_ zY63h=xUi-f4P1p=Y0eCLc&YK*D;Q)vqc@z}TTmwJf792!DW&KQp1laA1+zJl4%>{{ zaB)wGrIL|wue?#kp%X_bRQP_uPv<-$-m^5xih+sZ(c~Oo`+hZOL4OVRF$1#R8H`g= zqK}#G<$3+Y4?u)x#ukC;QM0jeskcn_?PeUlhvkAg(AN7gL01>W;$}RrUEo&9>HEqu z5a0`9<_F0G1I48P!s(inWFC-h;-@d-G^&a1BztSnd~W#|*o7rMc}KWIE_}jgFESq` zq>S*p`xV8+M>jnCI0`97a~Ez)oS*>O>>tH!QaSK!1*LUNtui9tXOL67&%(^D78UaZ zg`hjRmHseLk%H*wcT5Sw2P1A;nK==NN$~e1r{ezkef!s(-AYBBoT0;Zo&Tfmjo@Ps zr^k{VtbI45xU?mPkprqhLMVC9o?nL6Gu}u2V(9M&ZtOm3Kt31G-7!K;iO6pF%Z-@c zOh(12GnYPxw`*#Ia~SP3VYl4hhnuSRdeq4TG&Nx9Dl#D$u@-gZ&_VnzF&g@p>f@8k z7qiM0=6ZttZ=enkbraS%b2mg!>1}eubc_73F2w$WYF~YKDWo~Pop#dE#0>MXJcI%> zyD-{hc-m9@-XDROvKpiBIF)23&$0Fkoa6Jm)D-U9%L41m3D+vBL-p*l;4D;q3*(S9 zIZFCu)MBf>G8i~82Ka)+%%{QmmB`F=!{G6O#5LJm0#f#t_LvIB3gU38@M3dBpp@sf zcf@BoY=p>d6C?wm%eDI59w?(v-cdltnY3`F3bb~dbsF}ANAw@$=Y$u9{a64TGQry5 zM(~?jC`4VQn#cs}VZm@X%5mXg;*?{9{0_L>q{n$f30BttibeZeY?6DOdbQs7b7hLR zo6$2kUW3BvhToTb5g>0hzW)GA#`lU8P1Ka#OR2hfqYPj};|3g2#kLSa91tS5i<;_$ z#!^xt@^45=@813(7AKW~45!qL85_)|t0gk&(0hlUb>h4LT}h0d?w>^*(rVhAOX~yK z_oCk+X{64-|B;VKICIt#z6;I+FyS*8dMr1$6^$R4-0MZp==+sNZ-@&$*=lVjKcm7s zL&Wqtw;STJQg5&)WV=B|n9qS=(Ea#$BxT`$xiIyRsmI>G%mhb{za{-FCpPQf1}Dam z+o}u4lCI5qE;D57^8Awm-=CpOx{$@C;`so_JQ7-48lQmCQa0@dBbJ!zl?H=v77!op z$ul`5;i%z=3aa!ATL3*#G#RNsS&wa@m*wm+!>ce?A=j))WhLFI#bj#?$QDok+LfUr zgK;6<{)Reca)kkVyKYFoOz=_M`)4y6_;ryYgDTa3Qq`omJn+SVM6kbCzdho7h1xGo zA@F|+>VMu4dHMgBfKU(hGh{UJ)w|wcwc+EFK6A2J$V?v1k+CIFZu@nF%^s}X0_vg5 zw?zK%$PfB~#inP}gbA<-NbB=P##6AUx|&5AX&!TZbp?tl(=SWROo3T%25fHPXY-xt zV0)(ZXSmFQ=ZBvKuNq!3=(4N18=ggJ3srp=Ed8v@i$3OG--Y7s@8}tz^{;~J|AbR| z9?R9bfA7Ur>{=OqCw{_zKOT3uJdV+S;$LR@|G^~2&i}8G1q&MS8d-HqPxLG{U!N*Q zbN37`8s(sB0o%MTysICMlu?=DKRa^q5zEL#>RPc48^^A!9a}}+X$eo?fW1C_7%`!Nj!i?8Z?$6+fTGaHj8;MWUJe+H* zfRF#Swc0P#dC$n?f9=YA#7plQ&Pv(e-(SD99*MW?^kQhoJb%zW0u*p+d0*ozZu#ZI z0M@I4zskR2qYUIM`rBS75J=t z=kiyE!M3+=rm-v%WY%2{H4^o$iWoL|nz}zzX}A%xUKSF|Fh4`iHHW^6H-!}WCQ%gC zVvlrq)OlExCyAjIUAazn2Y*`;0}|v}-ER00XdgA-Vd!fdiCIC?5Ps(4!kjfNB4I z!w#0I1;Vd}L&MGUw5)P;RqQKIi%HWyZ6D^)NbJ}su9C^&5e#;V;leyBo@VSNaEWuA zG6e1rVNK_WDa~j;vg)b0G6)q@dw2mmTU_R2(xar~-{7m0m$gg{!`v-4hNb??e5~Y0 z)CsZ3!(&=>T7R3pggE5w=5GeXVlcbkuh!1*ngSdM{C3q~#HFPJFDSB-qzc>cM54>m z!<1I^S~!>mYZhud0j^&KDa5YNkxyNC2~Cb@nWbAWAxtX}rbuJz4TYIMElqa|#fm_YvUWxOVH?TOBCs6p zd*FeL0GYo)2Y}aq=DkBwD&4J60z;z%cE6t1y%xv?Wz)cO3^@g<&Km7W7;Mqq{yxKj z)%C3O&%7eNbW2U&4OskrK9k|`g(-Yu{T)a^lVJR|!1|=8N%ns>JD`OQ5{xloKR0S5 zJehoLTcd7JyoHM0LFw3G@SeL3g@C;iyk`%>%M0U=4ULz8B6y>R@zWOTFM77nBl;Y7 zZo#9#>!U8Xo0sPJv2>&6&Bh~6=)`Ms(meK%(3OM~bI9R&wG@fvRdl1c$!QHgSL4+u z?-4MyXbU0^waRm|$slC#fj3@A?{EM!gNrE>h_!g!AM@(_SAJ0Xk#5D7V0PYAS@r|Y zj?}lc&B+RHd4z;QXo82*3bgl#Dy)1WzbL`AMdw+smAK6LJ)nXJSB!;;?p!v?@IPC* zZk2;40-S?|ko!uOVU1;L^r-o2b~G~=6Sz}Yv1W;1q+H+i_r#~XBF_>dQozE;4n34G zg^8_?03R`^sFJD`9pjPO`o{{RaDNpUbwlHA%Z7*&W*JS1H=X5jF~aq_A{vip9j5mc zif|%$q8?Wy9PBqwDOYcZ(3`%WIuHH^UCv2_R;;rCPGjx3s)@cmp9j^mOd*BHSI-PG zxW>laJm^bg?_mA#T1%lJsqWPu!}_Dy$`m(en!9efPl97FDRo?z3BrA0v)W;1mPG)33tJJLT z`@6ziVtx+I3;=pVWV~i3L-e}fB3BU=q14S8eZ|Y8=A$+g44WDe+pSEujEOyp9;GB#g%E3?g@~H; zCZIMQq(TVm_^ams?6UObD>%w;9pD)jqd!CtV$wLR-=yUJpBErsE|}YhfdeY^2o3gx z53a)!QD5nU6Z#9CC}`~bPpV$GGh*j|rDno+zmo=`*QU?~{g%~dTk;H%KQkG^Prbn1 z$>YEAx`mk>!XpPZMtS>YzdfSpfRxsm#Iy15MJ>dKDR9n~gz1p7cTh-#M)Tk3qI=&D zKl}Bd0A}(ipqI+k9r+DS)(jIb#BRX9WgD0Le7WIw`(?)>z<~ZA(X>~#_!=O*qjU9> z-O%yO2J54a-i-s&Z#1+|W&ug<ERwLm{Oq{OI86`Jl%C4c@XQ$>u556%3rq@e%? zQ^$HgOcES6#pC^$1dR%WOwm&Aog)fCY;-Ox8fsrm`t!x;h(BcD}Vu#*ZVp>O;A6^@Uqjbh`(F$fpklLQCEDmc|HWM&L?Kg3WfF}=tJ(}7hmo2 z8*bnh>7u&(lG4xFAdu<%pzc3hICmZG#FLY6reBGbQ*J|R_HWxs8^yS^8IpKyT(~lg zbwelDzTqE#RGHqu&9&6!Xm3St&~96Ze#I7xkQC$ZMek-W9OT;10gr_`>}uS(YdB}fMI5V1eQ+Fq~#PKXv)B1X*ui&b6Bg_@Gqn0gWl^>2Q1+VEwtr;YP?DR2`fnZTs8lmx=MA+2>Zm@x{&tW9iE3%N!<=jEhK6*ecHNUMPz>R(Y(8j#c zDFv|YlhT#?9Ri4qGB@KY@a7DtiaZ(WUlGNW&dJEBj-A>{jZWeKNFP*nrTNzpz}v&l_lJVr21VPxh{DyxTeWg^E1*$_-tb<}$skJZ zJ_b=&D6!;mtOU_W{+33Bt>pxe(EA3yq8-&?qavzBLB{(IERFb=yscDOTlXwALN#<` z_ED;=UpPeIvuU-!Ui?l^Q1p4{+F7fb26bEsn&vpGc3OyZ)+ztU!5_M+?oDvS&>fti zF;}N&!rbRAo|Vb?^a#?EBtSc%&=fHzu7HNyI^(cyml(W}PMwHOPp%$5S9}yLvdK1L z;L0y6z4h3MHZp$x1EB1GaGCkP;1>`J{3?7W>ZlR>>Ac2yA8{(>7wG-Ghc{4+Bo~K_ zd(rEHIvl!T0ySGaSf3Uta#q)69tBIgNP-YaetktnGJUxDhVZsgg>1W0eUnKOsYAvT zrE#LyM5$3#utY};=u;W5K2kB|7EpmP9@lFF5xM)%jC9SqI0JS#{cOZipdkmKtfYT& zCN|U5VQ}6RGt+Lt$7(Uwl1fWyc$o!s3J#=30uA)=8Y*)By3S-K(mEp_byN{bn>&(ZZO3yB-R0xF%+^K#Ylqdwm~OOo>&c@dVHFzv)hQN zhdbxa>zxDZ-Hm}?bbO!QpME;)8FcbNR1wvyV@h5{Y*eDrG4xMB13AEnA%csb&X0aO zDWWN;fxe{L#->72WWk6P{*1>92{yh_WMum@Z>wVzqtjCee=scWqVbiOosL+7HV&@v zPyLtet=8_?)FQ^4cA7}*GUacv@=^$wA_SLtVm<^7v8obVs+N!AYn_qNG3J)4GW*8V z?doyvRno~l87EPHD0QlDzwzV;K&?MuN7`4tlXR+A_lCr`LKWapF!u(5()k=0Rugyj zGL9dAJ>^oQ$s6q+3CIfsXw?m3$-!Hyh1ZD4MaCKgaRPX=xXpQ+n&m?|V0sn-Msi)S2lqw=4&@kmWhas<9-~TMduWYyc^2V}kSk!j<62KxW=-NRu?{k8}z> z_wuiV`eoln3KY6p2Vd9$@9+tn*mk%Skx zJh9Ov`zlEddbiStw)$H*(*_puPUhp=V?h8__B|##ktME*nz_^BY_G)X>iBT&`&ZJo`$2is}1b9bp4YEpwE||OJdlml; zwv@q>?;gF+#P8d)YTW3Zc#8>t-V!pgl0>8s-a5|AhwxQ#$rq`Dc_WiG=l2{6`G0v0~j=zvyCW>Vqa7BRe3- zm0)$kGE9UpXa+7?UvF5%>Z7(E)uAg#pL4n!1W z-n{Z@z{2&Y(6wOvlpq_#of;ovKpS^pMBuoO*&P5c3JDw|Ndte3A}QW&Bcv4!e6M)m zfoc9ITqUEYKLQW=Zyk9NlMhSB>IslQTTMDKvzsbH%nkiVt3Rnt4hPJQFB*0=%HCg8 z$^gz=#B2`ZCMe`gZd+c-5nLvQ%k3v57%anYs_M38&5M!{O>AeyF($3#D!^S?HLXDjQ($=%W7D0@WTJ`_(W+QQqXqoP7|*`E zxVGZ~)mqv7BB)*urw-ej75)zic_D-3Yf{AnCb$^jY!g2{;Q5|k#d6*@RQ+P&oxjD* z`p0*I0>e==nemSFJOipz;yrk?OBH6<4e#$DY8ZGcg+~}u_wapot zo11#;-4bKP*vQl(H5FT4=c=tc(A@Q>M|-oFvjcOKUn^SX>EyzOdTx1U``Q?FYiM$& zCwVe9$K8VjJHAK}>pqtZ>K173wNuD{LzrtOZduX;^2J||E}1maKP2cJcKRB4jaGPB zhu1WH?*-^B=iV zs0IfbFrJUr6_7tiX=F|4KyyBQi;R0)-R|O%<|h)tf1*2Lt@WZbTZc?fjxNxchD@5$ zj>QV*My%O4_0W)(ybbusEts&kkU7qM^<-lFoZRGm18B_z_~s^#Wa6cQ%cHeMMPe`F z$d{aiVqFNZ&Insr=9658=JSo&ZUuMO@-J@mxghiTXBXOPGY&j!kFVdni>9gSD*X0J zCl~t=VbV_6zhaIKo#}0jt%(8hd=XIpM_Rp=V*$<&{MpLQBY}m90flJ6qP%1$`AqZo zDUJ@tTgM6qDD-SmH?g|4y!_7Y_=9s>BM*%!J`x@Rl2l$j6 zwB(dj!@}0X9idz?OT90CjyessGiT5~_<;pWo~IACc6*1`1M+s~b0?@*0(tw)5rGnXqbpWtBPJFloYdoSXP*%St`@eTp{Hh~m&FZCP?3H~Yr2iD zJy(;R-(#ZJdi&Wd4H!0gZ`esf+}?Tt z4jTNan_upLDxBJL{_t(YJN*!^4_V=Yb!ZmrExP)BD(lD8?Bu`oQu0DLneCe@U=cBo z4rrZci!xHNL5@=(#l)wZ8Z+E7XGF(GyN+4dJ1&xE-l@SuyTi%%YAtjwp7$k0cR@@-Rx zZzA7Z(4_{1VonlXiKmF3q-v|>v_2X8ZaL`%{FR6e@2!rG)d5Sudc{bu0Nq$}zsx%r zlixxXe?L_e%3;UVvadDL80VMT>Ebulb!qN$#}lr0#Y2LtA>XYw?0q^ATMDM;4W3Ln zlt%rS74vvzg}=k27BLnBGM*q4H>jfs?k96!wmhtlD*mR<#ue3 zf|m8+pp3y$2h_j*n3fLUBuqEqpaYb%!HqzaPmpGZ7DB-%Cd-7MOg(+=2$(mzLf#gr zJ6tG*(Z$tRF*-N3SUm*%_tf@sB!#)p=!UCxvDihLJ$to=vug@h_Hh#;U#&*6Z1suN z?BuvaI5MS;NWurF2S^W{!ea=Q3H4FPxbymMe+l&uZSKLz#lu*?NNt zX?^?j@$>t1WJ)j*QO1!|>)v+IT03?G^_Kz6AiH`^ivHBN+-MP;ncTtXL3&cTpT^6+ z7H-Tdyd!5}ryDZlICAWa>acFTm#(;W@Ha?+f{e7D85%Wm??)TWbJRJ`^`7m}j}F6a z1u3jejhqay?P6Vwqk-=sxQ+fg;q!NLd;NF#o1twMYltKOB={m^xDw(6E`$lj))XaM zJrfuw3a{|Kp}_wR61dq|D<+ago!l)6DQVpp1FQ4Z%AhEp7I~{r7crzgQY2CaSV=U;pu7^*j+G>v@GI5;r1F_C*{`-&N2b zQ+?NF$=42P!gB(;2aC z=U53kfwwXHu`k-=4zGy!welJS)>$sjy@}@#Sbgq9_=;S6`FGUIZXF zOu-_K!-hN<*i=~TQcQjCip%u5Fyg&sQk4xyCQeix|5}>e@qN63QGf!NFv$bepLq+2W5Du;e$jC1qvigD{4Y zQl~lmkatS82yjYyhJXf|zzLU9<=SJ{mku5i84<*Whggd9IcBGZ$cq6Zslg zxCEs_U#M(8(y-!IKq-j|e-{X&wt%k4wsn=Nm^wbO9v<8yfb3|# zXJX<^e7Ct=Dx6!*8QC=IFYt65Tt|{YwHvtH%x4#`1`mJu*IXJE-!K)?a5*D1G9boG zwgh5n!i#@wk9!=*7~malb=bL#dk<`weoqr0eeq%?u<;H;BrRODK(l1WO;-LZq6^g} z>NP1n>wr&RseMes6dhgG_vgo8;T}NvK^fn&iK2@8G2F)mHdchMM||n7$ZWg8kCN8) z8?!2dRH?qktc-JD;f#ALVUo2lZ(e0(xJ#;ed}o zZriMcT`iRHh0j!0|fwk9rc*%U2m!$t8C?(QOkilf$+tPIQ>Pwla?=>~`g)a)ICgITN zXu8+@(N$l9u9*IL_9`$t;^p``-80Q;StUCl{?q)0rHh z2-D?Eg8B_lx zq^7_!A@%0OrP3S*{>2&(((HufA+MiO0&$UlGz(ErK6O*$l$fFCOu4*c_j}aIzg7}9 zyx%i>I0II#(_ORKq>))X_kBXczc%a2g`zTC*q(Wi4PS}Y($G$#jb8dlO>z^!wzu^} zc1(ZmMmAG(Z}$DoZAIOB`b@xRL&yEp zV9*w2W}R5^|38|pGAgRJYm?G2bk~4{bT>#h2-4l%BPk^g-O?=}CEXz1NJ@80H%Qla zc;5A`HHS6-nETv2uYK*k;Szmbt8Wa=J-9p#|X0F>^{B~M6JaO2Jv4^iS-#AIFtH6 z>dcu&QQk`T{sIr8MG5kmZ+w=10-#kcMy1s|)*Y?20(gs7990R^u`n&I?wlEKe(NGf zeYQiKH1FHLTvvu2z1?whM=caTJp48iwNetV5dfbIZvGDjAvZX5P645qN{nMoWcJZo5Cd@)ikdzSoeGW?Y`y|rNPU*$Qc`8tSdi&7 zhxJ?WI#?hSff_bZixNZzV?@Tj#aO%+cG@RxP~&EKdAF_d?_PZknU)vRO-v7GVPrkL z{Izv7|1~z6S#O;-H;s{CnU#*j*6_5JfYAMxlsNT< z{qJ}=bAsD$WjuP0MMQS2m~hbz<{6{mbzC?`;oI%5fzd#r4^-d&4;#UBi?o$=(>z=! z70%@i{P1N%Tkg_%)6Sttj2#W7lT>Bjc_vIVT*OP}is8D3?UTJ-`41vwlyyzf?aj>$5WJ<8wU?Hyb3Bv*w1-%gCB-HS z74yRXeYDFXk_;jXz^^ux)o{gTz$U+{CFcp<%4%fyyZKDZpS~3}j9pBxClbD;$UEv0 z+u!NCYsx!b9gjm?>!|*ND<j~U}v2)_{(P0Oyfz?gs9Hv~=Rq=OG5-xx)=-vM` z-C7>-$(vJmnvBQg?RkECW6mR7m(-O{YWr!>fF*qb)%yFxJE(jc+68a|v14>9mUzHh zA((#uHfYmdiUr3;@x!kXUYGykbC|mbY~a^OPt)GHwSo1k0K+R_eJ@4N?b8bka20Cr zxCv0=>_!9&98B-WJUJk{&hjqY9h)9w+dB4jizmE}rQR{oGEItOSeW?-axtWk-{zsI_dd%PQH^`j@^Ot9jX}^+uML z3wbDlq%m2ektVcT=l7#5OZt=dU~Ezh3?~q)B8bDRwPPqvpKB4Kq0IqlWf;O~&lTGf z8+$}B>e%ByjFHu+j3L#GihQDu7fNu$AxEJ7WO#!!re3Go?7v=KGqA68tZpvsR+(#q&2arNE{KelXk3jiBvYQxAqcXEr4G9W zF`MaI%z-FP*yXJBUT(ZvH*Ty0-Gk+QkyaXla|VVw{>#;yBtbSyDN;dH>BF0y2(+R{ z#fsz4{f9(EVxd;!eq{na(Yh9J34i_n@otnwh4OLDXC-J(R8vXVndLuQA3wNvKs7pJ zH3AiIkO^=(TSbiv1^&ql>1PaOv#eKV0KM*$2=**{b#AA zPvztB+7)oa_WeukcibX#$nZ3ukz7wU)+DM;yl%e+gjnp_=H(@1uA%PNYlsdv0!jgmK36JB3)8>b*ykkEHP1Qhq66y4UO66vC^NHfaxfj$B zij1FDDhK*L73#!L*p<^oG(Gobgdv>3e_-%UYkSCX-Pxgpg)wW%?mb&I?i_5-VdFMB zJjw9nv0Jk*;JA2W<@6Ge+Dihy9a8D$XBnlVb$4n-DWf?;x`u^$|j8A8XX|QTXHdFC64| zWNk~j&{_da8;cJ_Y*`P;<=;bg5r4aPV3GRED9=k>dhLr$fDN#4v8mayS1sORlnqO; z8zk5hp3hpCaO$?Omrsx)ta`Nyo==pS?DRc+(WcDXl7oQ>@eqr=41Gb2P&B~|I3op4 zJ8;|ef>V7$kAd00iCj;uHHuGLn`6FnZESXZawF$bhA@C17%jNthUe4@VJCbV8IL}W z(u%ZCyR7=0O|$M4jt;|og$1ALQOA-&<$?U_K&Ncr@V9DX1pcL~34Xlp?dji4StJi; zlnq`nE0fag{`S4wH9#po_cC6LzA~tj(%1?-glF3;#sFS^0O`j-#y3XMB=I4 z)}ljc8Dgarh35DaKKYhC!Z)|TN@ujYn5tPQ2GahlRLFx$PXO^ zK3qlZNi*GH`%R))*ed<9;;ixc*-lY?<8DX|rqW4zHx2HZU8RlSAx4x*@*CHU{g z;N`mLb6g$hqS9z8)k5=9^5@9RV@87+1=4=1F~3Efo6$wwC<9S-K~sx~mgA)RxCO=C zGEk`1oj71QncdZXj54K$`)_ZSYx8|cS!HW$i^l|^CnQey&tQRR3H{# zpE+A)(uuVYStE2;;O4B9XyHbY!7-QMg5yk+j(K? zqLrnXNCUSnoQzaxAka_0nk}tGfxs@Sdb_BDCfBrp-#d^cUUpaTxGbw|G6J-d!I<31 zYohW$X68%o?8V_z8~9|-SFmk7_Pj!#FR#>KozEVG;4aT^%cbC|fBxEeC>ywY6aLWdfpEL? zQ36a@s;nmv<2Sva|`Y#`xnfI`XkF}7d zRbc36IrI_XU3Ev6TFK_fx(`%M2cLg^L1Y!XUNhe~6C3z*Vh%VxqLmxPPk-71(`+Dh zK@1LbVY=ZKN$j{y=!6dT^*oF%;?0{$GSI0LPPny0zG1Y6z~(@M==WvPsaO9(etKqK zzxfj0(@jo{1|KRh(;`Y)xdk7N)wuVv#Y;a+F0FGA0>XQ%`3dhdSOPljM7UP;S6Rvb zB4FbTsUy5PNlcRSlK8mS&O|P#Rveu>?H)uZ`f*6vAg@e7>~TrGRXZfa8O z4EYuSsF;@o%_7oXrM@wSvEOm!{$hrs5JWb&eoAQ+(Jr6dYludcwa}-9fPe zsAB^P{&SgoS7EjzOQ>UX1`shg35&6zQ1SD_Uvb1e4YV67e}GqkrCYzD7ZwvdSnol- zgV58ZRq!zX0PNupgC zY}!ZD2b<2KQt|H&BsaZ18KhpY8U?CPtU)N(aB)(Zi&Ua^FTJ0KX#f>oc!+#`fJCGy zOMAOC6=<$>aR>+OSC?4;T&8Br2p&HvpoL-48kuUG*1s+CC!EU5Clp zt4a@Yexc*NOqC$2S1na_HRJeFCXC!aCU`J{ORrU=76unen)7gbUH7gE-xzk0vW>O3 z6<2d*&G9B*ja_*Xw?lLir{|Y(_b*lCIJ189E=0y2!wrsxLt7=vdme*;O;z@%PGqwd ze;M+#%CGp@iR)yH-nj9du!2oa<~wwc{YBuRhat`N(o;D2;XL8(f*VEY5{AVLShvgcgzl69BJg%r0%P0s~0g3qlSm`-lbZ+4kxl;Slb+^V-B>8cH4Y5 z0*&#o%9&8+R45pTdq~h?pG3!2Z-QL-F1m?ZZ;ejnU^huA&Hin@z=w)Gl8+QVCu9E1 zDEmEwW@dHs`P_f~P<472%$-3~+~;lHZ!f+)>Jvn`2_W9jfrQXQ3qjNmW z4FH?d99l_a&Fxyk?SSd=2aj}iKCX4GV-2|6BC&0ZM8BY%U!C?$Ukyes$05|6mXp@ov*#2)x3cD5N4XF9s`7_`*e&Bc;n}?Ad z0Zis`p_VjoOYq3EcivhPYDDGGoB+#UH>ntO}{=lMX_spJEZqs_I2=$Ij$kE3;6 zE6B3qq_-Q8AlEEL{}mXrz!9qDSj>Sk^A+R%Y50yWhpJkRBKDb$3KzEL+EGG>0>;{z;ZKop?=L<^sB;yYt-snM$K=rf{u zQu19_b9uVGy+&rks_Lg|&WUc!xam+03^I3hK$^slZc#u7mJ60lOCXi-*nhcil#&T( z+>dR4&yAQb!Zk|u`^)kDinp^g4f1W&r6FpiOl{m>4t>@8k%rt!`K+mj=2S&Lnz(uX zpOo)Znxy9EqBs0HB682PL5Kb%>t?@bzZb8SzId5l(0-?Ce`aMZV+9fhW16=KfA-oG z|KOd~1Bs%M-v{IXCgKfl19`MBlVw@nVD&ZM0p~S>J_eucHDd-8-2~~nrGuLp&Uj{b zIRDH2p#qkfi+cM4HT&ap<7T~g$t+U#gm&c(8wXbV)rbGZu~q1`PxEUmRG1mxa`P2!8#J-PlgCR0vh;**8TH^hWoH6w!POW{e-8g$DM00bmBC zHssmj_g=4vZpIsS2cH`A#xv^%418l^Qaqhw-P1*>kKG(*D{AP$FBBm+Pd`cWlj8}= zF7xu$9F(?a**!gBFK<|>+s`SErPwZaP|tQ)wj3+T8KVW^C7?i+uH?`46}=rBh4)6* zWU700l_sF@jj`QV$tU(K&r zDS@yd`dS(;{hr0ZE_ztZKxYuK3oC^|j~$H)MdYae_jlN7Lp3Z57iMhs>|n3`LG9=P zB{jSbnh*68AzFRGV#j;-?){a|jvQqGo4UHK<08^Ox7HOrb831$2KVap2emp!s*A$) zv|9hQbL6e8!MCbO3f*0#yTBiCKx&h4mwy(d0h?W`iai4>es|Yvs|c5dC~Q`x)n05% zO8iAokX~J-Ix8=-Uu)2d<@#VF^Wvfy7WDpVOtbV@Po7XphN}z;$@3=E$)xEG-a~d# z^C-m6;dpO)Vh|)P)DboTZ`}7gyJ$wPes#YXuU8ID`|sY+f0=jPMQ)m`76nAu?GQ1A z#^gi_FN`=PnjeQJG&i@NL_01al#K1bl*np908+=o8(W$|qLfQB(@JcElmqN2&D=NP@OKJ8g{*+t-g`FcVC`sHuOf zAxjX59WJeRG_EeisT#+yp0!$;GdECiMfX##@YBj&h#GKTdGCOb1oL;#Um_sb7K z^0&v)-Il|$fQ=+-7KrXSeIj}NfjcLU)&N`qoB0LePDdMoYFBp`r_>#Nv|H|DvuUS) zWji1}u-$&1ZY>buPF}D4i92~7FQ>!6wu$<4Nr29Z%#-&6dJLN^`N|qln_1`o8YL_T z)DpeW0DqE~^k>MJKbBul5IzhJPYslxg%I2|uOSI82F+r^r*hmmDkU!di=J=50P-)* zjFwV1SJ#$1y`u;IH_2FYw3#>unjhu! zx!$&M5gFbYV;cvgc$hJ%8?a947vWZsa45DIS9{HnauO1cIz_J8`(_-2DCYjEZ&Y`* zOv~HS)%4l7Ht@29{U&bQy<$sV-L;?VE$gM|xVzV0l%-dm^#kkbnV9z-@+mq4BU0If zMOQTks;?Slyj9S8nn0vCmKM-j&Y%eJx8e1>@gLmdRGq@Oe36wMU*j{l_#am*&Cdp2 zZ~{E|Vk~yJ5>aD;h zj|CPAMgvD#9lgLq>uJtZOP3PCJtGyjg^{X0l3wJXd))wJ} zjFy=`1j83JUfm?3X05dwX7JB`l;*mcV4Yw$^3AC<R9m;!M~2A1OO?gg}E4*HD6R6ufl8MbSceGgQ%E=5HAy<(38w47(Rtar6*P2 z$~5v|qWz=9fpeJ@O9 z(Ub#&i0B!u94B_Td$x5zh~xPhw@R@5D}OFfqbKr1jt7SZ$g)arXKS$s?NhoI`a<-Y zP=ajUac{*_>816xtH~WP^Y_160JboBpf<^W?(sxVYF3zghn{IQVo+uslBdrS=20f3 z#uabERw3pmp0zc|viKA2lKkU^;LfQZA;j|;74V5RNDU-bwFE#~kMU%Dh5o z_e9diDp{>gfzWOkM08YOaf1NuV3g#F{D*C*U>QQNdKf~*+3|5%&H|-ehIB+S-rCND(!}5|cbL;V{Qc;TP z-Rcw_oXa_Gwt1*S5(f8(M8~S>OTP=z=Swo;kWxdX%h_dc@$ofH{wi_n?$U;2`Un*n zF4k$g)Kk4Zx&0=caoN=MqtkW+JDGY|bfO^OqwUJ!N-0FxJ?Gvh(bvMhOqBGF?> z?DoDDp?W00kRq%`uRP(Mg`L_ejeRP8GxgTmSB`dvE+3@Pmn+mM^B93@KAF-kNFAzC z94Kk}%?l|G`n?!Wh{O~RJcT}}fXdF;}Xqpd{ww~yf%VZA=ve@ z-_9S`eQ^fXvKzc9F=10B9N|`lYrb&It;7cI5Rkt?iEF5F`4h&v{nQ&_>vn)C} zU_FFRVV}G9SJQ!zr#9c@%=E7$xxL`7++`7RyXo0ZKg*<0FC0==~Ymn;3n zhOatXlv()t^aBWlpMN`OdG#>a9Q(%l#~60nh=0iKJr?`roiSDQ6Yk<~Ba62zy#=NE z2RF9V3adjT`iT!M!Kwc?yABK;`nrifv~7($IGNU~nYIMWw(MxY)%Ud@hDW797-zvg z>BnCy1HhZh+Kp)A(W~EG+OKc$p0Ts@g^Em^c|#v21rYePv!Z?u4#E&CHIeX4aEMK* zwULwQzSiWcjuYaN_AY+zyYTL(uOo-0R)&$b9J&F_RY@ZuEXX+*;+P8GCzkaBoBGro z@6{wrT!abse`9i><1k*0#pveP(P$&pP9-IKt&u|C<)s5n9u!@{Xxzw?@eFF%NiBky zXCWZY{4?&Y#8}Fo@Cc87?2Xy;@GPpZIUAy$-u*ZrA*H{}m-d8Cc*0_S59E?*ZOTF| z_Zb%tJ_P9b*$kev$a!NaKr7E; zg6}^1X3V%BcdQY7W-Jd`G(p9X>lALe6@GgnQw!r~x1%o?Y2A?A27Zv5MA>fYfzLEr z1Sg%-sOiO)m?SMQ0r8~B^}79In1_slwZz5dU2LBv&t^mKtSWoTJ?oBkWgPNCMQSs- zeHsU_z{JB`WJZuMGI&5i1LyAuwAC&vqY%y^>GEBNhjJq9ezn~M>#8SPn=y$d{YLfi zIdEhLYgeiSNq&1gQnX8wg2_puPAZ9=R4Bk3KSBJFY+K|6zswW^%WZAC@9pRZ@^$Cd&+Tj)5cSxCoBA`dGz!gx8WbZ{*=mp3syPt!HNIlCtXW@W%gqg+cwG? zQn9|-uQ{^vK(R?GCdK(V6!X1M^*4e`(m4xiiCJ|AxKuR%8D!^r)Y$FJL@SQNRS=Lt z{QP{xqg(g!P|?`O*G%Z0^z0}}SLuTPd#SvRXZfyhZw7=<4?msj>GVPZyU+hg2|Bihd%-9n%w0)|JB0$v^MPhwp%& zTO^k0u*tzUO~OP3>3x9umP(zT*!aXrn4mZ)<`womLLhjMp{}l7Cjvmc)>?W@f(d(} zO`Pq_F!WkwSD)D_3P;)L3+w0#muh-3^F90- zsn&7)tKZ{bWXU7Vwsxx#78)89>~%Ygr9m%@JM@eaV1O!b0Nz#Be4noD5iHHq8nNO(>q*2OUufIa2wdG*-FcBUUFb| z+!&`kwE#d`hzFL5*C`uS!=WNW8j>vt9N9aNmxH@RX?n7Xvop6U&8bKSlcz9iL9KNV zU^Lf^p&hX~z+_9+FsC;HWZ~!MKE9pKVg?zvp6(y(Bo4`A+Ne1$zft|P&{pXp$ego(z=i9Hx{R$cZif&+_gl+)Ch5PHs z4L;djtj5;jk*mSkx$Q)jt*`QMC5Bw7Oei8apG&4X&NZ|7JiXwsI#upWwAaHA#ro#u zT^>1B_aFaqPho=buhUTZEH2LKCu~5{`6K^43 z;|4F^vMXtWJ~G6{1KIAZR@;8UnfzevxPQAH5K}_*~ZJ+pquMMUv=vIgkKY_6HYwyNZEDv|gGncp}UfGMR2;aoVPF23|eX zI65b}{`iq)aoL{S3|v%9cP_PD-wFC|ZID{N@*xb|o6W#jCn)OzOcdD`s0t*W=OkiJ+vZREpQ=;^ z5S0GE-~CR)BE3fXtn~255VMctN4)0AqXDblthET4^_y^T&Z1Fp8-9mB6Umn~F}VIv zakw9Et4|mRC^B#^Ns_vk`?Q{**M&3WVI7d!8aH|u2de>_7%OqEyxF_S z{8T9pIz|CP$m)a%vY@C@$suJy{|jqPVe?R~36>l4wsZR??$5Q$&or<#%xJO7B^3h_ zr0!;ivi#Q@&Wjhf)rPUAUgP5cbxBR?(KOLrIB$^nccflzE>-&-?uhdvG9jNcIQ}^b zlS&+v{Wo`%nPO34tE-$D)6rUE;=|C_qCWtofeJ=mN?b#T^fKPAbKQlxw>bFE;M+H8 zkRMN?k3YBqVjebI@@zl4{zs`y-*@ANsB_X9rWF;3 zmzhWo4t~Werwap$0kT2!`vx%~)DLu>E<^Qur|K`Bn+b9a=qZJ2LOyn}~|4Qzs$*?8URi)|8g)rOI5}^g<<>uNb;KO*j;?6*9WZ^*4%kKkm32 zEE|Y}A)%Pe;vnUGNv%IESv|OiOI{W;yS z*GV|Yd4ZxnD;?ZBlNa91$>7dPwgVi!5Uu$-!855&yE_aqT3 zAz$bG2R!ETiQ_ws(65BUKd!{m%-*r1o0*^c%2gyLPZOCfeF{EH7^C8SoR&GJ zZl&SZ%FeK9!x+71H{yRD>rz0#za*e1F&cAQOZ@FI-UE;x9-H>^XPl&3P=Z|W0i-F2 zL69R1kg~!qm&y9Q`m_(b&ebuA%s=frv8cUWH&0pR6 zp+E0=k{QOzQAO!!BNY9LH7kComUzryg83NX&zpf%(qCixNrsNI(be@3P^DEVaDs%w z@5w_z%q$mjes2ty>hlBa$&aN=$nRQdDI6b-)H6yG5%gh#HGayj<-oqxbFj( z!SXZu`SJLE{WmIPGPzxsPkyAbb5mXpG|_EonH8q##0sVgyWDP?pAwZeXWqYCAE-Y8 zRk#ONO%i|4I#vd*3od%Z)j>tSzCq)_MiCUM|9wiM=wMnRd)D6oOY(26Y+xvwz`G@k@><~mc`(-c;F1d$Z74-x4fgF zv|(ADUp`@~Ryc1dmM-!CYLE8QZKh)VDUm+{ll_vN#!nG_JiU0z>xUzHg1jEOLj7o? zja&*#dF*m(Bp-n#4L{TxiZI|hEjUn}#)ZWs+jfkNIJ&iT(oDvvrwoE_SSAB>>Z9RzeuTRXzmu{ei9gFV*Q!3x!cf5BQm%ZyR%Sk{AqPJ0frITe9`$ z!UFh!3t6A8=m~TG2WCcuaoO;h7NY9vqCS)w%$s%Sk3>)!#r7uE=Cn@*+M&Y#391Xr zR^}s2Y)bJ?dfEAr#yb3%$XS#MMVG9OgnJ|X&W-1%SzcMB^6svHomgq(3d;StxGFNG zhv)hfrdR``#IgG(j1>?OoQBt9=PlutW#pFIRD7H&SIEpR{hH$)>BNon=J0hK;#oYsy%6d2MYKCRc4!fmV7 zW0L#}3z0gqY-U+V%KDX8m;;-8?!U(kcGICjQdZ=IQ=ZtWYtrD_@E@(pl|={}rXJgP zWD81LC7<=Z?A+1f%h3hh6l{CAKh=`BixHAV!C2#1xa4oeqiAo{0}Y%_Oi(NjPb%q( zel6;X2uoMhGG)`4Eh)oY)o;SHcxq+p-cg3b4SJZ?<`sSEDfi=WzKMFJC_(J)N3XkE z{eto%jrf>?42}i4ho5wwr}lS}#{V{s{%5p}e<#4?I4=6|488UO#D1qRtq%scO2hm& zXFA~wd|t=K-eXrb(mJT%*>gldl|W|XNatZ4icM6_738FDzlDbM z@WV&wHq&@~9N!`nzV;MMeAd6cXk+nprHLN2(tFIQh=|Cn_I1#++NqEkeJWnjUQ;jc zE3f=Hu}@k05|-Ru8f1Rl$1%E^3~GMUcp{b2lusmbQtClOQRD}HY`9#Hcnz%DLc5{kF z2DOu{=Aw?t)sShZQ6fc5)^4X+zd(YtCB3HHFeZV&oqJ=5qxq9Cs=NT!I-KtXf;4bv z41OrUg3;nbT1otY)JT;Us}@Qo0Z;}xgy8(T)K-Soc8Sl0LH zA@%V#z?rznyk6?7X|Lc(&+nM0u;6PN<~s$lXc<#=#?zR;(xZz%^EnF!6={LVDvI&tdPo#)~rF3_Vrt_u{wP~2} zsb&TgJP^;sRp~|dFgHS1$meNut2NKHB;B7gi%$vpcGKB5!!r9MY8-gf&2l4b}U;)6UBa+>oC1IeQxtCUWdbd=t^%kIF;065d2jCjNheG>#sbI%;*R`!g82D#bHCR$@f5KO`K1{Y> zqymg4lOblJY>wrV!r|)mR;c}3UIg(v^#A--kNn1eH1VIqW7s$53m0j$7W>>P%yj8Z zezU`Dss>NAi!GNP9y-{{EjSq0R3t}TC1dbmZ+>B)BdWcVA|RYfj5ST^t!sA8wg9Jy ztB-A%(M3wJhDxc(L_h?Ir1Wcqn6^r09EIzD1=DLap8Z`UpjaL=)mGshGk|hjXXZ>5 zw~`90oL@6+d2E1%6i_CGdTN(PxjNV9-OxK2Jp zFakl9>{%V_c(`QzfB{4x!W=@;Ne1*8?*~u^QN0rfGJDYV_fbz%2Z|>}^OLM%y(Y?I z9K>>jvF@65(vEh#Xo-uQ(&oVaaQE7;)!Fc3rVd%cNT!x5`=52X~7jc!Q6QGEa=)6Ib^bk z&e0KHd)I(Vmcf{Znqu4x!Fxz{reJ9tm)6C)hfA{>8wMi4V_@tR6*8&npvFYl#*flI zE;A7YBxf$(=%|4H?2ELTOTv#PzQ0Op*+|0~8Y5u#Z?L|c*S;#Bke-sMztmU5us4FP zoYP;6J8-dcD0eXCBjhF|El3^gT!xlS3$V#%5uQ;{T zn-&lT^z~!K%tqvN{`Sp$$I1vo6msT78bZ{u8FK78})?IdRK3n8cZ9z z0PYR1=K6T{ZCI^rPB$<%NRg|e0!bXig7%uGaPLcT8Ve^#@VfL{-k9&BlxO8-ES=lG zk4&AL!&%{k`+LqnYl(-~D7DNzeAqoaGFK{Ebb4t#Bm`5}{^3 zSqauB7cYy?a4lM2;pZ_4U7t7DwX#Gi^sBZzv}`_f`vC{6lXG~Tu0oX_Nf==b!(?rO znyI=tD`)uI&&GOs=^p~eYqGD-xm9!T37rK|y+Q#AX2;VZ${KVBSU=4yKx!S7z{j*d zGH<3YMn<}cB$tpl8eBlVm_J(M7P5}e2%)7 zT~K`k4%!z=8`M;E8~>M@7JuSCOA1+D9nz=O3Oa-r% zeGfr;Y;j2`d!?kAzQOb@wRilKmM+VCs2jlGiPzM} zQ?vTKD2vtwm%_1VEGL7TmLJZ8M><8UhyfoqqaJhit>Ea|n43XNFm+`Xyd++Y?_&K9 zP-t32ea#kJFe{rV%kw5Y1aZnyolq;=M_;%<)1$-%JBpyViJy4o`J-UVOH7ZSMa9x= z!sm&8uM3p1pVCt3lP!?5VUBTvNMkg*C9*Y7P-wG>+Me(cL5mYNaaH6IU@>X2yD=z0 zY(&Cgc)kZ>V(M|d+B^C1m{i~7;WMef{ib3b-ZW+n6{(3D^w3+T&r<7?A>MFMp}*aa zkvB4dp4{R+8MS0Z=8u00G7q0GHV#pLOf6W0l)n$*FgQisP-sH?T|rfGwBIWP8037e zuo)O~2spNJCHnnV5KRv==Y_>b^Y+LIqV)`5paH>67~pmsus6zv%rhAVORU7gypstH z@Wp`Yw9sp+-o25K{vQ{re}{UT&QPQT8-hKcsPcG(C&ScVNe;U4_y(gpzpEi5nFzXq z#YPFcZwAr6CB_b?8IjU<>3XtRsmaQrw4Lo7oz6)D^H~@{)$<#y;tf82`6>6k4pasO zF-i^NK^Y3dQy6y!L~dbRmM#64zZz>Y`Tn%g)hYVHrcpQ0d-_e?+-XFPHD8pBueD0b z&DJK*UgtM8Gt=Fg=r`rBuGNh+y43GNwlhH(mK+}e+ChvAwRR(xDIEjn%JY`=1DTAr z`LiopY)_X)b@kr)mq{-k7=~X1fog#&cYbmni1G6);iQJt25a~dW~%f~pAh50U*fC! zmri8f<5tUj=;*1wyTo7`b**~KY#U~o(M;Cd++-t23L@CdXKg6$igaSa?r92Vc!MiT#}tlbe}g^N z&Usi6OWAY4+s0ty5rBtMqtpmTcNnrcz!fQ)QI3T=%)26EC7Muek&{l@19ZbBuEk2J zBE6n(ekE9=Gqm?ag|_I+%~v(X3|$}X2^ZM%Hs(>J45AzrCadbE7kHI(oF^Soep+5i9Te{t z#!eh7rz_=045cn@wEW=0J@iY0l%>5q<4y-0R)WTk`-mO{{$TWv3zv?m>76?l;%J|0 z{!}akZ-*?sqSnV;K5<@&3@SaHnS#wVY7i{l_@xB=GgxQHJ+I&=Jn3u}7cO>klFZ*e zSO$UQ-!UL{e@Yw?LpcuwK>eY>*?#!qghxu{d#$Y?*L_>}(!wVz7eh`4h>{5WrQ6=Q z!XXC0au0sw*Sl+qTz#_9?ou>A8i~&(&NL_we!uu-3N_Jb`Muej{67D>Q2OB=3WxB#o%N4yC=CjU%5}7;O!e4V$@9; zSvdwl=_l^pX@{&#m*_hzMNyj6q&4;$b&F&O>L!gw8G+*_~|Ht zuW{n3!^m93*cJ*T-xMPiMivvw^A< z>_}rf`rUrBx5Adz2m=b;#VZA@+h#K!_|wyh)Mlb^>rtgKia}H!c>lQ{^47op%$XW| zeEx<`0{00s4(m!&Hv=m8RBW<6g9?%wa*|ETL^Upo64*hsP%2?v+Av-tkL}Q_$qMS#8R9HsXpbvmCv>oMyMqh9eLO8P!5R-=Y6h`gNf=B0#;X@W3pJA(!&4#E%pKR0 zVvhItQ93dG>-nLCH1J575 zpnMlHl`fyc+NZZ7JB~Afgl02;-2j^o|H@2<@|~wYOuX}VY$UBFnW)r6kfWcgC&tU0 zpN;@lv50dk*h`ndD)*9Vj>8||k`Y_wRy7woL$(X;t}>;v>&m6?Ctt%kRI6$`Haxia zVL#WJ1u3%w%Nn9l46IrCNE*W4)r6Boi}1*s{J zB$si|4U2Zf4jNaE-#9q7^a&4{PLqny&T3=!>vM*bA0y@9(O?7kWzhT5i0JDP=YPrT zgK>3FUk`%56EX^%=-w$!Wo6AA6K=TG)fQv`Bjw-x2Z7f&kzq()D+g{QT4zF3`YMN6 z6a#9G|N56K4;qdNsU41enFbnOtYM}012ll&LN0C}5gkbP!m5m>6)=6^fetwCH zWyc^}@*F7&U49(d*NkjL00#2k4M)D-u#|mXQkz%b6EaMsUw)zE;3#OeEV)38+KC4i zCrok!!a~|JE5;|ybv&z5MepPv?@xIgSY550AS3b$A1` zxGjsVeUMg*X@ens`zrEA|G5RdjJ_`@?EVCqs+&L?&HwfGl@C#U;nqh)Bt%dt2}x-N zr3IxVhme?|OS)r*kVZn3ZltA4ItL^~=^nZpq*c1_8GrY_f5OWLzQEb>?Ded@_S$Ff zQ(E>0b;^IrdA^Wd?V=seFsMurWz1}5Le95K{6m16(F!*#4XeEZ91orNaWbmiPwF-o z-%+*ZC)l#Z-ux?%WtYH*u#+3UJGh#cl%YQ1bRGa(SQ}a3+3e|F7b3Jljl3w zB%&jKpW9yf&|`+VO(6$h(lN08cXgVualpv@)LHo2KvHs(vc?}IcfS*-REw-_h6#9k z!LaGSk!~6agnWoiXUkx7miD{lN!u&&R6_s+63pNss_@H11xd#%KN>Xw{1 zvS9AP-r(Omh&q$Tjyp?$tksi*x3Q#E(krI{8_0-|vawWJM**wGMN2sKNLWm=%n)VG z<7M#mfA&alu{nlWSART~;=5FGFY?NJ7V9*-I`(b@H)?q@ReD9a<(M^_4b@74nG5*# z9)hM29duFNPam*2uv6`*AfdtXI{ua~{Gz4enSxW!jwcO9Fy@p*FaNu=$SU@LaYH}d zY;Yw#oGvO2>-8w_0La%Lh5xIx!)A?F++8B-51y$%Qbf{^^Q)!_q{Y=)!Ws8e{1sGc6YgwMnB5$ zqp3wMy&NYF;x#zPaoOGsqh}|6S`-L&^Uy}sK8Ul%P?54DiKL}Qx~rn2^Yo_nr*_MG zzd??I#CKxwfJvX91N4TXE6?3hKaQsdXx~!e)%yr1h=S~}JoxeC!)Le2Noi7IhZGsx z;tj$$3JMXte|7!*J|zwOsSU}Q9#hnxlpP4M1xP{^9+a z`?(?LeY?KLC@WX8#O$}Lm)YQscz%xsK1(O)XV~LK8J|@}5JVl=N^lh-G0iJ#_s%<_gHE2sjy2>~_2W0HrxCAlfw4MZ*+9@~cK2Nd*vE>8ny0DNx?YqhD3BC?qpQs5q0}{ z`t7KkT5y(BW2 zu?inJvv?BoQo8wPs}36T;dBe$i=dx8xRvC&*P(;mY0fW`80kFtt~6CTZYTBjYixXx zky^&vU{8Afi`ZKCZYws07(quqJsa=5aI}lOAE(eg4#BsLPp7A5KI#+0+_G@BPkrfe zSXJ4JL88G?BW9SA7KiRoWIh=BSwSD?;9P2Fh!D6vunryzTtXkik{596p9+Dm;4;4P z=#lMUy#0%l8q$o`4{dlvxL^=xhH!NH@sX@|DL7h!*Q zlWV@&FyHz~-^(k~;QbdA9dxqv6%>ISG0Rif6)Q{f&&Y!Nxc5FMp*(iDJ`FcT3d(mC z|HMRj%sK{};cr@eehR~74fyJyWp@(Wv%c3copO#$xW@UIcczG?`2SxXsI2m)Bb!ld z;^$YdjV?La``@pg-pn*MuGCgk>;D+UVoQw3i+&&dzQSUsFrD%FZMNH1437J_9?bp@ z)ZZ=4=*+}vQ9W~w*k*u*-yY+{$DfTvWMqI^oE-G>R@X(*R;6jN-9sjcrQwSM+E=Nw zduztkQqFcmj*3(rf{ZlY$tl*L&bLSI80?nmYNB-#B>{6yg+g}cI zh8*B`aYc??E!d8qJKEY;9g|Vq7Qg%8C046&!^<1hX+vO2RG@b{B~5g{#<<*yd_j?; zw&hJ=RA?kpO`q>WkzAYH7vJQmuv{})?f%Kyv~nlkP~+*7Uc%C9FYOdV3Z&XRvCxP8 zCLJVoV{IxiAndpJ05CWV|8wEnJ(Zi8!Me^^@@6&Us;lBkj+qNZ;nK5Vv>KF=iq|cUOgC>6kFh`IBlvcexJ>B)zWgUL({T7V28%>i=cmp?Ki>Tr-yj29_-OO zQ=Us@TFtmG>fZ|TRC$@h?-QwY5 zQr|yglkam~dr0qS>U0nI27G4(Y;`8chvYJ|cAx{08dkqq*X@HMyUFWguRW>aN}{IH z)w}yFRM#`!{9*AXMJ(e@Q6&P_BB5ppYV@C0#9L1rPFj9R4y4(vAkDcFr6*!KJc;r& zO6+H)MO-p&cOEZ)E_JN|#5*xy8*kpc+2%&3_A4e zxi0>STr1;o8{3@0173;$#sy|pIWByn4^;=Qb8nhadv*Y7m##0^y~Q$~a6~yngqOpq zF+Qr=)ZxTQ!8D;-QeLO7!sJb0XucS}WQ1n(i2yuY_w?=S;5HenrY)IGopt+KkH(Ca zS0?eUb5lJM0`S|d9hlCPLi`(={g~hR{4i}knpxm<({2vyU`yQ8AY!@MlwzF-jIx+k z_KTN4XGob>Aw>00Y!80=5G$p@jDV7$>Uf?qeEvDj3Er!l=rZY+gg~)Qn0`J82qc{L zfM@4CtE%95yW%kxp43-b*F3v^awtjZHLCvJB+-JgHZp%i$)e8cwm1={8IU73zr#?Y z(!*Ki9XrjXS8h~f`lHT;A;!hXpVQ=sz7MlkceeWUx~0_g`V+#Wh1@yuyF-Lwd{^{U zdU=wRrpfp5{oB*hP3rh1GpPuSw~%j|2tDFY;x3wPc&x|sJl^{!KeRW+g0eD z$<=s!53NPS@+q~Q_m-LZE4JnoOdkEvZiE_es@vKD`i3J(D;D@l2!@~32=9yY<;Y)DlPMNo)u)vPK%Mh3lP+0agj>)2;=eN`L3sO|wQKv>-P~GIC zL9x0|8)jq4-+u3(yfwP8(ceZIx=`4=9Zb7K-@M~FYvb|f$)?M*4iMs`yS(*+{jy7{j)q*nk zjg`I2hY7BWlSfVhfMY8z_%(~(a|&_MI&5>znQ{wtp)(l!)4I zPaC;n)$2;YRlNtX)VG;aWJRQ-MsfKXUw= zF`#kHUq$bx@`BGzwTvhG6_q$wH30{7Z8qtWNOqa#vbR~Su^1j6bI7H{|8YQ5?;&G1 zLfg5d`}cwJyl;Z0L4+qSQFQAAK=>0l&7S8(-dg>87McXT$cb$MZ@lcX)~V36GaN7l z`3gVTG0fX#L$1-P*FJ&}9^Lu}Z!Bz>Zfwuzl)fABLU3;uXG^+sL&=#9$ylP1+1yw% zie~RMJ|9u$dLV@LkF~{VkDmM4+Mjd=kry`V$viqO>MK|Eh~G-x3yz9$=pE;S!wg{^ zBIk+T@Em7urB3$vM>1Hi1gUtMN301{1l*LJ8dR-L(!}8S;36X;Pfq1tBIzwJkK+%&lS+dd2LctBmd*)b@M1<-k z>sntYZi1ViB0 zXR7Ny(PaZnpzW2;01BknWCBo;H2Gug8*k)X3V~Rm{vFi2vtCg$bl^&Z5AG)SHMDVW z>`wja%pl7T82iYpT8lwXYPn>5omwaAjiV&|4yg+wiXS%UIwg)CzEsmDJXD(#jSM-w zX0fPqBqR9vfq;*KI$_oU`{&S%db_LSIaUyit+z0BXQNbTE)~$IRD0JaqfO_Mrn#ul z3%sM`nc6)ZD?_}|L{wC0hPr-Xh@P`8GHI?C{+b+mHzji0LZ z-5c*>b6cB)A9|KY#|K#+EvUIE|Ifz<%V!$aHwKgW{iC}V8eq@!I9>>j`{v(_i&dt^ z-U1G3K`Nwn9JNENO_&gPM_ZbiVtjVpc2;|tV`;EjE%0;P?$p@-)! z?ivf}h|y|yS9x3oe6T@1ddeu~9#m_)&wv>e&c0_^Kbg?Yrfzl8q>WY8)vH^Ovi02? zhJZNaLQMB!`{oY!D*l}8LeZ!`?=8595Mb1ie1|gv%Q^W*A%B@yT|LZrGGPX)JxILkHGgKH>NTlCOt&4s;bs~&wT|_CXQ_M4i=$_jvfxDkcrWExz=9hHsK8puA=RPGS z0*&QdU?%BGjWo9!3LuC7SN2RPNH6VNmXC4!Tfq+=ClX2}imQM=IKuRRWXP_Ntof~HG za5YQy`H7BQ5Bu!Wbocv5Rq-Cjp7(Elw4qDg=1cDblP|z@@DpsoYb>KrbZEbp9@Knn z&b~V`zh}Zrj>yR;+jv=$MCdMuBxuR|^x=mTyDVZ)|7bGz)i;)ApOls!}w|$@gVl(=BBAG1%lat3`1ekPQbZ`dM*O<~z3h!KT#PkNI>f zGE(a5Z&5_p}NNmnZjt!U3a>(z=jYWSlu-}FRhM__UPN(!Xa3Y@``^^ zk3}G$8uJ0VN}@@hMRbqxq*gfnQ%-%6@{ZN#)71mE*u$$YMHIAYycW~>6D6OY^v;sY zuQUZ27IS^t+|bxcI&e#7r__^o-3xGVQv$U|XE4~V@=4n@BjyyJEtm2d+b5>=baQUF zQ`O;RjZa1N3e0&L(E8x%0q5x30ijWEcj2OBDfdOA$+Au zZQHw5#}^+e16QfDAF978lCerFAJ)X)Gx^k?_pIdsFm&x2@frZMe1_csB;9ssOGE#e z+TfthtS>HG&>AP>3%9%)GR9Hzie`qtLjhfj|I~Gkj%94uU{sik3Oq*We#w?})#aj2 zPKNhjVL*rDysjW@-WQ%-Z9S`ug4Z+eG>H=e7<<-=qax;2jQ_JVxIA)LpzZl2oqsZ@ls8 zEgX=RVv6IJRFXEe84uj$dacKs-zl5CN@apyxT5iyU)L~wXFBws&@{N3fN>?Lmc|BO zT5^1E+O+J_E~YFQPyEV1qL{Ca+a;ztQQF;awLW# zls=qE4C;CfpTQWV17O^`U!K+!*EAxUuacQP9_d4-WahrTp_ZJSgb5nRv0LWj0AKwv zuzK8&W7R_FDSYKj%zH|+sa-?x&56*!1{!EoKD3IX1k%BY=B+a^ouR+gT{q3A@FFtP=>dzG@RB++|<+m_6nbRvz zzvmO}T>84$|DIQu2fg7@?8}3ApAW`~I+fc5dmc8&zmC3Ry=5BOMjm%ab{wO=+}6z} zFVrna9I)YJ((j!O{}8)l)Yj3c`Zai2a(Gb+`tZ3?A*G1&=zC-nocQ z4I<|8Ue^~&i#odFNom8Qn9CCwT~-)~&m)iO+gs}i+mbWV-NAngYXI$L5J+eK3<51SHSgf0*Y1Ms9 zey9)L&ox+w&YxBcb)|aG^gC-JTTMI8wlt(dl;td86Ea|~=S=-!xIJX1#+$%JQ}?^z zUr_}YOtUcs&o!vrqpC>DL5tFuw#yGyKM%gcKiFilfuB-&_fP#nd?uJLAw5#&n>ZYd z0aM~=*idD7_CuYVTo~k^i9luNxQ)8`9(>qDPH!T_JYvj5C=-)b=E&K>b0Qr)DLE&~ zyp}<0))1oyK^p!G8D{qWk^(M;d1*j%2ihy8xHf!GindddPSA#E zuEXTBS~dbzztT#-)NJ}JmtgzMXtYnUqqI(8kTyd;S_AI2U+o+xT_b-HRZRKA>Cdg5 z&aKO>#3hwE5dV)rMioB^3gT1q7%G|MJvn>LuB0yQ!oON+Eg@#1v{vud$qbXVZ-#q{ zI(Mzb6<6=WpjnSDXWO-S<3piOLj|cI<7Mv^GecAZ6j_Me9kA+&`AP-yRfP|=!w=SV z3v=Jxr76b(JOV(d4ON967Fe|>c#r!o=+R!@$zA0TPYHr#lU_$Mf7~&t7tp0ivb1?` z$`wn*zGtQ}`h8UjbsfF-?ezCwqy`OV2Yk#}kIVH_-GP_=oiKA0i5aDG<@_C$$bb&G z!AnS#TEw0_wqo+!$q8zu)2f<|% zDWG8%Zf7U$mHw0(S}gv&aGk@xP|YbCwI#iQc$G@su|1|45J5tyR&see&RW^TDoME~ zCA)Cvpf?agLa4(iJIntTi~tb^!FQdV5;{CSLbgyJl?5v|OXe*EWnHKZ9!d$X@tDCq zU0oe{`DlYNl2a9>3=pnG9RCg^jT2=c2Csh`}H7Sp|xq z`RCuQ!u8l~Uq<&xtNz=Oe%j6CVQ^ovQCrWt&GcLIs||L(u@yQK_4uUB7{}7iwdibkA!cUo2&G6);sQcO7%E@+%df;2 z23eiWO*N+R#C;5E6zB*nn#$_vMRcTYbtGF@Dmgn#T02}kNiGC5i&k^6aY552ir!)v!9L{H_I>H6mLUGuh?C-ovJ+XO>ttKjSx_G}H&83#sxfq_#mMBcC_@Iy*sTedj9;=s_{hr;@G@hWzcvHXuD_r9;jtzc0O(FW+TV7n)W(hYx)#7`WXzC-5q=`~lz?hyfTb z`IKnj%Y2#(y#KgxdoU!<-2daIRxSe6ra}eW-p$vkaxoubbFN=;#BMb+VF>vOToXghTA#^%s(n=d}j{Ez1dC2e8CUhdbFizeybgUsp<5adKHh& ztnykRHvR9APpxe8X0q?x3?S5kRD}FruG@R`Fx*+1P zWIE4Z{Ndy>iVODqd>1Y1sHZ>KwkxP)6Gh|Qd-(0YxiR3oc2jtAQaIqph!F^_l>|r3 zfz@BNC&YN3Q0+`i@C}PsJb^=WF54U{+y{c`3{>-$ zm>7-pPV``PDjD685x;xi_RS5s-UnK(F^!&tMiGaTpboZ-`4bPN1)4G`|MJs|lgjBN z!Fp}yx7N63?0nKqahXf{*5Y_IA5w|X-iz;wtM+dP1$Hfr3ypSTrx0ANbIxHE&JLmk z{Q5C)H`*qz+?PeT(r+q?vSw2vMw-3l);QCPV-De_W#mPjOokE~eSxukpI<8P3j9+0 zV_Q(L8c!O^RpL0znTUMBOCfkEG+>`OV78}${!C^K00xoZ&dedv?6s3* zeeAGDTd9X|KcYz}OOL}xq3_1!Nve}pySZH+u@%BIDHKBL9F)b-&$?C@~?IY&$cDSH!hQKDM$tlYe*Q`CD!PXnYN( zmUtp}y0`AJ9EjM`SL372#8R$*{#f6M%WX$MSM@ksuvr3)Ke2#va0J$Qs`?|PXPshIJuKrNCnVVZaHkB`V zR@MH$d^UxTMSDf%lV^r;_77z3R>m@dhE!shU*EiBdHGV$a75~MxH&uJ)yrA#f9xIZ zUJn4yB;dpY1RK{f@WjWO_FT5V=(Pq8*Yq^F0tzkopfElxVCW47In+f{kE8cjHwez@ z)Yi0q2$?AG_%$_9wI`DlX8lrJmx)1pJXW-NJT?OWhg6s{Ws&a<9r~Yi-;HLJ*Pcr+ z;mKxy*s2j!yJ;B(6;?le|IwMdR{1vI=!i*7A@i0dT6r^_{!fZha3((`6j(4Bqt&yR zo43Jb=FawC(R)dQAUiH$Km~-WkXn(ob-|RSUva3J$xz@e{y}A1Cuzi;PlX*lq$qj} z7HEuV^rAaBH(VG&F96_nALd>FP%|rqy0Wt+#(`e6tfh8Wmo3PgD&X!e0Bn1ThJ8!y zsbJ23@%{D?5{wtdeUkWa*>(H@XjSl zFB6LX&ucu2C zq}=AT>e85dDQ+oHdChh9_-&?v!UQR|^iH_0bB+|*Q+WLocJdXJBWUKl7z+iT{wD-m zmpt^?&NQ06MGBi4G#@FFAFf_8n0ID?(4DcOO z|B;hCzj`IyEKjR4rzVgwk%* zzw0aBlFHZ0lY)fkMtUB74i;CH9>bw&v!rED#3+ z{-94miYNxnf-nS@GywRG5o6l9gVv|q?zDPI4m%&}Mb%Gh=>-|7jUCTjzbtDGKaj}P z?1Ix?SSyURIG7Ee4{-ZBdomOFyg_%g4Gcwmlf%WC`I_#oHMd@H_7eL;m7(UHU^UVm zQBj#CpSsslH*Om|nwDS}a=|W?yJNBg@cw(WAr-^-xx>dP;=lbuj(P$K^JlbMXA6qy zrveqEuFX*R66*JYWpMsdwq|Nj7#15j@O diff --git a/src/content/refi/index.md b/src/content/refi/index.md index 5bc2451e4ad..8ed7550dcb6 100755 --- a/src/content/refi/index.md +++ b/src/content/refi/index.md @@ -18,7 +18,7 @@ summaryPoint3: A tool to drastically scale ecological benefit assets like verife Instead, ReFi aims to solve environmental, communal, or social problems by creating regenerative cycles. These systems create value for participants while simultaneously benefiting ecosystems and communities. -One of the foundations of ReFi is the concept of regenerative economics pioneered by John Fullerton of the [Capital Institute](https://capitalinstitute.org). He proposed eight interconnected principles that underlie systemic health: +One of the foundations of ReFi is the concept of regenerative economics pioneered by John Fullerton of the Capital Institute. He proposed [eight interconnected principles](https://capitalinstitute.org/8-principles-regenerative-economy/) that underlie systemic health: ![Eight interconnected principles](../../assets/use-cases/refi-regenerative-economy-diagram.png) From 2b4d5516c98a0298ea408cd36ec3feb9b415a769 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 11 Aug 2023 09:20:26 +0100 Subject: [PATCH 06/55] made the image 450px and compressed --- .../refi-regenerative-economy-diagram.png | Bin 112724 -> 45461 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/assets/use-cases/refi-regenerative-economy-diagram.png b/src/assets/use-cases/refi-regenerative-economy-diagram.png index a477db1759728edbd7a48b5d3f5e5393e91b98a5..e9b6625f5fb33fa3b944e7a784f8ac23a000eb47 100644 GIT binary patch literal 45461 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 From cdc1a86f062badae597e7e6960d8b2bffb53a17b Mon Sep 17 00:00:00 2001 From: Jakub <100724231+konopkja@users.noreply.github.com> Date: Mon, 21 Aug 2023 16:49:00 +0200 Subject: [PATCH 07/55] Update NFT page minor ux copy adjustments to the NFT page --- src/content/nft/index.md | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/content/nft/index.md b/src/content/nft/index.md index 2457bda53a5..510e3507ce0 100644 --- a/src/content/nft/index.md +++ b/src/content/nft/index.md @@ -14,15 +14,15 @@ summaryPoint3: Powered by smart contracts on the Ethereum blockchain. ## What are NFTs? {#what-are-nfts} -NFTs are tokens that are individually unique. Each NFT has different properties (non-fungible) and is provably scarce. This is different from tokens such as ERC-20s where every token in a set is identical and has the same properties ('fungible'). You don't care which specific dollar bill you have in your wallet, because they are all identical and worth the same. However, you _do_ care which specific NFT you own, because they all have individual properties that distinguish them from others ('non-fungible'). +NFTs are tokens that are individually unique. Each NFT has different properties (non-fungible) and is provably scarce. This is different from tokens such as ETH, BTC or other Ethereum based tokens like USDC where every token is identical and has the same properties ('fungible'). You don't care which specific dollar bill (or ETH) you have in your wallet, because they are all identical and worth the same. However, you _do_ care which specific NFT you own, because they all have individual properties that distinguish them from others ('non-fungible'). -The uniqueness of each NFT enables tokenization of things like art, collectibles, or even real estate, where one specific unique NFT represents some specific unique real world or digital item. Ownership of an asset is secured by the Ethereum blockchain – no one can modify the record of ownership or copy/paste a new NFT into existence. +The uniqueness of each NFT enables tokenization of things like art, collectibles, or even real estate, where one specific unique NFT represents some specific unique real world or digital item. Ownership of an asset is publicly verifiable on Ethereum blockchain. ## The internet of assets {#internet-of-assets} -NFTs and Ethereum solve some of the problems that exist on the internet today. As everything becomes more digital, there's a need to replicate the properties of physical items like scarcity, uniqueness, and proof of ownership in a way that isn't controlled by a central organization. For example, with NFTs, you can own a music mp3 that is not specific to one company's specific music app, or you can own a social media handle that you can sell or swap, but can't be arbitrarily taken away from you by a platform provider. +NFTs and Ethereum solve some of the problems that exist on the internet today. As everything becomes more digital, there's a need to replicate the properties of physical items like scarcity, uniqueness, and proof of ownership in a way that isn't controlled by a central organization. For example, with NFTs, you can own a music mp3 file across all Ethereum based apps and not be bound to one company's specific music app like Spotify or Apple Music. You can own a social media handle that you can sell or swap, but can't be arbitrarily taken away from you by a platform provider. Here's how an internet of NFTs compared to the internet most of us use today looks... @@ -30,19 +30,13 @@ Here's how an internet of NFTs compared to the internet most of us use today loo | An NFT internet | The internet today | | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| You own your assets! Only you can sell or swap them. | You rent an asset from some organization. | +| You own your assets! Only you can sell or swap them. | You rent an asset from some organization and it can be taken away from you. | | NFTs are digitally unique, no two NFTs are the same. | A copy of an entity often cannot be distinguished from the original. | | Ownership of an NFT is stored on the blockchain for anyone to verify. | Ownership records of digital items are stored on servers controlled by institutions – you must take their word for it. | | NFTs are smart contracts on Ethereum. This means they can easily be used in other smart contracts and apps on Ethereum! | Companies with digital items usually require their own "walled garden" infrastructure. | | Content creators can sell their work anywhere and can access a global market. | Creators rely on the infrastructure and distribution of the platforms they use. These are often subject to terms of use and geographical restrictions. | | NFT creators can retain ownership rights over their own work, and program royalties directly into the NFT contract. | Platforms, such as music streaming services, retain the majority of profits from sales. | -## How do NFTs work? {#how-nfts-work} - -Like any token issued on Ethereum, NFTs are issued by a smart contract. The smart contract conforms to one of several NFT standards (commonly ERC-721 or ERC-1155) that define what functions the contract has. The contract can create ('mint') NFTs and assign them to a specific owner. Ownership is defined in the contract by mapping specific NFTs to specific addresses. The NFT has an ID and typically metadata associated with it that make the specific token unique. - -When someone creates or mints an NFT, they are really executing a function in the smart contract that assigns a specific NFT to their address. This information is stored in the contract's storage, which is part of the blockchain. The contract creator can write additional logic into the contract, for example limiting the total supply or defining a royalty to be paid to the creator each time a token is transferred. - ## What are NFTs used for? {#nft-use-cases} NFTs are used for many things, including: @@ -62,7 +56,7 @@ Maybe you are an artist that wants to share their work using NFTs, without losin Or consider a ticket to a sporting event. Just as an organizer of an event can choose how many tickets to sell, the creator of an NFT can decide how many replicas exist. Sometimes these are exact replicas, such as 5000 General Admission tickets. Sometimes several are minted that are very similar, but each slightly different, such as a ticket with an assigned seat. These can be bought and sold peer-to-peer without paying ticket handlers and the buyer always with assurance of the ticket authenticity by checking the contract address. -On ethereum.org, NFTs are used to demonstrate that people have contributed to our Github repository or attended calls, and we've even got our own NFT domain name. If you contribute to ethereum.org, you can claim a POAP NFT. Some crypto meetups have used POAPs as tickets. [More on contributing](/contributing/#poap). +On ethereum.org, NFTs are used to demonstrate that people have meaningfully contributed to our Github repository (programmed the website, written or modified an article...) or attended our community calls, and we've even got our own NFT domain name. If you contribute to ethereum.org, you can claim a POAP NFT. Some crypto meetups have used POAPs as tickets. [More on contributing](/contributing/#poap). ![ethereum.org POAP](./poap.png) @@ -72,6 +66,21 @@ This website also has an alternative domain name powered by NFTs, **ethereum.eth + +## How do NFTs work? {#how-nfts-work} + +NFTs, like any digital items on the Ethereum blockchain, are created through a special Ethereum based computer program called a "smart contract." These contracts follow certain rules, like the ERC-721 or ERC-1155 standards, which determine what the contract can do. + +The NFT smart contract can do a few key things: + +- **Create NFTs:** It can make new NFTs. +- **Assign Ownership:** It keeps track of who owns which NFTs by linking them to specific Ethereum addresses. +- **Give Each NFT an ID:** Each NFT has a number that makes it unique. Additionally, there's usually some information (metadata) attached to it, describing what the NFT represents. + +When someone "creates" or "mints" an NFT, they're basically telling the smart contract to give them ownership of a particular NFT. This information is securely and publicly stored in the blockchain. + +Furthermore, the creator of the contract can add extra rules. They might limit how many of a certain NFT can be made or decide that they should get a small royality fee whenever the NFT changes hands. + ### NFT security {#nft-security} Ethereum's security comes from proof-of-stake. The system is designed to economically disincentivize malicious actions, making Ethereum tamper-proof. This is what makes NFTs possible. Once the block containing your NFT transaction becomes finalized it would cost an attacker millions of ETH to change it. Anyone running Ethereum software would immediately be able to detect dishonest tampering with an NFT, and the bad actor would be economically penalized and ejected. From 864ae177b5418c625451ba7715860e913a8afe44 Mon Sep 17 00:00:00 2001 From: Jakub <100724231+konopkja@users.noreply.github.com> Date: Tue, 22 Aug 2023 14:27:17 +0200 Subject: [PATCH 08/55] Update src/content/nft/index.md Co-authored-by: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> --- src/content/nft/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/nft/index.md b/src/content/nft/index.md index 510e3507ce0..b3176fdfc01 100644 --- a/src/content/nft/index.md +++ b/src/content/nft/index.md @@ -14,7 +14,7 @@ summaryPoint3: Powered by smart contracts on the Ethereum blockchain. ## What are NFTs? {#what-are-nfts} -NFTs are tokens that are individually unique. Each NFT has different properties (non-fungible) and is provably scarce. This is different from tokens such as ETH, BTC or other Ethereum based tokens like USDC where every token is identical and has the same properties ('fungible'). You don't care which specific dollar bill (or ETH) you have in your wallet, because they are all identical and worth the same. However, you _do_ care which specific NFT you own, because they all have individual properties that distinguish them from others ('non-fungible'). +NFTs are tokens that are individually unique. Each NFT has different properties (non-fungible) and is provably scarce. This is different from tokens such as ETH, BTC or other Ethereum based tokens like USDC where every token is identical and has the same properties ('fungible'). You don't care which specific dollar bill (or ETH) you have in your wallet, because they are all identical and worth the same. However, you _do_ care which specific NFT you own, because they all have individual properties that distinguish them from others ('non-fungible'). The uniqueness of each NFT enables tokenization of things like art, collectibles, or even real estate, where one specific unique NFT represents some specific unique real world or digital item. Ownership of an asset is publicly verifiable on Ethereum blockchain. From 9c427a9474c6fa14ea44b175905a466a9619443f Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Fri, 25 Aug 2023 13:26:10 +0100 Subject: [PATCH 09/55] Rename editors choice to beginner friendly --- src/intl/en/page-dapps.json | 4 ++-- src/pages-conditional/dapps.tsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/intl/en/page-dapps.json b/src/intl/en/page-dapps.json index a1790087e29..2eecca65ce9 100644 --- a/src/intl/en/page-dapps.json +++ b/src/intl/en/page-dapps.json @@ -9,6 +9,8 @@ "page-dapps-axie-infinity-logo-alt": "Axie Infinity logo", "page-dapps-balancer-logo-alt": "Balancer logo", "page-dapps-brave-logo-alt": "Brave logo", + "page-dapps-beginner-friendly-description": "A few dapps that are good for beginners. Explore more dapps below.", + "page-dapps-beginner-friendly-header": "Beginner friendly", "page-dapps-category-arts": "Art and fashion", "page-dapps-category-browsers": "Browsers", "page-dapps-category-collectibles": "Digital collectibles", @@ -104,9 +106,7 @@ "page-dapps-desc": "Find an Ethereum application to try.", "page-dapps-doge-img-alt": "Illustration of a doge using a computer", "page-dapps-editors-choice-dark-forest": "Play against others to conquer planets and try out bleeding-edge Ethereum scaling/privacy technology. Maybe one for those already familiar with Ethereum.", - "page-dapps-editors-choice-description": "A few dapps the ethereum.org team are loving right now. Explore more dapps below.", "page-dapps-editors-choice-foundation": "Invest in culture. Buy, trade, and sell unique digital artwork and fashion from some incredible artists, musicians, and brands.", - "page-dapps-editors-choice-header": "Editors' choices", "page-dapps-editors-choice-pooltogether": "Buy a ticket for the no-loss lottery. Each week, the interest generated from the entire ticket pool is sent to one lucky winner. Get your money back whenever you like.", "page-dapps-editors-choice-uniswap": "Swap your tokens with ease. A community favourite that allows you to trade tokens with folks across the network.", "page-dapps-ens-logo-alt": "Ethereum Name Service logo", diff --git a/src/pages-conditional/dapps.tsx b/src/pages-conditional/dapps.tsx index 5cd37baa41a..8d14d0f01c7 100644 --- a/src/pages-conditional/dapps.tsx +++ b/src/pages-conditional/dapps.tsx @@ -1143,11 +1143,11 @@ const DappsPage = ({

- {" "} + {" "}

- + {editorChoices.map((choice, idx) => ( From d2d55cd2b75f8cf11d7ae977b013281ec90999ee Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Fri, 25 Aug 2023 13:35:16 +0100 Subject: [PATCH 10/55] Temporarily remove add dapp section --- src/pages-conditional/dapps.tsx | 36 --------------------------------- 1 file changed, 36 deletions(-) diff --git a/src/pages-conditional/dapps.tsx b/src/pages-conditional/dapps.tsx index 8d14d0f01c7..6d06b2c3e3c 100644 --- a/src/pages-conditional/dapps.tsx +++ b/src/pages-conditional/dapps.tsx @@ -314,29 +314,6 @@ const RightColumn = (props: ChildOnlyProp) => ( ) -const AddDapp = (props: ChildOnlyProp) => ( - -) - -const AddDappButton = (props: ComponentPropsWithRef) => ( - -) - const StyledCallout = (props: ComponentPropsWithRef) => ( ) @@ -1428,19 +1405,6 @@ const DappsPage = ({ )} {/* General content for all categories */} - - - - - - - {" "} - - - - - - {categories[selectedCategory].benefits && ( From aa290f5d1f84bc486fb301b41b2268f27596db62 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Fri, 25 Aug 2023 13:40:18 +0100 Subject: [PATCH 11/55] Point hero CTA to beginner friendly dapps section --- src/pages-conditional/dapps.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages-conditional/dapps.tsx b/src/pages-conditional/dapps.tsx index 6d06b2c3e3c..61c37b79275 100644 --- a/src/pages-conditional/dapps.tsx +++ b/src/pages-conditional/dapps.tsx @@ -1014,7 +1014,7 @@ const DappsPage = ({ buttons: [ { content: t("page-dapps-explore-dapps-title"), - to: "#explore", + to: "#beginner", matomo: { eventCategory: "dapp hero buttons", eventAction: "click", @@ -1119,7 +1119,7 @@ const DappsPage = ({ -

+

{" "}

From b7f78a05b38137c942f98a6dd52d805b3ac46391 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Tue, 12 Sep 2023 15:18:32 -0700 Subject: [PATCH 12/55] increase resolution to 50% the quality of original) --- .../refi-regenerative-economy-diagram.png | Bin 45461 -> 229072 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/assets/use-cases/refi-regenerative-economy-diagram.png b/src/assets/use-cases/refi-regenerative-economy-diagram.png index e9b6625f5fb33fa3b944e7a784f8ac23a000eb47..310416c808f4fa24b633018f6f1516105c33d7c8 100644 GIT binary patch literal 229072 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%0DvAAHD|N>`u|r5R>-xyqWGtP``>}!gIW7 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

H!s>T4`n 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

Ob{P< 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

JO|PX+)T9jh|N| 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%0D2GpPcpf*^RH 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

Lyi!QzG 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 z zJwQxRCBJ={(2u3HH+l&~*53C=QfRqfM+BC-r;-ZyYE*%cp)|;pFyBw5$~BCy+50_r zFHi@Er}#k5<^q4F)=Q3PjRYYYutGt|1CD3xy>#E(J+W5`CvPea9RgqzO27uq6 z*$`VwS5l4Qh2;9&_8j4-W|ZIxgt*BrWXJz$5f?aJ9oYD_tfJ1odF}a#chp|28#Reg zb}0W&p?g$MI~Z`LC6@rzn>s<0(L&}U>(ai=1IkOn?FrCCbm*jT9v#*cSnQT%WB*Wv^m-2O7FhKOhzY&>dNKmR- zrdI+I6Xv%K@Z#l4X~5=t9~z)qx(kbKq`!$eX}(dD3!N{o5y^U|@u*+RDb$B!Q&dp% z1=!c=LH{w9SsEPMI8}-=l?IHpo@5sk)l!Wn2~asBL|61gg@Z`p)Rii!s|H?Mct}$% zqd+QX^P%dHoy#r~m*!X`#$2D8&m5>@4PO0cdj6HV_+3G>&U{zq>Vwr*Uuy~RY?r7q zw?)TXdu3V`WX-;_bhbKtt>qFB3@j_J-nrtipHjGmZ;BYTVf{I`Tb0J{fZghJrp-p_Du5V)&!*^YfP+er{fw;G55! z3Anxc$1H47`0_Z;2>7$ZlbOsRYyV*QO7|&pEV!Txjy!j#2zYZRb5((irbP4}Ym*jU zioU@kAtH54#C5cGj^LnKg=z1?JEOL?1kQY4s_vu9q_vreK1#L;vQB^|&jw^(fF|c0 zI=HdM45B0@7u?5Sf=SoP<4g2FuxZEKzr43(_kCJ=zGWB;&^v27TLSR#Fc&N6^2ya_ z{&@fPLrFPJgXMKd+({PPjl^#OY?imx9ULdlq+9j$(2Cf-50Y+T50XyQ!4Z<4asfit z7cPo?UO}3SDjE4fc@ST#d!p%^I{(wZD4>6sK!?jK8s$xM*wToMH8J_nno(l{hB zw>Xs=%U!UaP$?s>5z70t!+km(BpX84*$@JZL1mT<*VW`xoCWe#{Qi9e6)rs^mnK{I zB9i=&d9%^7`9Bk{3X(4t_xL1|GxJD%o8Hd!)~AN92r8`EuYcj* z-=ltjqp0d&OsU`!;b(E1l#+d&kfmP|^HStW`pDy?lX2=h79HBO%RYU$Z7fr}Gi?Q8emhrgK!zRG~R68O9u3cbemyOzh08IV7p zJR+uio|-#=goBQ<%f{C&41(jMK0bYZL+0w;4>CN1u%SITaVwY>koCQR>+ zPJp%i0+H3=S-vC-uPa~rjqR1sW_ksI+)Y*HQnA~H>W&F0`@{rlxLLY1b^h=3z%aBf z){u{d6a=W3H{?TGT|I7OdC%k8&v@y%+% z_{F$Mk^Tg^6IAmOMcLGaOV?K(Ik*HXi`PZ*%Nr->%%p1Q66$PFhmCtvJZSi*8_wX| z=7OAE;m-zJ1GBeEjZ;x*c{Ahdl#ar-OW_<7uyQ!s=~_jUqO6OlwIXY+%??$$Azj$J zHg+XmCY-S5E2TNag5zz+Jk>V|BK;UwkM$A*xs$QcK#jibR18)gv%Xdmy)`e)IV>{n z5C~=*S19e)Mz(@F?+1-m#i;UrJXn261L#4iv^yvNCDMJV7|ml8Ywekw3!LR&!DP=( z0oa-DZ~b1>Qbopg!Ry%lWm89zxZQ0wOC>HG7fdOT7tf5$|Me3$kGRRaGUQ{E^dfR9 zw&JNw8Dfxt`Z?tBx6UB@cM4kACtsPG(*`bm`kC*_TS<}1ROZ(=6v7P6 zQ$oMj*lH+l#I&mXjI55(;8qQq;@CSN2enWcxbDqOI^glBpMVY7Hi6kEfB_+XG1N*M z+KNr(y0nD@P)q(mdUwiCrQdGE@u*#EFas)T9+0hyu>(lW6$#u8JG2$@_{0M)LE|eJ zRI&~l!=&9ZzfyqF5rygbB5076DOHq!L6bBWYaYH0{TF0>bp~Xi{ebh;W3fHaYmnrc z;f?>oS@+$*vqgzokwsq7W(vXq zuv5p9KCX1q+d&Yi?tOW^1kUWaZ;_te#BWSN#v4rF-A3kup%BC_Wl(w#1Y&9qJ=X|F z@XAE@!*rMVFFW<&q_u)6KKA{2?_GuEW)DO|pI2Ck$u~T8@J{ncgj{yXcVVC`4}9>o zR;Dg)1W2yDp&wH?mjk{FHt#Q6nJ=?{V`An(G8%})&%Ta4rSbNygS!%Veew5+P9?wr z+qdJRrxAtnPGV6)Z15}yqunHv8b2Z5AuM zj5)XO{y`ETO-k)((jv0EibyWaw93<1sctc>=SI7dO`7b~GJB#^{_3>?5Rj_vK~;M1 zK}2c};=5OT;Pqwc*^@m4r?h*qLdcEc?=b!zNc(q3&p-dG3{%?gl3VJ2 zX|Pyc*dlPOl_hiL*B)|^J1kFpnf0Pz3Nd5ZFL&z^Toge(p zU6RdRKOx4gQ2TD+DfztxF6g$(yY&h$$ZZx}^^@+hGlRXxd`F~2BLG}Y9Zhse2*tfH;I2uIL+FRqwl9P`q6WCWSC<>dYToZR`q( zYCUUw=R<8uD^p$WfNYjjFVeCv?OqV8H3V_k%qfY9HikB9v%IeF=)i9e4>W%Z$*Y%Y zO4pfp4en?s(w?MV$+w^0^y{9W z4)^r(g_<4COJ?hCe2ehtRKuWYw69u*ThGlOQWcP>REq&`{*`$QP34UqJSHUE3d(`G|v z3c+O7znJ!Yhc;X@)8sv|ma*e%>HQ9s+YRhxnnr=9zM9Jf-?4z6Cwtq1AD3plHPnB3 zzTQhUvtG0As^8mpkBmDHzMPR6IR@!HL+STJ4wTv(p1koYTIZmEul(WY_81YD*&3gP z4QBR%=yppF!JZ4-J9VB2NAa2;!=LLCn02|DUlr!XoN8zqxXH1q;PDvbmG9P( z>h|cbs_#@m5U)?)d3}0<^hNjR@`t`B=V^Pcob9;j80#~jxZ>yaX7%MX@3G~FOFmZg z`kCkz$!iBV6qao@*g7tlS%Rp55JHdBguw2Cbt!9`IrAe!0R>5x?mn=n@@@*5e2>}_ z{YHe(xvy?K)M=;oTxZ)*44U^gMcMix3=0_gdQ-Ei|!NQ8M*k>Ywn6{a)2Srb1AjvOOPwjQsP`W_# zIYGM~|KojTB8@2|o69hy(*c_N`?%L}s#*$8gIQytaMV$|a#%EFt|U_9O|Lpr@R)yD zS-?$VL9aoq587%{WmNujepc+G{!--%t~Z9sAaC9Is9+;Y=SnFP*&j&)5k?zkcBbh~MjPtwK`%MT8 zlUIDFH@@{eZ}~aj&Cl4tBm^|R{{x@qGlH|FhqqDrV42m#2$qXf=_73A)nDonILpFC zvL#*{sK=f#_IpEz4Y>Q^a_Vw&?>gp>n4ik+Bf`vsLaaX zI}eACNqLC88QinI)Us3ee(ekL_Nw9aH$_oa=9|&Z0SH^Z<_vG)kiFaSPVWYcG$glW zzJjezK;pW%KH1dh@kx@i*AN7!=+Pua;YT93^yCsMv&}BZ$?uW)nlM zJ?GgJwTtgBO*uen>m7;xwx86)9&hVCR7;F8neXn#ddBw?gGOi%msTtzdZN2UX**2Y zsyGdW%J+(k4>1a&g#%#b^_}|KvZOlc^mJsEyV_6Z;Sc$wO?0YuM=W)rm ze0j;`A1kCH1p!)%#_6rVif>9)$_PQ#BHLD{28NlD6h>Uk!2#(

&A;_ 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 Nsw$edij>Ts{U3`3FL3|> literal 0 HcmV?d00001 diff --git a/src/assets/dapps/dodo.png b/src/assets/dapps/dodo.png new file mode 100644 index 0000000000000000000000000000000000000000..6db4c13234c0e07027f83485e85f3805a0b4c6b6 GIT binary patch literal 126288 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 Date: Tue, 26 Sep 2023 16:24:38 -0600 Subject: [PATCH 21/55] Farsi content buckets (Use cases, Staking) --- .../fa/decentralized-identity/index.md | 6 +- src/content/translations/fa/defi/index.md | 14 +- src/content/translations/fa/desci/index.md | 1 + src/content/translations/fa/refi/index.md | 79 +++++++ .../translations/fa/smart-contracts/index.md | 46 ++-- .../translations/fa/social-networks/index.md | 2 +- .../translations/fa/staking/dvt/index.md | 91 ++++++++ .../translations/fa/staking/pools/index.md | 39 ++-- .../translations/fa/staking/saas/index.md | 49 ++-- .../translations/fa/staking/solo/index.md | 114 +++++---- .../fa/staking/withdrawals/index.md | 218 ++++++++++++++++++ src/intl/fa/page-staking.json | 74 ++++-- 12 files changed, 589 insertions(+), 144 deletions(-) create mode 100644 src/content/translations/fa/refi/index.md create mode 100644 src/content/translations/fa/staking/dvt/index.md create mode 100644 src/content/translations/fa/staking/withdrawals/index.md diff --git a/src/content/translations/fa/decentralized-identity/index.md b/src/content/translations/fa/decentralized-identity/index.md index 407cfdf58e5..9f5e61d1b7d 100644 --- a/src/content/translations/fa/decentralized-identity/index.md +++ b/src/content/translations/fa/decentralized-identity/index.md @@ -131,7 +131,7 @@ summaryPoint3: به لطف رمزنگاری، کاربران اکنون ابزا ### 1. لاگین های همگانی {#universal-dapp-logins} -هویت غیرمتمرکز می‌تواند به جایگزینی ورودهای مبتنی بر رمز عبور با کمک کند. احراز هویت غیرمتمرکز بی‌انجامد. ارائه دهندگان خدمات می توانند تصدیق هایی را برای کاربران صادر کنند که می توانند در کیف پول اتریوم ذخیره شوند. یک تصدیق بعنوان نمونه می تواند یک [NFT](/nft/) باشد که به دارنده اجازه دسترسی به یک انجمن آنلاین را می دهد. +هویت غیرمتمرکز می‌تواند به جایگزینی ورودهای مبتنی بر رمز عبور با [احراز هویت غیرمتمرکز](https://www.ibm.com/blogs/blockchain/2018/10/decentralized-identity-an-alternative-to-password-based-authentication/). ارائه دهندگان خدمات می توانند تصدیق هایی را برای کاربران صادر کنند که می توانند در کیف پول اتریوم ذخیره شوند. یک تصدیق بعنوان نمونه می تواند یک [NFT](/nft/) باشد که به دارنده اجازه دسترسی به یک انجمن آنلاین را می دهد. سپس یک تابع [Sign-In with Ethereum](https://login.xyz/) سرورها را قادر می‌سازد تا حساب اتریوم کاربر را تأیید کنند و گواهی لازم را از آدرس حساب خود دریافت کنند. این بدان معناست که کاربران می توانند بدون نیاز به حفظ رمزهای عبور طولانی به پلتفرم ها و وب سایت ها دسترسی داشته باشند و این تجربه آنلاین را برای کاربران بهبود می بخشد. @@ -176,10 +176,10 @@ summaryPoint3: به لطف رمزنگاری، کاربران اکنون ابزا - [هویت غیرمتمرکز (جلسه پخش زنده جایزه)](https://www.youtube.com/watch?v=ySHNB1za_SE&t=539s) - _یک ویدیوی توضیح دهنده عالی در مورد هویت غیرمتمرکز توسط آندریاس آنتونوپولوس_ - [ورود با اتریوم و هویت غیرمتمرکز با Ceramic، IDX، React و 3ID Connect](https://www.youtube.com/watch?v=t9gWZYJxk7c) — _آموزش YouTube در مورد ایجاد یک سیستم مدیریت هویت برای ایجاد، خواندن و به روز رسانی نمایه کاربر با استفاده از کیف پول اتریوم توسط نادر دبیت_ - [BrightID - هویت غیرمتمرکز در اتریوم](https://www.youtube.com/watch?v=D3DbMFYGRoM) — _قسمت پادکست بدون بانک در مورد BrightID، یک راه حل هویت غیرمتمرکز برای اتریوم_ -- [اینترنت خارج از زنجیره: هویت غیرمتمرکز & اعتبار قابل تأیید](https://www.youtube.com/watch?v=EZ_Bb6j87mg) — _ارائه EthDenver 2022 توسط Evin McMullen_ +- [اینترنت خارج از زنجیره: هویت غیرمتمرکز & اعتبار قابل تأیید](https://www.youtube.com/watch?v=EZ_Bb6j87mg) — ارائه EthDenver 2022 توسط Evin McMullen ### جوامع {#communities} - [اتحاد ERC-725 در GitHub](https://github.com/erc725alliance) — _حامی استاندارد ERC725 برای مدیریت هویت در بلاک چین اتریوم_ -- [سرور SpruceID Discord](https://discord.com/invite/Sf9tSFzrnt) — _انجمن برای علاقه مندان و توسعه دهندگانی که روی ورود به سیستم با اتریومکار می کنند_ +- [سرور SpruceID Discord](https://discord.com/invite/Sf9tSFzrnt) — *انجمن برای علاقه مندان و توسعه دهندگانی که روی ورود به سیستم با اتریوم*کار می کنند - [Veramo Labs](https://discord.gg/sYBUXpACh4) — _جامعه ای از توسعه دهندگان که در ساخت چارچوبی برای داده های قابل تأیید برای برنامه ها مشارکت دارند_ diff --git a/src/content/translations/fa/defi/index.md b/src/content/translations/fa/defi/index.md index 31094d69e2f..0c4b9c09046 100644 --- a/src/content/translations/fa/defi/index.md +++ b/src/content/translations/fa/defi/index.md @@ -31,7 +31,7 @@ DeFi یک واژه‌ی کلی برای محصولات و خدمات مالی د - خدمات مالی می‌توانند مانع از پرداخت حقوق شما شوند. - یکی از هزینه‌های پنهان خدمات مالی، اطلاعات شخصی شماست. - دولت‌ها و نهادهای متمرکز می‌توانند هر زمان خواستند بازارها را ببندند. -- ساعات خرید و فروش اغلب محدود به ساعات اداری ویژه‌ی یک منطقه‌ی زمانی است. +- ساعات خرید و فروش اغلب محدود به ساعات اداری ویژه‌ یک منطقه‌ زمانی است. - به دلیل رویه‌های انسانی، تراکنش‌های مالی ممکن است روزها طول بکشند. - خدمات مالی کارمزد دارند چرا که نهادهای میانجی می‌خواهند سهم خود را دریافت کنند. @@ -40,7 +40,7 @@ DeFi یک واژه‌ی کلی برای محصولات و خدمات مالی د | DeFi | امور مالی سنتی | | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | شما مالک پول خود هستید. | پول‌ شما توسط شرکت‌ها نگهداری می‌شود. | -| شما کنترل می‌کنید که پولتان کجا برود و چگونه خرج شود. | شما باید به شرکت‌ها اعتماد کنید که پولتان را به شکل اشتباه مدیریت نکنند، مثلاً آن را به افرادی که ریسک مالی دارند قرض ندهند. | +| شما کنترل می‌کنید که پولتان کجا برود و چگونه خرج شود. | شما باید به شرکت‌ها اعتماد کنید که پولتان را به شکل اشتباه مدیریت نکنند، مثلاً آن را به افراد پرریسک قرض ندهند. | | جابجایی پول در چند دقیقه انجام می‌شود. | پرداخت‌ها ممکن است به دلیل فرایندهای دستی تا چند روز طول بکشد. | | فعالیت تراکنش با نام مستعار انجام می‌شود. | فعالیت مالی کاملاً وابسته به هویت شخص است. | | DeFi برای همه آزاد است. | شما باید برای استفاده از خدمات مالی درخواست بدهید. | @@ -53,7 +53,7 @@ DeFi یک واژه‌ی کلی برای محصولات و خدمات مالی د ## همه چیز با بیت‌کوین شروع شد... {#bitcoin} -از خیلی جهات بیت‌کوین اولین برنامه‌ی DeFi محسوب می‌شود. بیت‌کوین به شما اجازه می‌دهد که ارزش را واقعاً در اختیار داشته باشید و کنترل کنید و برای هر کسی در هر کجای جهان بفرستید. بیت‌کوین این کار را با فراهم کردن راهی برای توافق بر یک دفترکل حاوی حساب‌های کاربری بدون نیاز به اعتماد به یک میانجی سوم برای تعداد زیادی آدم که به یکدیگر اعتماد ندارند انجام می‌دهد. بیت‌کوین برای همه آزاد است و هیچ‌کس نمی‌تواند برای آن قانون وضع کند. قوانین بیت‌کوین، مثل کمیابی و باز بودنش، در فناوری آن نهادینه شده‌اند. مانند امور مالی سنتی نیست که دولت‌ها بتوانند پول چاپ کنند و ارزش پول شما کم شود و شرکت‌ها بتوانند بازارها را ببندند. +از خیلی جهات بیت‌کوین اولین برنامه‌ی DeFi محسوب می‌شود. بیت‌کوین به شما اجازه می‌دهد که ارزش را واقعاً در اختیار داشته باشید و کنترل کنید و برای هر کسی در هر کجای جهان بفرستید. بیت‌کوین این کار را با فراهم کردن راهی برای توافق بر یک دفترکل حاوی حساب‌های کاربری بدون نیاز به اعتماد به یک میانجی سوم برای تعداد زیادی آدم که به یکدیگر اعتماد ندارند انجام می‌دهد. بیت‌کوین برای همه آزاد است و هیچ‌کس نمی‌تواند برای آن قانون وضع کند. قوانین بیت‌کوین، مثل کمیابی و باز بودنش، در فناوری آن نهادینه شده‌اند. مانند امور مالی سنتی نیست که دولت‌ها بتوانند پول چاپ کنند که ارزش پس‌اندازهای شما کم شود و شرکت‌ها بتوانند بازارها را ببندند. اتریوم بر همین اساس ساخته شده‌است. همانند بیت‌کوین، قوانین برای شما و هر کسی که به آن دسترسی دارد تغییر نمی‌کند. اما با استفاده از [قراردادهای هوشمند](/glossary#smart-contract) این پول دیجیتال قابل‌برنامه‌نویسی شده‌است تا بتوانید کارهایی فراتر از نگهداری و انتقال ارزش انجام دهید. @@ -143,7 +143,7 @@ DeFi یک واژه‌ی کلی برای محصولات و خدمات مالی د #### کارآیی مالیاتی {#tax-efficiencies} -قرض گرفتن می‌تواند به شما اجازه دهد که از سرمایه‌هایی که نیاز دارید بدون فروختن اتر خود (که مالیات دارد) استفاده کنید. در عوض می‌توانید از اتر خود به‌عنوان وثیقه برای دریافت پایدارز استفاده کنید. با این کار جریان نقدینگی لازم را خواهید داشت و می‌توانید اتر خود را نگه‌داری کنید. پایدارزها توکن‌هایی هستند که هنگام نیاز به وجه نقد بسیار بهتر هستند، چون برخلاف اتر نوسانات ارزشی ندارند. [اطلاعات بیشتر درباره‌ی پایدارزها](#stablecoins) +قرض گرفتن می‌تواند به شما اجازه دهد که از سرمایه‌هایی که نیاز دارید بدون فروختن اتر خود (که مالیات دارد) استفاده کنید. در عوض می‌توانید از ETH خود به‌عنوان وثیقه برای دریافت وام استیبل کوین استفاده کنید. با این کار جریان نقدینگی لازم را خواهید داشت و می‌توانید اتر خود را نگه‌داری کنید. پایدارزها توکن‌هایی هستند که هنگام نیاز به وجه نقد بسیار بهتر هستند، چون برخلاف اتر نوسانات ارزشی ندارند. [اطلاعات بیشتر درباره‌ی پایدارزها](#stablecoins) #### وام لحظه‌ای {#flash-loans} @@ -274,7 +274,7 @@ DeFi یک واژه‌ی کلی برای محصولات و خدمات مالی د هدف بیمه‌ی غیرمتمرکز ارزان‌تر ساختن، سریع‌تر شدن فرایند پرداخت و شفافیت بیشتر صنعت بیمه‌ است. با خودکارسازی بیشتر، پوشش مالی به صرفه‌تر و پرداخت‌ها بسیار سریع‌تر خواهند بود. اطلاعاتی که برای تصمیم‌گیری درباره‌ی ادعای دریافت خسارت شما استفاده می‌شوند کاملاً شفاف هستند. -محصولات اتریوم، همچون هر نرم‌افزار دیگر، ممکن است دچار باگ یا مشکل شوند. بنابراین اکنون محصول بیمه‌ای بسیار زیادی در این فضا روی محافظت از کاربرانشان در برابر از دست دادن سرمایه تمرکز دارند. با این حال، پروژه‌هایی هستند که سعی در پوشش تمام خطرات مربوط به زندگی دارند. یک مثال خوب، پوشش Etherisc's Crop است که هدفش [ محافظت از مالکان مزارع کوچک در کنیا در مقابل خشکی و سیل](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc) است. بیمه‌ی غیرمتمرکز می‌تواند به‌نسبت بیمه‌ی سنتی، پوشش ارزان‌تری به کشاورزان ارائه دهد. +محصولات اتریوم، همچون هر نرم‌افزار دیگر، ممکن است دچار باگ یا مشکل شوند. بنابراین اکنون محصول بیمه‌ای بسیار زیادی در این فضا روی محافظت از کاربرانشان در برابر از دست دادن سرمایه تمرکز دارند. با این حال، پروژه‌هایی وجود دارند که برای پوشش تمام خطرات مربوط به زندگی اجرا می‌شوند. یک مثال خوب، پوشش Etherisc's Crop است که هدفش [ محافظت از مالکان مزارع کوچک در کنیا در مقابل خشکی و سیل](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc) است. بیمه‌ی غیرمتمرکز می‌تواند به‌نسبت بیمه‌ی سنتی، پوشش ارزان‌تری به کشاورزان ارائه دهد. مشاهده‌ی برنامه‌های غیرمتمرکز بیمه‌ای @@ -317,7 +317,7 @@ DeFi از ارزهای رمزنگاری شده و قرارداد هوشمند ا 1. زنجیره‌ی بلوکی – اتریوم شامل تاریخچه‌ی تراکنش‌ها و وضعیت حساب‌ها است. 2. دارایی‌ها – [اتر (ETH)](/eth/) و دیگر توکن‌ها (ارزها). -3. پروتکل‌ها – [قراردادهای هوشمند](/glossary/#smart-contract) که عملکرد را امکان‌پذیر می‌کنند؛ مثلاً خدمتی که امکان قرض دادن دارایی‌ها را به صورت غیرمتمرکز فراهم می‌کند. +3. پروتکل‌ها – [قراردادهای هوشمندی](/glossary/#smart-contract) که عملکرد را امکان‌پذیر می‌کنند؛ مثلاً خدمتی که امکان قرض دادن دارایی‌ها را به صورت غیرمتمرکز فراهم می‌کند. 4. [برنامه‌های کاربردی](/dapps/) – محصولاتی که برای مدیریت و دسترسی به پروتکل‌ها استفاده می‌کنیم. ## DeFi را بسازید {#build-defi} @@ -338,7 +338,7 @@ DeFi یک جنبش متن‌باز است. پروتکل‌ها و برنامه ### مقاله‌های DeFi {#defi-articles} -- [راهنمای DeFi برای مبتدیان](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) – _Sid Coelho-Prabhu،‏ 6 ژانویه 2020_ +- [راهنمای امور مالی غیرمتمرکز (DeFi) برای مبتدیان](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) – _Sid Coelho-Prabhu، تاریخ 6 ژانویه 2020_ ### ویدیوها {#videos} diff --git a/src/content/translations/fa/desci/index.md b/src/content/translations/fa/desci/index.md index 0e76ff01722..5f81b225391 100644 --- a/src/content/translations/fa/desci/index.md +++ b/src/content/translations/fa/desci/index.md @@ -110,6 +110,7 @@ Web3 این پتانسیل را دارد که با آزمایش مدل‌های - [آزمایشگاه استنتاج فعال](https://www.activeinference.org/) - [CureDAO: پلتفرم سلامت دقیق متعلق به جامعه](https://docs.curedao.org/) - [IdeaMarkets: امکان اعتبار علمی غیرمتمرکز](https://ideamarket.io/) +- [DeSci Labs](https://www.desci.com/) ما از پیشنهادهایی برای فهرست کردن پروژه‌های جدید استقبال می‌کنیم - لطفاً برای شروع به خط مشی فهرست [](/contributing/adding-desci-projects/) ما نگاه کنید! diff --git a/src/content/translations/fa/refi/index.md b/src/content/translations/fa/refi/index.md new file mode 100644 index 00000000000..49d41ad62de --- /dev/null +++ b/src/content/translations/fa/refi/index.md @@ -0,0 +1,79 @@ +--- +title: امور مالی بازتولیدکننده (ReFi) +description: مروری بر ReFi و موارد استفاده فعلی آن. +lang: fa +template: use-cases +emoji: ":recycle:" +sidebarDepth: 2 +image: ../../../../assets/future_transparent.png +alt: "" +summaryPoint1: یک سیستم اقتصادی جایگزین ساخته شده بر پایه اصول بازتولیدکننده +summaryPoint2: تلاشی برای استفاده از اتریوم برای حل چالش های هماهنگی در سراسر جهان مثل تغییرات آب و هوایی +summaryPoint3: ابزاری برای مقیاس‌پذیری قابل توجه دارایی های سودمند زیست محیطی مانند اعتبارات کربن تایید شده +--- + +## Refi چیست؟ {#what-is-refi} + +**امور مالی بازتولیدکننده (ReFi)**مجموعه ای از ابزار ها و ایده ها است که بر روی بستر بلاکچین ساخته شده اند که هدف آن تولید اقتصادهایی است که بازتولیدکننده باشند، نه استخراجی یا استثمارگر. در نهایت، سیستم های استخراجی منابع موجود را استفاده کرده و از بین می برند که بدون هیچگونه ساز و کار بازتولیدکننده، فاقد قدرت خواهند بود. عملکرد ReFi بر این پنداشت است که ایجاد ارزش پولی باید از استخراج ناپایدار منابع از سیاره و از جوامع ما جدا شود. + +در عوض، هدف ReFi حل مشکلات محیط زیستی، همگانی، یا اجتماعی به وسیله ایجاد چرخه های بازتولیدکننده می باشد. این سیستم ها در حالی که برای شرکت کنندگان ارزش تولید می کنند، به طور همزمان به اکوسیستم ها و جوامع هم سود می رسانند. + +یکی از پایه های ReFi مفهوم اقتصاد بازتولیدکننده است که توسط جان فولرتون از [موسسه کاپیتال](https://capitalinstitute.org) مطرح شد. او 8 اصل به هم پیوسته را که زیربنای سلامت سیستماتیک را تشکیل می دهند پیشنهاد کرد: + +![هشت اصل به هم پیوسته](../../assets/use-cases/refi-regenerative-economy-diagram.png) + +پروژه های Refi این اصول را هنگام استفاده از [قرارداد های هوشمند](/developers/docs/smart-contracts/) و اپلیکیشن‌های[ سیستم های مالی غیر متمرکز (DeFi)](/defi/) به عنوان محرکی برای رفتارهای بازتولیدکننده به کار می گیرند. به عنوان مثال احیا اکوسیستم های تنزل یافته و تقویت همکاری ها در مقیاس بزرگ برای مسائل جهانی مانند تغییرات آب و هوا و تقلیل تنوع زیستی جانوری. + +ReFi همچنین با جنبش [دانش غیرمتمرکز (DeSci)](/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 با به کار گیری تکنولوژی بلاکچین تعداد زیادی از مشکلات بازار های سنتی را تسهیل می کنند: + +- ** نقدینگی در تعداد محدودی از استخر های نقدینگی متمرکز شده است** که هر شخص می تواند آزادانه آن را مبادله کند. تشکیلات بزرگ همانند اشخاص می توانند از این استخر های نقدینگی بدون جستجوی دستی فروشندگان و خریداران، پرداخت هزینه های مشارکت یا هزینه ثبت نام، استفاده کنند. +- **تمامی تراکنش ها به روی بلاکچین‌های عمومی ثبت می شوند**. مسیری که هر یک از اعتبارات کربن جهت فعالیت مبادله طی می کند، به محض در دسترس بودن در 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/) و [ Gold Standard](https://www.goldstandard.org/) از قابل اعتماد بودن پروژه هایی که اعتبارات کربن تولید می کنند اطمینان حاصل می کنند. آنها همچنین پایگاه های اطلاعاتی را مدیریت می کنند که اطلاعات کربن دیجیتال از آن ها منشأ می گیرد و می تواند منتقل یا مصرف شود (بازنشسته). + +موج جدیدی از پروژه های نوآورانه در حال ساخت بر روی بلاکچین‌ها وجود دارد که در حال تلاش برای ایجاد اختلال برای متصدیان در این بخش هستند. + +2. پل های کربنی، با نام مستعار مبدل توکن های دیجیتال، یک فناوری برای نمایش دادن یا انتقال اعتبارات کربن از سازمان های قدیمی به DCM را فراهم می کنند. مثال های قابل توجه شامل [Toucan Protocol](https://toucan.earth/)، [C3](https://c3.app/)، و [Moss.Earth](https://moss.earth/) می شوند. +3. خدمات یکپارچه، اجتناب کربن و/یا حذف اعتبارات را به کاربران نهایی ارائه می کند بنابراین آن ها می توانند اعتبار مزایای زیست محیطی را مطالبه کنند و حمایت خود را از اقدامات آب و هوایی را با دنیا به اشتراک بگذارند. + +بعضی شرکت ها مثل [کلیما اینفینیتی (Klima Infinity)](https://www.klimadao.finance/infinity) و [سنکن (Senken)](https://senken.io/) طیف گسترده ای از پروژه های توسعه یافته توسط شرکت های ثالت و اعتبار کربن صادر شده زیر نظر استاندارد هایی مثل Verra را ارائه میدهند؛ دیگران مثل [نوری (Nori)](https://nori.com/) تنها پروژه های خاص را که زیر نظر استاندارد خودشان توسعه یافته اند ارائه میدهند، که صادر کننده اعتبار کربن خودشان هستند و برای هر کدام بازارچه مخصوص به خود را دارند. + +4. چارچوب و زیرساخت اساسی که امکان مقیاس‌پذیری اثربخشی و بازده کل زنجیره تامین را در بازار کربن فراهم می کند. [KlimaDAO](http://klimadao.finance/) نقدینگی را به عنوان کالای عمومی تامین می‌کند (امکان خرید یا فروش اعتبار کربن با قیمتی شفاف را برای هر کس فراهم میکند)، مشوق برای افزایش فعالیت در بازارهای کربن و بازنشستگی اعتبارات را از طریق پاداش‌ها، و ابزارهای ساده و هم‌تراز برای دسترسی به اطلاعات و همچنین به‌دست آوردن و بازنشستگی طیف گسترده‌ای از اعتبارات کربن توکن‌سازی‌شده فراهم می‌کند. + +## Refi فراتر از بازارهای کربن {#refi-beyond} + +با اینکه هم اکنون تاکید زیادی روی بازارهای کربن به طور کلی، و به خصوص انتقال VCM به DCM در این حوزه وجود دارد، Refi به کربن محدود نمیشود. دیگر دارایی‌های زیست‌محیطی فراتر از اعتبارات کربن هم میتوانند توسعه و توکنیزه شوند، که امکان گنجاندن سایر اثرات جانبی نامطلوب را در سطوح پایه ای سیستم‌های اقتصادی آینده فراهم می‌کند. علاوه بر این، جنبه بازتولیدکنندگی این مدل اقتصادی را میتوان برای سایر بخش نیز بکار برد مثل تامین سرمایه کالاهای عمومی از طریق پلتفرم های تامین مالی درجه دوم مثل [گیتکوین](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) +- [یک گزارش مفصل از سوی Taskforce for Scaling Voluntary Carbon Markets](https://www.iif.com/Portals/1/Files/TSVCM_Report.pdf) +- [توضیح واژه نامه CoinMarketCap از Kevin Owocki و Evan Miyazono درباره ReFi](https://coinmarketcap.com/alexandria/glossary/regenerative-finance-refi) diff --git a/src/content/translations/fa/smart-contracts/index.md b/src/content/translations/fa/smart-contracts/index.md index 418e4cc22e8..d6c6acd80fc 100644 --- a/src/content/translations/fa/smart-contracts/index.md +++ b/src/content/translations/fa/smart-contracts/index.md @@ -6,19 +6,13 @@ lang: fa # مقدمه‌ای بر قراردادهای هوشمند {#introduction-to-smart-contracts} -قراردادهای هوشمند بلوک‌های زیربنای سازنده‌ی [برنامه‌های اتریوم](/dapps/) هستند. آنها برنامه های کامپیوتری ذخیره شده روی بلاک چین هستند که امکان تبدیل قراردادهای سنتی به موازی های دیجیتال را فراهم می کنند. قراردادهای هوشمند بسیار منطقی بوده و از یک روال ساختارمند اگر-آنگاه استفاده می‌کنند. بدان معنا که دقیقاً به همان شیوه‌ای که کدنویسی شده اند عمل می‌کنند و غیرقابل تغییر هستند. +قرارداد های هوشمند بنیادی‌ترین اجزای سازنده لایه اپلیکیشن اتریوم هستند. آن ها برنامه های کامپیوتری دخیره شده بر روی بستر بلاکچین هستند که از منطق "اگر این بنابراین آن" پیروی می کنند و تضمین می شوند که بر اساس قوانین تعریف شده از سوی کد آن اجرا شوند و زمانی که ایجاد شدند دیگر قابل تغییر نخواهند بود. -نیک سابو برای اولین بار آن‌ها را «قرارداد هوشمند» نامید. در سال 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) را نوشت. +نیک سابو برای اولین بار آن‌ها را «قرارداد هوشمند» نامید. او در سال 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). -نیک سابو یک بازار دیجیتالی را تجسم کرده بود که بر اساس این فرایندهای خودکار و امن رمزنگاری شده است. مکانی که در آن تراکنش‌ها و عملکردهای تجاری می‌توانند بدون اعتماد انجام شوند - بدون واسطه. قراردادهای هوشمند در اتریوم به این تجسم جامه‌ی عمل می‌پوشانند. +سابو یک بازار دیجیتال را تجسم کرد که در آن فرایندهای خودکار و امن از نظر رمزنگاری، تراکنش ها و وظایف کسب و کار را قادر می‌سازند بدون واسطه های مورد اعتماد رخ دهند. قراردادهای هوشمند در اتریوم به این تجسم جامه‌ عمل می‌پوشانند. -## قرارداد چیست؟ {#what-are-contracts} - -احتمالاً فکر می‌‌کنید:_ «من وکیل نیستم! چرا به قراردادها اهمیت بدهم؟»_. برای اکثر مردم، قراردادها توافق‌نامه‌های طولانی‌مدت و یا اسناد حقوقی خسته‌کننده را به ذهن متبادر می‌کنند. - -قرارداد همان توافق است. یعنی هر شکلی از توافق را می‌توان در قالب یک قرارداد گنجاند. توافقات شفاهی یا قراردادهایی که روی کاغذ نوشته می‌شوند برای خیلی چیزها قابل‌قبول هستند، اما بی‌نقص نیستند. - -### اعتماد و قرارداد {#trust-and-contracts} +### اعتماد در قراردادهای متعارف {#trust-and-contracts} یکی از بزرگترین مشکلات قراردادهای سنتی، نیاز به افراد مورد اعتماد برای پیگیری نتایج قرارداد است. @@ -28,49 +22,45 @@ lang: fa این مثال احمقانه، مشکل هر نوع توافق غیرهوشمند را نشان می‌دهد. حتی اگر شرایط توافق برآورده شود (یعنی شما برنده مسابقه شده باشید)، همچنان باید به شخص دیگری برای اجرای توافق اعتماد کنید (یعنی پرداخت مبلغ شرط‌بندی). -## قرارداد‌های هوشمند {#smart-contracts} - -قراردادهای هوشمند، قراردادها را دیجیتالی می‌کنند و شرایط یک قرارداد را به کد رایانه‌ای تبدیل می‌کنند که در صورت تحقق شرایط قرارداد، به‌طور خودکار اجرا می‌شود. - ### یک دستگاه فروش دیجیتال {#vending-machine} یک مثال ساده برای قرارداد هوشمند، دستگاه فروش خودکار است که تا حدودی شبیه به قرارداد هوشمند عمل می‌کند - ورودی‌های خاص خروجی‌های از پیش تعیین شده را تضمین می‌کنند. - شما یک محصول را انتخاب می‌کنید -- دستگاه فروش خودکار مبلغ مورد نیاز برای خرید محصول را نشان می‌دهد -- شما مبلغ لازم را پرداخت می‌کنید -- دستگاه فروش خودکار تأیید می‌کند که شما مبلغ لازم را پرداخت کرده‌اید -- دستگاه فروش خودکار محصول مورد نظر را به شما می‌دهد +- دستگاه فروش خودکار قیمت را نشان می دهد +- شما بهای آن را پرداخت می کنید +- دستگاه فروش خودکار تایید می کند که شما مبلغ درستی را پرداخت کرده اید +- وندینگ ماشین جنس را به شما می دهد -دستگاه فروش خودکار فقط پس از برآورده شدن تمام الزامات محصول مورد نظر را به شما می‌دهد. اگر محصولی را انتخاب نکنید یا پول کافی پرداخت نکنید، دستگاه فروش خودکار محصول را به شما تحویل نمی‌دهد. +دستگاه فروش خودکار فقط پس از برآورده شدن تمام الزامات، محصول مورد نظر را به شما می‌دهد. اگر محصولی را انتخاب نکنید یا پول کافی پرداخت نکنید، دستگاه فروش خودکار محصول را به شما تحویل نمی‌دهد. ### اجرای خودکار {#automation} -یکی از مهمترین مزایای قراردادهای هوشمند نسبت به قراردادهای معمولی این است که با تحقق شرایط قرارداد، نتیجه به‌طور خودکار اجرا می‌شود. نیازی نیست منتظر بمانید تا انسان نتیجه را اجرا کند. به عبارت دیگر: قراردادهای هوشمند نیاز به اعتماد را حذف می‌کند. +مزیت اصلی قراردادهوشمند این است که زمانی که شرایط مشخص موجود باشد، کد دستوری واضح و غیر مبهم را به طور قطعی اجرا می کند. نیازی نیست منتظر ماند تا انسان نتیجه را تفسیر یا راجع به آن مذاکره کند. این امر، نیاز به واسطه قابل اعتماد را از بین میبرد. -به‌عنوان مثال، می‌توانید یک قرارداد هوشمند بنویسید که مبلغی را برای یک کودک نگه دارد و به او اجازه دهد پس از یک تاریخ خاص مبلغ را برداشت کند. اگر او سعی کند وجه را قبل از تاریخ مشخص شده برداشت کند، قرارداد هوشمند اجرا نمیشود. یا می‌توانید قراردادی بنویسید که نسخه‌ی دیجیتالی سند خودرو را هنگام پرداخت ثمن معامله به فروشنده به‌طور خودکار به شما بدهد. +به‌عنوان مثال، می‌توانید یک قرارداد هوشمند بنویسید که مبلغی را برای یک کودک نزد شخص ثالث نگه دارد و به او اجازه دهد پس از یک تاریخ خاص مبلغ را برداشت کند. اگر سعی کند وجه را قبل از تاریخ مشخص شده برداشت کند، قرارداد هوشمند اجرا نمیشود. یا می‌توانید قراردادی بنویسید که نسخه‌ی دیجیتالی سند خودرو را هنگام پرداخت قیمت معامله به فروشنده به‌طور خودکار به شما بدهد. ### خروجی‌های قابل پیش‌بینی {#predictability} -عامل انسانی یکی از بزرگترین نقاط شکست قراردادهای سنتی است. برای مثال، دو قاضی ممکن است یک قرارداد سنتی را به طرق مختلف تفسیر کنند. تفاسیر آن‌ها می‌تواند منجر به آرا و نتایج متفاوت شود. قرارداد هوشمند امکان تفاسیر مختلف را از بین می‌برد. برخلاف قراردادهای سنتی، قراردادهای هوشمند دقیقاً بر اساس شرایط نوشته شده در کد قرارداد اجرا می‌شوند. این دقت به این معنی است که در شرایط یکسان، قرارداد هوشمند نتیجه یکسان را به همراه خواهد داشت. +قراردادهای سنتی مبهم هستند زیرا تفسیر و اجرای آنها به عهده انسان است. برای مثال، دو قاضی ممکن است تفسیر متفاوتی از یک قرارداد یکسان داشته باشند،که میتواند منجر به تصمیمات ناسازگار و نتیجه نهایی نابرابر شود. قراردادهای هوشمند این احتمال را از بین میبرند. در عوض، قراردادهای هوشمند دقیقاً بر اساس شرایط نوشته شده در کد قرارداد اجرا می‌شوند. این دقت به این معنی است که در شرایط یکسان، قرارداد هوشمند نتیجه یکسان را به همراه خواهد داشت. ### سابقه‌ی عمومی {#public-record} -قراردادهای هوشمند برای ممیزی و ردیابی هم مفید هستند. از آنجایی که قراردادهای هوشمند اتریوم بر روی یک زنجیره‌‌ی بلوکی عمومی قرار دارند، هر کسی می‌تواند فوراً انتقال دارایی‌ها و سایر اطلاعات مرتبط را ردیابی کند. مثلاً می‌توانید بررسی کنید که شخصی به آدرس شما پول ارسال کرده است یا نه. +قراردادهای هوشمند برای حسابرسی و ردیابی مفید هستند. از آنجایی که قراردادهای هوشمند اتریوم بر روی یک بلاکچین عمومی قرار دارند، هر کس می‌تواند فوراً انتقال دارایی‌ها و سایر اطلاعات مرتبط را ردیابی کند. برای مثال، شما میتوانید چک کنید که آیا کسی به آدرس شما پول فرستاده است یا نه. ### حفاظت از حریم خصوصی {#privacy-protection} -قراردادهای هوشمند همچنین می‌توانند از حریم خصوصی ما محافظت کنند. از آنجایی که اتریوم یک شبکه‌ی مستعار است (تراکنش‌های شما به‌صورت عمومی به یک آدرس رمزنگاری منحصربه‌فرد مرتبط است، نه هویت شما)، می‌توانید از حریم خصوصی خود در برابر ناظران محافظت کنید. +قراردادهای هوشمند همچنین می‌توانند از حریم خصوصی شما محافظت کنند. از آنجا که اتریوم یک شبکه‌ مستعار است (تراکنش‌های شما به‌صورت عمومی به یک آدرس رمزنگاری منحصربه‌فرد مرتبط هستند، نه هویت شما)، می‌توانید از حریم خصوصی خود در برابر ناظران محافظت کنید. ### قوانین مشخص {#visible-terms} -در نهایت، مانند قراردادهای عادی، شما قبل از امضای قرارداد هوشمند (یا هر نوع تعامل دیگر با آن) می‌توانید محتوای آن را بررسی نمایید. از این بهتر، شفافیت عمومی قوانین قرارداد به این معنی است که هر کسی می‌تواند آن را بررسی کند. +در نهایت، مانند قراردادهای سنتی، شما قبل از امضای قرارداد هوشمند (یا هر نوع تعامل دیگر با آن) می‌توانید محتوای آن را بررسی نمایید. بخاطر شفافیت قراردادهای هوشمند میتوان آنها را موشکافانه بررسی کرد. ## کاربردهای قراردادهای هوشمند {#use-cases} -خب، قراردادهای هوشمند برنامه‌های رایانه‌ای بر بستر زنجیره‌‌ی بلوکی هستند. آن‌ها می‌توانند به صورت خودکار اجرا شوند. شما قادرید روال اجرای تراکنش‌های آن ها را دنبال کنید، نحوه‌ی رفتارشان را پیش‌بینی کرده و به‌صورت دلخواه از آن‌ها استفاده کنید. جالب است، نه؟ ولی فایده‌ی آن چیست؟ خب، قراردادهای هوشمند اصولاً قادرند هر کار دیگری که توسط رایانه‌ها قابل انجام است را انجام دهند. +قراردادهای هوشمند اصولاً قادرند هر کاری را که توسط نرم‌افزارهای رایانه‌ای قابل انجام است انجام دهند. -این کار دیگر می‌تواند انجام محاسبات، ایجاد یکای پولی، ذخیره‌ی داده، استخراج توکن‌های غیرقابل معاوضه، برقراری ارتباط یا حتی ایجاد تصاویر گرافیکی باشد. در ادامه چند مثال از دنیای واقعی آورده شده است: +این کار دیگر می‌تواند انجام محاسبات، ایجاد واحد پولی، ذخیره‌ داده، استخراج توکن‌های غیرقابل معاوضه، برقراری ارتباط یا حتی ایجاد تصاویر گرافیکی باشد. در ادامه چند مثال معمول از دنیای واقعی آورده شده است: - [پایدارزها](/stablecoins/) - [ایجاد و توزیع دارایی‌های یکتای دیجیتال](/nft/) @@ -79,7 +69,7 @@ lang: fa - [یک بیمه‌نامه که به‌صورت خودکار پرداخت می‌کند.](https://etherisc.com/) - [استانداردی که به افراد امکان می‌دهد ارزهای سفارشی‌شده و قابل تعامل ایجاد کنند](/developers/docs/standards/tokens/) -## با تصویر راحت‌تر یاد می‌گیرید؟ {#visual-learner} +## فردی هستید که با توضیحات تصویری راحت‌ترید؟ {#visual-learner} Watch Finematics قراردادهای هوشمند را توضیح می‌دهد: diff --git a/src/content/translations/fa/social-networks/index.md b/src/content/translations/fa/social-networks/index.md index 0c9887a8419..6159583d7b1 100644 --- a/src/content/translations/fa/social-networks/index.md +++ b/src/content/translations/fa/social-networks/index.md @@ -71,7 +71,7 @@ summaryPoint3: توکن ها و نیفتی ها راه های جدیدی برا ## شبکه های اجتماعی Web2 در اتریوم {#web2-social-networks-and-ethereum} -پلتفرم‌های اجتماعی بومی [ Web3](/web3/) تنها پلتفرم‌هایی نیستند که تلاش می‌کنند فناوری بلاک چین را در رسانه‌های اجتماعی بگنجانند. بسیاری از پلتفرم های متمرکز نیز در حال برنامه ریزی برای ادغام اتریوم در زیرساخت خود هستند: +پلتفرم‌های اجتماعی بومی [Web3](/web3/) تنها پلتفرم‌هایی نیستند که تلاش می‌کنند فناوری بلاک چین را در رسانه‌های اجتماعی بگنجانند. بسیاری از پلتفرم های متمرکز نیز در حال برنامه ریزی برای ادغام اتریوم در زیرساخت خود هستند: ### Reddit {#reddit} diff --git a/src/content/translations/fa/staking/dvt/index.md b/src/content/translations/fa/staking/dvt/index.md new file mode 100644 index 00000000000..dcd9caa4580 --- /dev/null +++ b/src/content/translations/fa/staking/dvt/index.md @@ -0,0 +1,91 @@ +--- +title: فناوری اعتبارسنج توزیع‌شده +description: فناوری اعتبارسنج توزیع شده عملیات توزیع شده یک اعتبارسنج اتریوم را توسط چندین شخص فعال می کند. +lang: fa +--- + +# فناوری اعتبارسنج توزیع‌شده {#distributed-validator-technology} + +فناوری اعتبارسنج توزیع‌شده (DVT) یک روش امنیت‌بخشی به اعتبارسنج است که وظایف مدیریت کلید‌ها و امضای دیجیتال را در میان طرف‌های چندگانه پخش می‌کند تا از نقاط شکست واحد بکاهد و انعطاف اعتبارسنج را افزایش دهد. + +این کار را با **تقسیم کلید خصوصی** مورد استفاده برای امنیت‌ اعتبارسنج **بین تعداد زیادی کامپیوتر** که در یک «خوشه» سازمان‌دهی شده‌اند، انجام می‌دهد. مزیت این فناوری در این است که دست‌یابی به کلید را برای هکرها بسیار دشوار می‌کند زیرا کلید به شکل کامل روی یک دستگاه واحد ذخیره نمی‌شود. همچنین اجازه می‌دهد که برخی از گره‌ها آفلاین باشند به این علت که امضاهای لازم می‌توانند توسط زیرمجموعه‌ای از گره‌ها در هر خوشه انجام شوند. این امر، نقاط شکست واحد در شبکه را کاهش می‌دهد و کل مجموعۀ اعتبارسنج را مستحکم‌تر می‌سازد. + +![نمودار نشان می‌دهد چگونه یک کلید اعتبارسنج به تکه‌کلیدها تقسیم می‌شود و به چندین گره با اجزای گوناگون توزیع می‌شود.](./dvt-cluster.png) + +## چرا به فناوری اعتبارسنج توزیع‌شده نیاز داریم؟ {#why-do-we-need-dvt} + +### ایمنی {#security} + +اعتبارسنج‌ها دو جفت کلید عمومی- خصوصی می‌سازند: کلیدهای اعتبارسنجی برای مشارکت در اجماع و کلیدهای برداشت برای دسترسی به وجوه. در حالی که اعتبارسنج‌ها می‌توانند با ذخیره‌سازی سرد از امنیت کلیدهای برداشت اطمینان حاصل کنند، کلیدهای اعتبارسنجی باید به صورت 24/7 آنلاین باشند. در صورتی که یک کلید اعتبارسنج معیوب باشد، مهاجم می‌تواند کنترل گره اعتبارسنج را به دست گیرد و احتمال اسلشینگ یا از دست رفتن اتر سهام‌گذار افزایش می‌یابد. فناوری اعتبارسنج توزیع‌شده به حذف این ریسک کمک می‌کند. به این شکل: + +با استفاده از فناوری اعتبارسنج توزیع‌شده، سهام‌گذار ان می‌توانند همزمان با نگهداری کلید خصوصی اعتبارسنج در ذخیره‌سازی سرد، در فرایند سهام‌گذاری مشارکت کنند. این امکان با رمزگذاری کلید اعتبارسنج اصلی و کامل و سپس تقسیم آن به چندین تکه کلید میسر می‌شود. تکه‌کلیدها همیشه آنلاین هستند و بین چندین نود که عملیات توزیع شده را برای اعتبارسنج فعال می‌کنند توزیع می‌شوند. این امر امکان پذیر است زیرا اعتبارسنج‌های اتریوم از امضاهای BLS که افزودنی هستند استفاده می‌کنند، بدین معنا که کلید کامل را می‌توان بوسیله جمع کردن اجزای آنها بازسازی کرد. همین موضوع به سهام‌گذاران اجازه می‌دهد تا کلید اعتبارسنج کامل و اصلی را به شکلی امن به صورت آفلاین نگهداری کنند. + +### عدم وجود نقطه شکست واحد {#no-single-point-of-failure} + +وقتی یک اعتبارسنج بین چندین اپراتور و چندین دستگاه تقسیم می‌شود می‌تواند اختلالات نرم‌افزاری و سخت‌افزاری را بدون این که وقفه‌ای در فعالیت آن ایجاد شود، تحمل کند. همچنین ریسک اختلالات با استفاده از تنظیمات نرم‌افزاری و سخت‌افزاری متنوع در سطح گره‌های موجود در یک خوشه کم شود. این انعطاف در تنظیمات اعتبارسنج تک‌گره‌ای موجود نیست و با لایه فناوری اعتبارسنج توزیع‌شده امکان‌پذیر است. + +اگر یکی از عناصر یک دستگاه در یک خوشه به هر دلیل متوقف شود (برای مثال اگر چهار اپراتور در یک اعتبارسنج باشند و یکی از آن‌ها از کاربری استفاده کند که دچار مشکل است)، سایر اعضای خوشه تضمین خواهند کرد که اعتبارسنجی بدون مشکل ادامه یابد. + +### غیرمتمرکزسازی {#decentralization} + +سناریوی ایده‌آل برای شبکۀ اتریوم داشتن بیشترین تعداد گره اعتبارسنج مستقل است. به هر حال، تعداد محدودی از سهام‌گذاران بسیار محبوب شده‌اند و بخش قابل توجهی از کل توکن‌های اتر سهام‌گذاری شده در شبکه را شامل می‌شوند. DVT می‌تواند به این اپراتورها اجازه دهد همزمان با غیرمتمرکز بودنِ سهام‌گذاری، به قوت خود باقی بمانند. به این دلیل می‌توان گفت که کلیدها برای هر اعتبارسنج در سطح دستگاه‌های متعدد توزیع می‌شوند و تبانی بیشتری می‌طلبد تا یک اعتبارسنج به یک عامل زیان‌آور تبدیل شود. + +بدون DVT، برای سهام‌گذاران آسان‌تر است که تنها از یک یا دو پیکربندی برای تمام اعتبارسنج‌های خود استفاده کنند، همین موضوع اثر اشکالات کاربر را تشدید می‌کند. DVT می‌تواند به کار گرفته شود تا ریسک را در سطح تعداد زیادی پیکربندی کاربر و سخت‌افزار مختلف پخش کند و از طریق تنوع‌بخشی به ارتقای انعطاف کمک کند. + +**DVT این مزایا را به شبکه اتریوم عرضه می‌کند:** + +1. **غیر متمرکز کردن** اجماع اثبات سهام اتریوم +2. اطمینان از **سرزندگی** شبکه +3. ایجاد **تحمل نقص** برای اعتبارسنج +4. عملیات اعتبارسنج با **حداقل اعتماد** +5. **حداقل شدن اسلشینگ** و ریسک‌های اختلال +6. **تنوع را بهبود می‌دهد** (کاربر، مرکز داده، موقعیت، قوانین، غیره) +7. **ارتقای امنیت** مدیریت کلید اعتبارسنج + +## DVT چگونه کار می‌کند؟ {#how-does-dvt-work} + +یک راه‌حل DVT از این عناصر تشکیل شده است: + +- **[اشتراک‌گذاری رمزی شامیر](https://medium.com/@keylesstech/a-beginners-guide-to-shamir-s-secret-sharing-e864efbf3648)** - اعتبارسنج‌ها از [کلیدهای BLS](https://en.wikipedia.org/wiki/BLS_digital_signature) استفاده می‌کنند. «تکه‌های کلید» BLS («تکه‌های کلید») می‌توانند در یک کلید واحد (امضا) ترکیب شوند. در DVT، کلید خصوصی اعتبارسنج، متشکل از امضای ترکیبی BLS هر اپراتور در خوشه است. +- **[طرح امضای آستانه‌](https://medium.com/nethermind-eth/threshold-signature-schemes-36f40bc42aca)** - تعداد تکه‌های کلید مجزای مورد نیاز برای امضای وظایف را مشخص می‌کند، برای مثال، 3 از 4. +- **[تولید کلید توزیع شده (DKG)](https://medium.com/toruslabs/what-distributed-key-generation-is-866adc79620)** - فرایند رمزنگاری که تکه‌کلیدها را تولید می‌کند و از آن برای توزیع تکه‌های یک کلید اعتبارسنج جدید یا موجود به گره‌های درون یک خوشه استفاده می‌شود. +- **[محاسبه چندجانبه (MPC)](https://messari.io/report/applying-multiparty-computation-to-the-world-of-blockchains)** - نسخه کامل کلید اعتبارسنج به صورت مخفیانه با استفاده از محاسبه چندجانبه تولید می‌شود. هیچکدام از اپراتورها هرگز نسخه کامل کلید را نخواهند دانست - آنها فقط بخشی از آن ("تکه" خودشان) را می‌دانند. +- **پروتکل اجماع** - پروتکل اجماع یک گره را انتخاب می‌کند تا پیشنهاد دهندۀ بلاک باشد. آنها بلوک را با دیگر گره‌های درون خوشه که تکه‌کلیدهایشان را به امضای تجمیعی اضافه می‌کنند به اشتراک می‌گذارند. وقتی که تکه‌کلید به تعداد کافی جمع‌آوری شد، بلوک به اتریوم پیشنهاد داده می‌شود. + +اعتبارسنج‌های توزیع شده تحمل خطای داخلی دارند و می‌توانند حتی اگر تعدادی از گره‌ها آفلاین شوند به کار خود ادامه دهند. این یعنی خوشه منعطف است حتی در حالی که برخی از گره‌های داخل آن، مخرب یا تنبل باشند. + +## موارد استفاده DVT {#dvt-use-cases} + +DVT دستاوردهای برجسته‌ای برای صنعت سهامگذاری گسترده‌تر دارد: + +### سهامگذاران انفرادی {#solo-stakers} + +DVT با سهامگذاری غیرحضانتی به شما امکان می‌دهد کلید اعتبارسنج خود را در سراسر گره‌های دورکار توزیع کنید و در عین حال کلید کامل را کاملاً آفلاین نگه دارید. این بدان معناست که سهامگذاران خانگی لزوماً نیازی به هزینه سخت‌افزاری ندارند، درحالی‌که توزیع تکه‌کلیدها می‌تواند به تقویت آنها در برابر هک‌های احتمالی کمک کند. + +### سهام گذاری به عنوان یک سرویس (SaaS) {#saas} + +اپراتورهایی (مانند استخرهای سهامگذاری و سهامگذاران سازمانی) که اعتبارسنج‌های زیادی را مدیریت می‌کنند می‌توانند از DVT برای کاهش ریسک خود استفاده کنند. آنها بوسیله توزیع زیرساخت خود می‌توانند تزائد را به عملیات‌هایشان اضافه کنند و انواع سخت‌افزاری که استفاده می‌کنند را تنوع ببخشند. + +DVT مسئولیت مدیریت کلید را در بین چندین گره تقسیم می‌کند، یعنی برخی هزینه‌های عملیاتی را نیز می‌توان تقسیم کرد. DVT همچنین می‌تواند خطر عملیاتی و هزینه‌های بیمه را برای ارائه‌دهندگان سهامگذاری کاهش دهد. + +### Staking pools {#staking-pools} + +با توجه به تنظیمات استاندارد اعتبارسنج، استخرهای سهامگذاری و ارائه‌دهندگان سهامگذاری نقدینگی مجبورند سطوح مختلفی از اعتماد به یک اپراتور را داشته باشند زیرا سود و زیان در سراسر استخر به همه می‌رسد. آنها همچنین به اپراتورها از جهت محافظت از کلیدهای امضا متکی هستند، زیرا تاکنون هیچ گزینه دیگری برای آنها وجود نداشته است. + +حتی اگر به شکل سنتی تلاش‌هایی برای پخش خطر به‌وسیله توزیع سهام بین اپراتورهای متعدد انجام می‌شود، هر اپراتور هنوز یک سهم قابل توجه را به‌‌طور مستقل مدیریت می‌کند. اتکا بر یک اپراتور درصورتی که عملکرد ناکافی، مواجهه با خرابی، هک شدن، یا عملکرد مخرب داشته باشند خطرات زیادی را به همراه دارد. + +با استفاده از DVT، اعتماد موردنیاز به اپراتورها به حد قابل توجهی کاهش می‌یابد. **استخرها می‌توانند اپراتورها را قادر به نگهداری سهام بدون نیاز به حضانت کلیدهای اعتبارسنج سازند** (زیرا فقط از تکه‌کلیدها استفاده می‌شود). همچنین این امکان را می‌دهد تا سهام مدیریت شده بین اپراتورهای بیشتری توزیع شود (به‌عنوان مثال، به جای داشتن یک اپراتور تنها که 1000 اعتبارسنج را مدیریت می‌کند، DVT این اعتبارسنج‌ها را به‌طور جمعی توسط اپراتورهای متعدد اجرا می‌کند). پیکربندی‌های متنوع اپراتور تضمین می‌کند که اگر یکی از اپراتورها از کار بیفتد، سایرین همچنان قادر به امضا کردن هستند. این به تزائد و تنوع می‌انجامد که عملکرد و انعطاف را افزایش می‌دهد در حالی که پاداش‌ها حداکثر می‌شوند. + +یک مزیت دیگر برای کمینه کردن اعتماد به اپراتور واحد این است که استخرهای سهام‌گذاری می‌توانند از مشارکت آزاد و بدون مجوزِ اپراتورها پشتیبانی کنند. با انجام این کار، خدمات ریسک‌شان را کاهش می‌دهند و با استفاده از مجموعه‌های بدون مجوز و نگهبانی‌شده اپراتورها، برای مثال با جفت کردن سهام‌گذاران خرد با سهام‌گذاران بزرگتر، از غیر متمرکز بودنِ شبکۀ اتریوم پشتیبانی می‌کند. + +## ایرادات بالقوه استفاده از DVT {#potential-drawbacks-of-using-dvt} + +- **اجزای اضافی** - معرفی یک گرۀ DVT یک بخش دیگر اضافه می‌کند که احتمال دارد دچار نقص شود یا آسیب‌پذیر باشد. یک راه برای حذف این اثر، تلاش برای چندین پیاده‌سازی از یک گرۀ DVT است که به معنای چندین مشتری DVT است (مشابه با حالتی که چندین اپراتور برای لایه‌های اجماع و اجرا وجود دارد). +- **هزینه‌های عملیاتی**- از آنجا که DVT اعتبارسنج را بین چندین طرف توزیع می‌کند، به جای یک گره تنها، گره‌های بیشتری برای انجام عملیات مورد نیاز هستند، که قاعدتاً هزینه عملیاتی بالاتری را به همراه دارد. +- **افزایش بالقوه تاخیر** - از آنجا که DVT از یک پروتکل اجماع برای حصول اجماع بین چندین گره که یک اعتبارسنج را عملیاتی می‌کنند استفاده می‌کند، این امر می‌تواند افزایش تاخیر بالقوه‌ای را به همراه داشته باشد. + +## اطلاعات بیشتر {#further-reading} + +- [مشخصات اعتبارسنج توزیع‌شده اتریوم (سطح بالا)](https://github.com/ethereum/distributed-validator-specs) +- [مشخصات فنی اعتبارسنج توزیع‌شده اتریوم](https://github.com/ethereum/distributed-validator-specs/tree/dev/src/dvspec) +- [اپلیکیشن آزمایشی تقسیم راز شامیر](https://iancoleman.io/shamir/) diff --git a/src/content/translations/fa/staking/pools/index.md b/src/content/translations/fa/staking/pools/index.md index d6725c1d137..bb16b8de017 100644 --- a/src/content/translations/fa/staking/pools/index.md +++ b/src/content/translations/fa/staking/pools/index.md @@ -10,7 +10,7 @@ sidebarDepth: 2 summaryPoints: - از طریق تجمیع قوا با دیگران، هر چقدر اتریوم که می‌خواهید سهام‌گذاری کنید و پاداش کسب کنید - بخش سخت را رها کنید و عملیات اعتبارسنجی را به شخص ثالث بسپارید - - توکن‌های نقدینگی را در کیف پول خود نگه دارید + - توکن‌های سهامگذاری را در کیف‌پول خودتان نگه دارید --- ## استخر سهام‌گذاری چیست؟ {#what-are-staking-pools} @@ -24,15 +24,9 @@ summaryPoints: علاوه بر مزایایی که در [معرفی سهام‌گذاری](/staking/) بیان کردیم، سهام‌گذاری با استخر دارای چندین مزیت متمایز است. - - نهنگ نیستید؟ مشکلی نیست. اکثر استخرهای سهام‌گذاری به شما امکان می‌دهند تقریباً هر مقدار اتر را از طریق تجمیع با سایر سهام‌گذاران سهام‌گذاری کنید، برخلاف سهام‌گذاری انفرادی که به 32 اتر نیاز دارد. - - - سهام‌گذاری با استخر به آسانی تعویض توکن است. نیازی به نگرانی در مورد راه‌اندازی سخت‌افزار و نگهداری گره نیست. استخرها به شما امکان می‌دهند که اتر خود را سپرده‌گذاری کنید؛ این کار به عملگرهای گره امکان می‌دهد اعتبارسنج‌ها را اجرا کنند. سپس، پاداش‌ها منهای هزینه عملیات‌های گره بین مشارکت‌کنندگان توزیع می‌شود. - - - بسیاری از استخرهای سهام‌گذاری توکنی را ارائه می‌دهند که نشان‌دهنده ادعایی در مورد اتر سهام‌گذاری‌شده شما و پاداش‌هایی است که تولید می‌کند. این کار به شما امکان می‌دهد از اتر سهام‌گذاری‌شده خود، مثلاً به‌عنوان وثیقه در برنام‌های DeFi، استفاده کنید. - + + + @@ -41,7 +35,11 @@ summaryPoints: سهام‌گذاری مشترک یا تفویضی به‌طور بومی توسط پروتکل اتریوم پشتیبانی نمی‌شود، اما با توجه به تقاضای کاربران برای سهام‌گذاری کمتر از 32 اتر، راه‌حل‌های فزاینده‌ای برای پاسخگویی به این تقاضا ساخته شده است. -هر استخر و ابزارها یا قراردادهای هوشمند مورد استفاده آن توسط تیم‌های مختلف ساخته شده است و هر کدام خطرات و مزایای خاص خود را دارند. +هر استخر و ابزار یا قراردادهای هوشمند مورد استفاده‌ آنها توسط تیم های مختلف ساخته شده‌اند و هر کدام همراه با منافع و خطراتی هستند. استخرها کاربران را قادر می‌سازند تا اترهای خود را با توکنی که نمایانگر اتر سهامگذاری شده است تعویض کنند. این توکن مفید است زیرا به کاربران اجازه می دهد تا هر مقدار اتر دلخواه را با مقدار معادل یک توکن سودده مبادله کنند که سودی را از طریق پاداش‌های سهامگذاری اجرا شده بر روی اتر سهامگذاری شده اساسی (و بالعکس) در صرافی‌های غیرمتمرکز تولید می‌کند، حتی اگر اتر واقعی روی لایه اجماع ثابت بماند. این بدان معناست که مبادله مکرر بین محصول سودده‌ اتر سهامگذاری شده و "اتر خام" نه تنها در ضریب 32 اتر در دسترس است بلکه فرایندی سریع و آسان است. + +با این‌حال، این توکن‌های اتر سهامگذاری شده تمایل به ایجاد رفتارهای کارتل‌مانندی دارند که در آنجا مقدار زیادی از اتر سهامگذاری شده به جای اینکه در بین بسیاری از افراد مستقل پخش شود، تحت کنترل چند سازمان متمرکز قرار می‌گیرد. این اتفاق شرایطی را برای سانسور یا استخراج ارزش ایجاد می‌کند. استاندارد طلا برای سهامگذاری همیشه باید اشخاصی باشند که در هر زمان ممکن اعتبارسنج‌ها را بر روی سخت‌افزار خودشان اجرا کنند. + +[اطلاعات بیشتر درباره خطرات سهامگذاری توکن‌ها](https://notes.ethereum.org/@djrtwo/risks-of-lsd). شاخص‌های ویژگی در زیر برای نشان دادن نقاط قوت یا ضعف قابل توجهی که ممکن است یک استخر فهرست شده داشته باشد استفاده می‌شود. از این بخش به‌عنوان مرجعی برای نحوه تعریف این ویژگی‌ها هنگام انتخاب استخری برای پیوستن استفاده کنید. @@ -51,31 +49,32 @@ summaryPoints: گزینه‌های مختلفی برای کمک به شما در راه‌اندازی وجود دارد. از شاخص‌های بالا برای راهنمایی به خود در مورد ابزارهای زیر استفاده کنید. - -لطفاً از اهمیت انتخاب سرویسی که تنوع کلاینت را جدی بگیرد غافل نشوید، زیرا امنیت شبکه را بهبود می‌بخشد و ریسک شما را محدود می‌کند. سرویس‌هایی که شواهدی مبنی بر محدود کردن استفاده اکثر کلاینت‌ها دارند، با عنوان «کلاینت‌های متنوع» علامت‌گذاری می‌شوند. - + -ابزار سهام‌گذاری‌ای را پیشنهاد می‌دهید که نگنجانده‌ایم؟ [خط‌مشی فهرست‌بندی محصول](/contributing/adding-staking-products/) ما را برای اطمینان از مناسب بودن آن و ارسال آن جهت بررسی مشاهده کنید. +لطفاً از اهمیت انتخاب سرویسی که [تنوع کاربر](/developers/docs/nodes-and-clients/client-diversity/) را جدی بگیرد غافل نشوید، زیرا امنیت شبکه را بهبود می‌بخشد و ریسک شما را محدود می‌کند. سرویس‌هایی که مدارکی از محدود کردن استفاده اکثریت کاربران را دارند با عنوان "تنوع کاربر اجرایی" و "تنوع کاربر اجماعی" نشان داده می‌شوند. + +ابزار سهامگذاری‌‌ می‌شناسید که نگنجانده‌ایم؟ [سیاست فهرست‌بندی محصول](/contributing/adding-staking-products/) ما را برای اطمینان از مناسب بودن آن و ثبت آن جهت بررسی مشاهده کنید. -## سؤالات متداول {#faq} +## پرسش‌های متداول {#faq} -معمولاً توکن‌های نقدینگی ERC-20 برای سهام‌گذاران صادر می‌شوند که نشان‌دهنده ارزش اتر سهام‌گذاری‌شده به‌علاوه پاداش‌های آن‌ها است. در نظر داشته باشید که روش استخرهای مختلف برای توزیع پاداش‌های سهام‌گذاری بین کاربرانشان کمی با هم متفاوت است، اما این رویکرد رایج است. +معمولاً توکن‌های سهامگذاری ERC-20 برای سهامگذارانی چاپ می‌شوند که نمایانگر ارزش اتر سهامگذاری شده آنها به‌علاوه پاداش‌ باشند. در نظر داشته باشید که روش استخرهای مختلف برای توزیع پاداش‌های سهام‌گذاری بین کاربرانشان کمی با هم متفاوت است، اما این رویکرد رایج است. +همین حالا! ارتقاءهای شانگهای/کاپلا در آوریل سال 2023 رخ دادند، و برداشت‌های سهامگذاری را به همراه داشتند. حساب‌های اعتبارسنج که استخرهای سهامگذاری را پشتیبانی می‌کنند، اکنون قادرند که خارج شوند و اتر را به آدرس برداشت تعیین شده خود برداشت کنند. این امر امکان پس گرفتن سهم خودتان از سهم‌گذاری مربوط به اتر مربوطه را فراهم می‌سازد. با ارائه‌دهنده‌تان بررسی کنید که چگونه این عملکرد را پیشتیبانی می‌کنند. -در حال حاضر، برداشت وجه از اعتبارسنج اتریوم امکان‌پذیر نیست، که این امکان را محدود می‌کند که در واقع رمز نقدینگی خود را برای پاداش‌های اتر قفل شده در لایه‌ی اجماع بازخرید کنید. +از طرفی، استخرهایی که از توکن سهامگذاری ERC-20 استفاده می‌کنند به کاربرانشان امکان معامله این توکن در بازار آزاد معامله را می‌دهند، و به شما اجازه می‌دهند که موقعیت سهامگذاری خود را بفروشید، عملاً یعنی "برداشت کردن" بدون حذف اتر از قرارداد سهامگذاری. -از طرف دیگر، استخرهایی که از توکن نقدینگی ERC-20 استفاده می‌کنند، به کاربران اجازه می‌دهند تا این توکن را در بازار آزاد معامله کنند، و به شما این امکان را می‌دهند که موقعیت سهام خود را بفروشید، بدون اینکه عملاً اتر را از قرارداد سهام‌گذاری حذف کنید، عملاً «انصراف دهید». +اطلاعات بیشتر درباره برداشت‌های سهامگذاری شباهت‌های زیادی بین این گزینه‌های سهام‌گذاری مشترک و صرافی‌های متمرکز وجود دارد؛ نظیر توانایی سهام‌گذاری مقادیر کم اتر و ترکیب کردن آن‌ها برای فعال‌سازی اعتبارسنج‌ها. -برخلاف صرافی‌های متمرکز، بسیاری از گزینه‌های سهام‌گذاری مشترک دیگر از قراردادهای هوشمند و/یا توکن‌های نقدینگی استفاده می‌کنند که معمولاً توکن‌های ERC-20 هستند که می‌توان آن‌ها را در کیف پول خود نگه داشت و مانند هر توکن دیگری خرید یا فروخت. این کار با اعطای کنترل توکن‌هایتان به شما، لایه‌ای از حاکمیت و امنیت را ارائه می‌دهد، اما در عین حال روی کاربر اعتبارسنجی که از طرف شما در پس‌زمینه تصدیق می‌کند، کنترل مستقیمی ارائه نمی‌دهد. +برخلاف صرافی‌های متمرکز، بسیاری دیگر از گزینه‌های سهامگذاری مشترک از قراردادهای هوشمند و/یا توکن‌های سهامگذاری استفاده می‌کنند که معمولاً توکن‌های ERC-20 هستند که می‌توانید آنها را در کیف‌پول خود نگه دارید، و درست همانند هر توکن دیگری آنها را بخرید یا بفروشید. این کار با اعطای کنترل توکن‌هایتان به شما، لایه‌ای از حاکمیت و امنیت را ارائه می‌دهد، اما در عین حال روی کاربر اعتبارسنجی که از طرف شما در پس‌زمینه تصدیق می‌کند، کنترل مستقیمی ارائه نمی‌دهد. برخی از گزینه‌های ادغام از حیث گره‌هایی که آن‌ها را پشتیبانی می‌کنند غیرمتمرکزتر از سایرین هستند. برای ارتقای سلامت و عدم تمرکز شبکه، به سهام‌گذاران همواره توصیه می‌شود که سرویس ادغامی را انتخاب کنند که یک مجموعه غیرمتمرکز بدون مجوز از عملگرهای گره را فعال می‌کند. diff --git a/src/content/translations/fa/staking/saas/index.md b/src/content/translations/fa/staking/saas/index.md index 5f95c91d568..b826bf4a92f 100644 --- a/src/content/translations/fa/staking/saas/index.md +++ b/src/content/translations/fa/staking/saas/index.md @@ -22,23 +22,16 @@ summaryPoints: پروتکل اتریوم به‌طور بومی از تفویض سهام پشتیبانی نمی‌کند، بنابراین این سرویس‌ها برای برطرف کردن این تقاضا ساخته شده‌اند. اگر 32 اتر برای سهام‌گذاری در اختیار دارید، اما در مواجهه با سخت‌افزار احساس راحتی نمی‌کنید، سرویس‌های SaaS به شما امکان می‌دهند تا زمانی که پاداش‌های بلوک بومی را دریافت می‌کنید، بخش سخت را تفویض کنید. - - 32 اتر خود را واریز کنید تا مجموعه کلیدهای امضای خود که در اجماع اتریوم شرکت خواهند کرد را فعال کنید. از طریق داشبوردها بر پیشرفت خود نظارت کنید و شاهد تجمیع پاداش‌های اتر باشید. - - - مشخصات سخت‌افزاری، راه‌اندازی، نگهداری گره و ارتقا را فراموش کنید. - ارائه‌دهندگان SaaS به شما این امکان را می‌دهند تا با بارگذاری اعتبارنامه امضای خود، بخش سخت را برون‌سپاری کنید. این کار به آن‌ها امکان می‌دهد با هزینه اندک، اعتبارسنج را از طرف شما اجرا کنند. - - - در بسیاری از موارد، کاربران مجبور نیستند از دسترسی به کلیدهایی که امکان برداشت یا انتقال وجوه سهام‌گذاری شده را فراهم می‌کنند، چشم‌پوشی کنند. این کلیدها با کلیدهای امضا متفاوت هستند و می‌توانند برای محدود کردن (اما نه از بین بردن) خطر شما به عنوان یک سهام‌گذار، جداگانه نگه داشته شوند. - + + + ## آنچه باید در نظر گرفته شود {#what-to-consider} -تعداد فزاینده‌ای از ارائه‌دهنده‌های سهام‌گذاری به‌عنوان سرویس وجود دارند که به شما کمک می‌کنند اتر خود را به اشتراک بگذارید، اما هر کدام خطرات و مزایای متفاوتی دارند. +تعداد فزاینده‌ای از ارائه‌دهندگان SaaS وجود دارند که در سهامگذاری اتر به شما کمک می‌کنند اما هرکدام از آنها مزایا و خطرات خاص خود را دارند. تمام گزینه‌های SaaS نیازمند فرضیه‌های اعتماد بیشتر در مقایسه با سهامگذاری خانگی هستند. گزینه‌های SaaS ممکن است کد اضافه‌ای داشته باشند که کاربرهای اتریوم را به طوری شکل می‌دهند که یا باز نیست یا قابل ممیزی نیست. همچنین SaaS تاثیر مخربی بر تمرکززدایی شبکه دارد. بسته به تنظیمات، ممکن است اعتبار‌سنج خود را کنترل نکنید - اپراتور با عدم صداقت می‌تواند از اتر شما استفاده کند. شاخص‌های ویژگی در زیر برای نشان دادن نقاط قوت یا ضعف قابل‌توجهی که ممکن است ارائه‌دهنده فهرست‌شده SaaS داشته باشد، استفاده می‌شود. از این بخش به عنوان مرجعی برای نحوه تعریف این ویژگی‌ها هنگام انتخاب سرویس برای کمک به خود در مسیر سهام‌گذاری استفاده کنید. @@ -48,41 +41,51 @@ summaryPoints: در زیر برخی از ارائه‌دهندگان SaaS قید شده‌اند. از شاخص‌های بالا برای راهنمایی درباره این خدمات استفاده کنید - -لطفاً از اهمیت انتخاب سرویسی که تنوع کلاینت را جدی بگیرد غافل نشوید، زیرا امنیت شبکه را بهبود می‌بخشد و ریسک شما را محدود می‌کند. سرویس‌هایی که شواهدی مبنی بر محدود کردن استفاده اکثر کلاینت‌ها دارند، با عنوان «کلاینت‌های متنوع» علامت‌گذاری می‌شوند. - - + #### ارائه‌دهندگان SaaS +لطفاً از اهمیت انتخاب سرویسی که [تنوع کلاینت](/developers/docs/nodes-and-clients/client-diversity/) را جدی بگیرد غافل نشوید، زیرا امنیت شبکه را بهبود می‌بخشد و ریسک شما را محدود می‌کند. سرویس‌هایی که مدارکی از محدود کردن استفاده اکثریت کاربران را دارند با عنوان "تنوع کاربر اجرایی" و "تنوع کاربر اجماعی" نشان داده می‌شوند. + #### تولید‌کنندگان کلید -یک ارائه‌دهنده سهام‌گذاری به‌عنوان خدمت را پیشنهاد می‌دهید که نگنجانده‌ایم؟ [خط‌مشی فهرست‌بندی محصول](/contributing/adding-staking-products/) ما را برای اطمینان از مناسب بودن آن و ارسال آن جهت بررسی مشاهده کنید. +یک ارائه‌دهنده سهام‌گذاری به‌عنوان خدمت را پیشنهاد می‌دهید که نگنجانده‌ایم؟ [سیاست فهرست‌بندی محصول](/contributing/adding-staking-products/) ما را برای اطمینان از مناسب بودن آن و ثبت آن جهت بررسی مشاهده کنید. -## سؤالات متداول {#faq} +## پرسش‌های متداول {#faq} - ترتیب امور بین ارائه‌دهندگان مختلف، متفاوت است، اما معمولاً راهنمایی می‌شوید که کلیدهای امضای مورد نیاز خود (یکی به‌ازای هر 32 اتر) را راه‌اندازی کنید، و آن‌ها را برای تأیید اعتبار از طرف خودتان، در ارائه‌دهنده‌ای بارگذاری کنید. کلیدهای امضا به تنهایی امکان برداشت، انتقال یا خرج کردن وجوه شما را ندارند. با این حال، آن‌ها توانایی رأی دادن برای حصول اجماع را فراهم می‌کنند، که اگر به درستی انجام نشود، می‌تواند منجر به جریمه آفلاین یا تقطیع شود. +ترتیب امور بین ارائه‌دهندگان مختلف، متفاوت است، اما معمولاً راهنمایی می‌شوید که کلیدهای امضای مورد نیاز خود (یکی به‌ازای هر 32 اتر) را راه‌اندازی کنید، و آن‌ها را برای تأیید اعتبار از طرف خودتان، در ارائه‌دهنده‌ای بارگذاری کنید. کلیدهای امضا به تنهایی امکان برداشت، انتقال یا خرج کردن وجوه شما را ندارند. با این حال، آن‌ها توانایی رأی دادن برای حصول اجماع را فراهم می‌کنند، که اگر به درستی انجام نشود، می‌تواند منجر به جریمه آفلاین یا تقطیع شود. -بله. هر حساب از هر دو کلید امضا و کلید خروج تشکیل شده است. برای اینکه اعتبارسنج وضعیت زنجیره را تأیید کند، در کمیته‌های همگام‌سازی شرکت کند و بلوک‌ها را پیشنهاد کند، کلیدهای امضا باید به آسانی توسط کلاینت اعتبارسنج قابل دسترسی باشند. این‌ها باید به شکلی به اینترنت متصل شوند، و بنابراین ذاتاً کلیدهای «داغ» در نظر گرفته می‌شوند. این یک الزام برای اعتبارسنج شماست تا بتواند تصدیق کند، و در نتیجه کلیدهای مورد استفاده برای انتقال یا برداشت وجه به دلایل امنیتی از هم جدا می‌شوند. +بله. هر حساب هم از کلیدهای امضای BLS و هم از کلیدهای برداشت BLS تشکیل شده است. برای اینکه اعتبارسنج وضعیت زنجیره را تأیید کند، در کمیته‌های همگام‌سازی شرکت کند و بلوک‌ها را پیشنهاد کند، کلیدهای امضا باید به آسانی توسط کلاینت اعتبارسنج قابل دسترسی باشند. این‌ها باید به شکلی به اینترنت متصل شوند، و بنابراین ذاتاً کلیدهای «داغ» در نظر گرفته می‌شوند. این یک الزام برای اعتبارسنج شماست تا بتواند تصدیق کند، و در نتیجه کلیدهای مورد استفاده برای انتقال یا برداشت وجه به دلایل امنیتی از هم جدا می‌شوند. + +کلیدهای برداشت BLS برای امضای پیام یک بار مصرفی که اعلام می‌کند پاداش‌های سهامگذاری و سرمایه خارج شده حساب باید به کدام لایه اجرایی بروند استفاده می‌شوند. به محض مخابره‌ این پیام، کلیدهای برداشت BLS دیگر مورد نیاز نیستند. در عوض کنترل وجوه برداشت شده، به صورت دائمی به آدرسی که شما ارائه داده اید منتقل و تفویض می‌شوند. با این کار می‌توانید آدرس برداشت را تنظیم کنید که متعلق به کیف‌پول سرد شما است تا خطر مربوط به وجوه اعتبارسنج خود را به حداقل برسانید حتی اگر شخص دیگری کلیدهای امضای اعتبارسنج شما را داشته باشد. + +بروزرسانی اطلاعات رمز برداشت، یک اقدام لازم برای فعالسازی امکان برداشت است. این فرایند شامل تولید کلیدهای برداشت با استفاده از عبارت بازیابی شما است. -همه این کلیدها را همیشه می‌توان با استفاده از عبارت 24 کلمه‌ای بازیابی‌تان به روشی تکرارپذیر دوباره تولید کرد. مطمئن شوید که از این عبارت بذر به‌طور ایمن پشتیبانی می‌گیرید، در غیر این صورت نمی‌توانید کلیدهای برداشت خود را در زمان لازم ایجاد کنید. +مطمئن شوید که پشتیبان امنی از این عبارت بازیابی دارید یا در هر زمان ممکن نخواهید توانست کلیدهای برداشت خود را تولید کنید. +/\*سهامگذارانی که آدرس برداشت را با واریز اولیه تدارک دیده‌اند نیازی به تنظیم این مورد ندارند. با ارائه دهنده سرویس SaaS خود برای راهنمایی در مورد نحوه راه اندازی اعتبار سنج خود تماس بگیرید. - وقتی 32 اتر را با یک ارائه‌دهنده SaaS به اشتراک می‌گذارید، آن اتر همچنان به قرارداد رسمی سهام‌گذاری واریز می‌شود. به این ترتیب، سهام‌گذاران SaaS در حال حاضر همان محدودیت‌های برداشتی را دارند که سهام‌گذاران انفرادی ارند. این بدان معناست که سهام‌گذاری اتر شما در حال حاضر یک سپرده‌گذاری یک طرفه است. این امر تا زمان ارتقای شانگهای ادامه خواهد داشت. +برداشت‌های سهامگذاری در ارتقاء شانگهای/کاپلا در آوریل 2023 پیاده‌سازی شدند. سهامگذاران باید یک آدرس برداشت ارائه کنند (البته اگر هنگام واریز اولیه ارائه نکرده‌اند)، و پرداخت پاداش‌ها به صورت خودکار طی دوره زمانی هر چند روز یک بار توزیع خواهند شد. + +اعتبارسنج‌ها همچنین می‌توانند به صورت کامل از نقش اعتبارسنج خارج شوند، که منجر به باز شدن موجودی اتر باقیمانده آنها برای برداشت خواهد شد. حساب‌هایی که یک آدرس برداشت اجرایی را ارائه کرده‌اند و فرایند خروج را تکمیل کرده‌اند تمام موجودی خود را در نوبت اعتبارسنج بعدی در آدرس برداشتی که ارائه کرده‌اند دریافت خواهند نمود. + +اطلاعات بیشتر درباره برداشت‌های سهامگذاری -با استفاده از یک ارائه‌دهنده SaaS، عملیات گره خود را به شخص دیگری تفویض می‌کنید. این کار، خطر عملکرد ضعیف گره را به همراه دارد، که در کنترل شما نیست. در صورتی که اعتبارسنج شما مشمول تقطیع شود، موجودی اعتبارسنج شما جریمه می‌شود و قاطعانه از استخر اعتبارسنج حذف می‌شود. این وجوه تا زمانی که برداشت در سطح پروتکل فعال نشود قفل خواهد شد. +با استفاده از یک ارائه‌دهنده SaaS، عملیات گره خود را به شخص دیگری تفویض می‌کنید. این کار، خطر عملکرد ضعیف گره را به همراه دارد، که در کنترل شما نیست. در صورتی که اعتبارسنج شما مشمول تقطیع شود، موجودی اعتبارسنج شما جریمه می‌شود و قاطعانه از استخر اعتبارسنج حذف می‌شود. + +پس از تکمیل فرایند اسلشینگ/خروج، این وجوه به آدرس برداشت اختصاص یافته به اعتبارسنج منتقل خواهند شد. این امر نیاز به ارائه یک آدرس برداشت برای فعالسازی دارد. آدرس برداشت ممکن است در واریز اولیه ارائه شده باشد. اگر آدرس برداشت ارائه نشده بود، لازم است از کلیدهای برداشت اعتبارسنج برای امضای پیام مشخص کننده آدرس برداشت استقاده شود. اگر آدرس برداشت ارائه نشده باشد، وجوه تا زمان ارائه آدرس، غیر قبل برداشت خواهند بود. -برای جزئیات بیشتر در مورد ضمانت‌ها یا گزینه‌های بیمه، با ارائه‌دهنده فردی SaaS تماس بگیرید. اگر ترجیح می‌دهید راه‌اندازی اعتبارسنج خود را کاملاً تحت کنترل داشته باشید، درباره نحوه به اشتراک گذاشتن اتر خود به‌صورت انفرادی بیشتر بدانید. +برای جزئیات بیشتر در مورد ضمانت‌ نامه ها یا بیمه و دستورالعمل‌هایی درباره نحوه ارائه آدرس برداشت، با ارائه‌دهنده سرویس SaaS تماس بگیرید. اگر ترجیح می‌دهید راه‌اندازی اعتبارسنج خود را کاملاً تحت کنترل داشته باشید، درباره نحوه به اشتراک گذاشتن اتر خود به‌صورت انفرادی بیشتر بدانید. ## بیشتر بخوانید {#further-reading} diff --git a/src/content/translations/fa/staking/solo/index.md b/src/content/translations/fa/staking/solo/index.md index 3c663a3b460..9c5de2a9273 100644 --- a/src/content/translations/fa/staking/solo/index.md +++ b/src/content/translations/fa/staking/solo/index.md @@ -17,6 +17,8 @@ summaryPoints: سهام‌گذاری انفرادی به عمل [اجرای یک گره اتریوم](/run-a-node/) متصل به اینترنت و واریز 32 اتر برای فعال کردن یک [اعتبارسنج](#faq) گفته می‌شود، که به شما امکان می‌دهد به‌طور مستقیم در اجماع شبکه شرکت کنید. +**سهامگذاری انفرادی، تمرکززدایی شبکه اتریوم را افزایش می‌دهد،** که منجر می‌شود اتریوم در برابر سانسور مقاوم‌تر و در مقابل مهاجمین مستحکم‌تر باشد. دیگر روش‌های سهامگذاری ممکن است به همین روش به شبکه کمک نکنند. سهامگذاری انفرادی بهترین گزینه سهامگذاری برای ایمن‌سازی اتریوم است. + یک گره‌ی اتریوم از یک کلاینت لایه اجرا (EL) و یک کلاینت لایه اجماع (CL) تشکیل شده است. این کلاینت‌ها نرم‌افزارهایی هستند که همراه با مجموعه‌ای از کلیدهای امضاکننده معتبر، برای تأیید تراکنش‌ها و بلوک‌ها، تصدیق کردن سر درست زنجیره، جمع‌آوری تأییدیه‌ها و پیشنهاد بلوک‌ها با هم کار می‌کنند. سهام‌گذارهای انفرادی مسئول کار با سخت‌افزار مورد نیاز برای اجرای این کلاینت‌ها هستند. قویاً توصیه می‌شود از یک دستگاه اختصاصی که در خانه به کار گرفته شود برای این کار استفاده کنید - این کار برای سلامت شبکه بسیار مفید است. @@ -25,18 +27,12 @@ summaryPoints: ## چرا به‌صورت انفرادی سهام‌گذاری کنیم؟ {#why-stake-solo} -سهام‌گذاری انفرادی با مسئولیت بیشتری همراه است، اما حداکثر کنترل را بر سرمایه‌های خود و تنظیمات سهام‌گذاری به شما ارائه می‌دهد. +سهامگذاری انفرادی مسئولیت‌ به همراه دارد اما حداکثر کنترل بر وجوه و تنظیمات سهامگذاری را به شما ارائه می‌دهد. - - وقتی اعتبارسنج شما آنلاین است، بدون هیچ واسطه‌ای، مستقیماً از پروتکل پاداش اتری دریافت کنید. - - - کلیدهای خودتان را نگه دارید. ترکیبی از کلاینت‌ها و سخت‌افزار را انتخاب کنید که به شما امکان می‌دهد ریسک خود را به حداقل برسانید و به سلامت و امنیت شبکه کمک کنید. سرویس‌های سهام‌گذاری شخص ثالث این تصمیمات را برای شما می‌گیرند و همیشه امن‌ترین انتخاب‌ها را انجام نمی‌دهند. - - - سهام‌گذاری انفرادی تأثیرگذارترین راه برای سهام‌گذاری است. با اجرای یک اعتبار سنج بر روی سخت‌افزار خود در خانه، استحکام، عدم تمرکز و امنیت پروتکل اتریوم را تقویت می‌کنید. - + + + ## ملاحظات لازم قبل از سهام‌گذاری انفرادی {#considerations-before-staking-solo} @@ -44,32 +40,37 @@ summaryPoints: درست است که ما آرزو می‌کنیم سهام‌گذاری انفرادی برای همه در دسترس و بدون ریسک باشد، اما واقعیت چنین نیست. چند موضوع عملی و جدی وجود دارد که باید قبل از انتخاب سهام‌گذاری انفرادی اتر خود در نظر داشته باشید. - - هنگام راه‌اندازی گره‌ی خود، باید مدتی را صرف یادگیری نحوه استفاده از نرم‌افزار انتخابی خود کنید. این کار شامل مطالعه‌ی مستندات مرتبط و هماهنگی با کانال‌های ارتباطی آن تیم‌های توسعه‌دهنده است. - هرچه بیشتر در مورد نرم‌افزاری که در حال اجرا هستید و نحوه‌ی کار اثبات سهام اطلاعات بیشتری کسب کنید، ریسک آن به‌عنوان یک سهام‌گذار برایتان کمتر خواهد بود و رفع هرگونه مشکلی که ممکن است در طول مسیر به عنوان عملگر گره ایجاد شود آسان‌تر خواهد بود. - - - راه‌اندازی گره به تسلط کافی در کار با رایانه نیاز دارد، گرچه ابزارهای جدید به مرور زمان این کار را آسان‌تر می‌کنند. درک رابط خط فرمان مفید است، اما دیگر به‌شدت موردنیاز نیست. - تنظیمات سخت‌افزاری بسیار ابتدایی و درک حداقل مشخصات توصیه‌شده نیز لازم است. - - - همان‌طور که کلیدهای خصوصی آدرس اتریوم شما را ایمن می‌کنند، باید کلیدهایی را به‌طور خاص برای اعتبارسنج خود ایجاد کنید. باید بدانید که چگونه هر عبارت بذر یا کلید خصوصی را امن و ایمن نگه دارید. -

امنیت اتریوم و جلوگیری از کلاهبرداری

- - - برداشت اتر سهام‌گذاری شده یا پاداش از موجودی اعتبارسنج هنوز پشتیبانی نمی‌شود. پشتیبانی از برداشت برای ارتقای آینده شانگهای برنامه‌ریزی شده است. باید پیش‌بینی کنید که اتر شما حداقل برای یک تا دو سال قفل می‌شود. پس از ارتقای شانگهای قادر به برداشت آزادانه کامل یا بخشی از سهام خود خواهید بود. - - - سخت‌افزار گهگاه خراب می‌شود، اتصالات شبکه بعضاً دچار مشکل می‌شوند و نرم‌افزار کلاینت هر از گاهی نیازمند ارتقا است. نگهداری از گره ناگزیر است و هر چند وقت یکبار نیازمند توجه شما خواهد بود. شما باید مطمئن باشید که از هرگونه ارتقای شبکه پیش‌بینی‌شده یا سایر ارتقاهای حیاتی مشتری آگاه هستید. - - - پاداش‌های شما متناسب با زمانی است که اعتبارسنج شما آنلاین است و به‌درستی تصدیق می‌کند. زمان خاموشی متناسب با تعداد اعتبارسنج‌های دیگر که همزمان آفلاین هستند مشمول جریمه می‌شود، اما به برخورد شدید منجر نمی‌شود. پهنای باند نیز مهم است، زیرا پاداش برای تصدیق‌هایی که به موقع دریافت نمی‌شوند کاهش می‌یابد. الزامات متفاوت خواهد بود، اما حداقل سرعت 10 مگابیت بر ثانیه برای بارگذاری و بارگیری توصیه می‌شود. - - - برخورد شدید که متفاوت از مجازات‌های عدم فعالیت برای آفلاین بودن است، مجازات بسیار جدی‌تری است که برای جرایم مخرب در نظر گرفته شده است. با اجرای یک کلاینت اقلیت با کلیدهایتان تنها روی یک دستگاه بارشده در آن واحد، ریسک برخورد شدید با شما به حداقل می‌رسد. همان‌طور که گفته شد، همه سهام‌گذاران باید از ریسک‌های برخورد شدید آگاه باشند. - -

اطلاعات بیشتر در مورد برخورد شدید و چرخه عمر اعتبارسنج

-
+ +هنگام راه‌اندازی گره‌ی خود، باید مدتی را صرف یادگیری نحوه استفاده از نرم‌افزار انتخابی خود کنید. این کار شامل مطالعه‌ی مستندات مرتبط و هماهنگی با کانال‌های ارتباطی آن تیم‌های توسعه‌دهنده است. + +هرچه بیشتر در مورد نرم‌افزاری که در حال اجرا هستید و نحوه‌ی کار اثبات سهام اطلاعات بیشتری کسب کنید، ریسک آن به‌عنوان یک سهام‌گذار برایتان کمتر خواهد بود و رفع هرگونه مشکلی که ممکن است در طول مسیر به عنوان عملگر گره ایجاد شود آسان‌تر خواهد بود. + + + +راه‌اندازی گره به تسلط کافی در کار با رایانه نیاز دارد، گرچه ابزارهای جدید به مرور زمان این کار را آسان‌تر می‌کنند. درک رابط خط فرمان مفید است، اما دیگر به‌شدت موردنیاز نیست. + +تنظیمات سخت‌افزاری بسیار ابتدایی و درک حداقل مشخصات توصیه‌شده نیز لازم است. + + + +همان‌طور که کلیدهای خصوصی آدرس اتریوم شما را ایمن می‌کنند، باید کلیدهایی را به‌ویژه برای اعتبارسنج خود ایجاد کنید. باید بدانید که چگونه هر عبارت بازیابی یا کلید خصوصی را ایمن نگه دارید.{' '} + +امنیت اتریوم و پیشگیری از کلاهبرداری + + + +سخت‌افزار گهگاه خراب می‌شود، اتصالات شبکه بعضاً دچار مشکل می‌شوند و نرم‌افزار کلاینت هر از گاهی نیازمند ارتقا است. نگهداری از گره ناگزیر است و هر چند وقت یکبار نیازمند توجه شما خواهد بود. شما باید مطمئن باشید که از هرگونه ارتقای شبکه پیش‌بینی‌شده یا سایر ارتقاهای حیاتی مشتری آگاه هستید. + + + +پاداش‌های شما متناسب با زمانی است که اعتبارسنج شما آنلاین است و به‌درستی تصدیق می‌کند. زمان خاموشی متناسب با تعداد اعتبارسنج‌های دیگر که همزمان آفلاین هستند مشمول جریمه می‌شود، اما به برخورد شدید منجر نمی‌شود. پهنای باند نیز مهم است، زیرا پاداش برای تصدیق‌هایی که به موقع دریافت نمی‌شوند کاهش می‌یابد. الزامات متفاوت خواهد بود، اما حداقل سرعت 10 مگابیت بر ثانیه برای بارگذاری و بارگیری توصیه می‌شود. + + + +برخورد شدید که متفاوت از مجازات‌های عدم فعالیت برای آفلاین بودن است، مجازات بسیار جدی‌تری است که برای جرایم مخرب در نظر گرفته شده است. با اجرای یک کلاینت اقلیت با کلیدهایتان تنها روی یک دستگاه بارشده در آن واحد، ریسک برخورد شدید با شما به حداقل می‌رسد. همان‌طور که گفته شد، همه سهام‌گذاران باید از ریسک‌های برخورد شدید آگاه باشند. + +اطلاعات بیشتر درباره جریمه و چرخه‌ حیات اعتبارسنج + @@ -78,9 +79,11 @@ summaryPoints: -در صورت تمایل، می‌توانید دیگر اعتبارسنج نباشید؛ بدین ترتیب، نیاز به آنلاین بودن از بین می‌رود و دریافت هرگونه پاداش بیشتر متوقف می‌شود. توجه داشته باشید که تا زمان ارتقای برنامه‌ریزی شده شانگهای _برداشت_ آن وجوه امکان‌پذیر نخواهد بود. +زمانی که فعال باشد شما پاداش اتر دریافت خواهید کرد، که به صورت دوره‌ای به آدرس برداشت شما واریز می‌گردد. -پس از شانگهای، کاربران خوهند توانست در صورت تمایل، پاداش‌ها و همچنین سهام خود را پس بگیرند. +در صورت تمایل، می‌توانید دیگر اعتبارسنج نباشید؛ بدین ترتیب، نیاز به آنلاین بودن از بین می‌رود و دریافت هرگونه پاداش بیشتر متوقف می‌شود. موجودی باقیمانده شما نیز سپس به آدرس برداشتی که در زمان تنظیمات اختصاص داده بودید واریز خواهد شد. + +[اطلاعات بیشتر درباره برداشت‌های سهامگذاری](/staking/withdrawals/) ## با Staking Launchpad کار را شروع کنید {#get-started-on-the-staking-launchpad} @@ -100,40 +103,40 @@ Staking Launchpad یک برنامه منبع‌باز است که به شما ک گزینه های مختلفی برای کمک کردن به شما در راه‌اندازی وجود دارد.‌ از شاخص‌های بالا برای راهنمایی درباره ابزارهای زیر استفاده کنید. - -لطفاً از اهمیت انتخاب کلاینت اقلیت غافل نشوید، زیرا امنیت شبکه را بهبود می‌بخشد و ریسک شما را محدود می‌کند. ابزارهایی که به شما امکان می‌دهند کلاینت اقلیت را راه‌اندازی کنید با عنوان «چندکلاینتی» نشان داده می‌شوند. - + #### ابزارهای گره +لطفاً از اهمیت انتخاب [کلاینت اقلیت](/developers/docs/nodes-and-clients/client-diversity/) غافل نشوید، زیرا امنیت شبکه را بهبود می‌بخشد و ریسک شما را محدود می‌کند. ابزارهایی که به شما امکان می‌دهند کاربر اقلیت را راه‌اندازی کنید با عنوان «چندکاربری» نشان داده می‌شوند. + #### تولید‌کنندگان کلید این ابزارها می‌توانند به‌عنوان جایگزینی برای [Staking Deposit CLI](https://github.com/ethereum/staking-deposit-cli/) برای کمک به تولید کلید استفاده شوند. -ابزار سهام‌گذاری‌ای را پیشنهاد می‌دهید که نگنجانده‌ایم؟ [خط‌مشی فهرست‌بندی محصول](/contributing/adding-staking-products/) ما را برای اطمینان از مناسب بودن آن و ارسال آن جهت بررسی مشاهده کنید. +ابزار سهامگذاری‌‌ می‌شناسید که نگنجانده‌ایم؟ [سیاست فهرست‌بندی محصول](/contributing/adding-staking-products/) ما را برای اطمینان از مناسب بودن آن و ثبت آن جهت بررسی مشاهده کنید. ## مشاهده‌ی راهنماهای سهام‌گذاری انفرادی {#staking-guides} -## سؤالات متداول {#faq} +## پرسش‌های متداول {#faq} -این ها چند مورد از متداول‌ترین سؤالات مربوط به سهام‌گذاری هستند که ارزش دانستن دارند. +اینها چند مورد از متداول‌ترین سؤالات مربوط به سهام‌گذاری هستند که ارزش دانستن دارند. -_اعتبارسنج_ یک موجودیت مجازی است که بر روی اتریوم زندگی می کند و در اجماع پروتکل اتریوم شرکت می کند. اعتبارسنج‌ها با موجودی، کلید عمومی و سایر مشخصات نشان داده می‌شوند. _کلاینت اعتبارسنج_ نرم افزاری است که با نگه داشتن و استفاده از کلید خصوصی از طرف اعتبارسنج عمل می‌کند. یک کلاینت اعتبارسنج منفرد می‌تواند چندین جفت کلید را در خود نگه دارد و اعتبارسنج‌های زیادی را کنترل کند. +یک اعتبارسنج یک موجود مجازی است که بر روی اتریوم زندگی می‌کند و در اجماع پروتکل اتریوم مشارکت می‌کند. اعتبارسنج‌ها با موجودی، کلید عمومی و سایر مشخصات نشان داده می‌شوند. کلاینت اعتبارسنج نرم‌افزاری است که با نگه داشتن و استفاده از کلید خصوصی آن، از طرف اعتبارسنج عمل می‌کند. یک کلاینت اعتبارسنج منفرد می‌تواند چندین جفت کلید را در خود نگه دارد و اعتبارسنج‌های زیادی را کنترل کند. هر جفت کلید مرتبط با یک اعتبارسنج دقیقاً به 32 اتر نیاز دارد تا فعال شود. واریز کردن اتر بیشتر به یک مجموعه کلید، پتانسیل پاداش را افزایش نمی‌دهد، زیرا هر اعتبارسنج محدود به موجودی مؤثر 32 اتر است. این بدان معنی است که سهام‌گذاری با افزایش‌های 32 اتری انجام می‌شود که هر کدام مجموعه‌ای از کلیدها و موجودی خاص خود را دارند. -بیش از 32 اتر برای یک اعتبارسنج واریز نکنید. این کار پاداش‌های شما را افزایش نخواهد داد و اعتبارسنج تا زمان به‌روزرسانی برنامه‌ریزی‌شده شانگهای قفل خواهد شد. +بیش از 32 اتر برای یک اعتبارسنج واریز نکنید. این کار پاداش‌های شما را زیادتر نمی‌کند. اگر یک آدرس برداشت برای اعتبارسنج تنظیم شده‌ باشد، وجوه بیشتر از 32 اتر به صورت خودکار به این آدرس در طی نوبت اعتبارسنج بعدی واریز خواهد شد. اگر سهام‌گذاری انفرادی برای شما بسیار سخت به نظر می‌رسد، از یک ارائه‌دهنده‌ی سهام‌گذاری به‌عنوان سرویس استفاده کنید، یا اگر با کمتر از 32 اتر کار می‌کنید، استخرهای سهام‌گذاری را بررسی کنید. @@ -155,8 +158,10 @@ _اعتبارسنج_ یک موجودیت مجازی است که بر روی ات اشکالات برابر در کلاینت اقلیت هرگز نهایی نمی‌شوند و بنابراین هرگز منجر به رأی فراگیر نمی‌شوند و صرفاً منجر به جریمه‌های عدم فعالیت و نه برخورد شدید می‌شوند. -

درباره اهمیت اجرای یک کلاینت اقلیت بیشتر بدانید.

-

درباره پیشگیری از برخورد شدید بیشتر بدانید

+ @@ -175,6 +180,19 @@ _اعتبارسنج_ یک موجودیت مجازی است که بر روی ات جریمه‌های آفلاین بودن متناسب با تعداد کلاینت‌های دیگری است که همزمان آفلاین هستند. استفاده از VPS ریسک شدیدتر شدن جریمه‌های آفلاین بودن را تا حد زیادی افزایش می‌دهد و در صورتی که قطعی به اندازه کافی بزرگ باشد، خطر نشت درجه دوم یا کاهش را افزایش می‌دهد. برای به حداقل رساندن خطر خود و شبکه، به کاربران قویاً توصیه می‌شود که سخت‌افزار خود را تهیه کنند و اجرا کنند. + + +هر نوع برداشت از زنجیره بیکن نیازمند آن است که جزئیات رمز برداشت تنظیم شوند. + +سهامگذاران جدید این را در زمان تولید کلید و واریز تنظیم می‌کنند. سهامگذاران کنونی که قبلا این قسمت را تنظیم نکرده‌اند می‌توانند کلیدهایشان را برای پشتیبانی از این عملکرد ارتقا دهند. + +به محض تنظیم کردن اطالاعات رمز برداشت، پرداخت‌های پاداش (اتر جمع شده و بدست آمده از 32 اتر اولیه) به صورت دوره ای و به صورت خودکار به آدرس برداشت توزیع خواهد شد. + +برای باز کردن و بازپس‌گیری کل موجودی تان باید فرایند خروج از اعتبارسنج خود را نیز تکمیل کنید. + +اطلاعات بیشتر درباره برداشت‌های سهامگذاری + + ## بیشتر بخوانید {#further-reading} - [مشکل تنوع کلاینت اتریوم](https://hackernoon.com/ethereums-client-diversity-problem) - _@emmanuelawosika 2022_ diff --git a/src/content/translations/fa/staking/withdrawals/index.md b/src/content/translations/fa/staking/withdrawals/index.md new file mode 100644 index 00000000000..6bee3f0baa9 --- /dev/null +++ b/src/content/translations/fa/staking/withdrawals/index.md @@ -0,0 +1,218 @@ +--- +title: برداشت‌ها از سهام‌گذاری +description: این صفحه به طور خلاصه بیان می‌کند که برداشت‌های سهامگذاری خودکار چه هستند، چطور کار می‌کنند، و سهامگذاران برای دریافت پاداش‌هایشان به چه کار باید انجام بدهند +lang: fa +template: staking +image: ../../../../../assets/staking/leslie-withdrawal.png +alt: لزلی (Leslie) کرگدن، با پاداش سهام گذاری‌اش +sidebarDepth: 2 +summaryPoints: + - ارتقاء شانگهای/کاپلا برداشت‌های سهامگذاری را روی اتریوم فعال کرد + - اپراتورهای اعتبارسنج باید یک آدرس برداشت را برای فعالسازی فراهم کنند + - پاداش ها هر چند روز یک بار به صورت خودکار توزیع می‌شوند + - اعتبارسنج‌هایی که از سهامگذاری کاملاً خارج می‌شوند موجودی باقیمانده خود را دریافت خواهند نمود +--- + + +برداشت‌های سهامگذاری همراه با ارتقاء شانگهای/کاپلا که در 12 آوریل 2023 رخ داد فعال شدند. اطلاعات بیشتر درباره شانگهای/کاپلا + + +**برداشت‌های سهامگذاری** اشاره به انتقال‌های اتر از یک حساب اعتبارسنج روی لایه اجماعی اتریوم (زنجیره بیکن) به لایه اجرایی که می‌تواند در آنجا معامله شود دارند. + +**پرداخت پاداش موجودی اضافه** بیشتر از 32 اتر به صورت خودکار و مرتب به آدرس برداشت متصل به هر اعتبارسنج، که قبلاً یک بار توسط کاربر فراهم شده است ارسال خواهد شد. کاربران همچنین می‌توانند **کاملاً از سهامگذاری خارج شوند**، که کل موجودی اعتبارسنج‌ آنها را باز خواهد کرد. + +## پاداش‌های سهام‌گذاری {#staking-rewards} + +پرداخت پاداش‌ها به صورت خودکار برای حساب‌های اعتبارسنج فعال همراه با حداکثر موجودی مؤثر 32 اتری پردازش می‌شوند. + +هرگونه موجودی بالاتر از 32 اتر که از طریق پاداش‌ها به دست می‌آید، در واقع به اصل کار کمک نمی‌کند یا وزن این اعتبارسنج را در شبکه افزایش نمی‌دهد، و بنابراین به‌طور خودکار هر چند روز یک‌بار به‌عنوان پرداخت پاداش برداشت می‌شود. جدا از ارائه یک باره‌ آدرس برداشت، این پاداش‌ها نیازی به هیچ اقدامی از سوی اپراتور اعتبارسنج ندارند. همه اینها در لایه اجماع فعال می‌شوند، بنابراین هیچ گسی (کارمزد معامله) در هیچ مرحله‌ای مورد نیاز نیست. + +### چطور به اینجا رسیدیم؟ {#how-did-we-get-here} + +اتریوم طی چند سال گذشته تحت چندین ارتقاء شبکه قرار گرفته است و به جای ماینینگ انرژی‌بر که در گذشته وجود داشت، به شبکه‌ای که توسط خود اتریوم ایمن‌سازی شده تبدیل شده است. مشارکت در اجماع روی اتریوم اکنون تحت عنوان "سهامگذاری" شناخته می شود، زیرا شرکت‌کنندگان به‌طور داوطلبانه اتر را قفل کرده‌اند، و آن را برای امکان مشارکت در شبکه "در وضعیت سهامگذاری" قرار داده‌اند. کاربرانی که از قوانین تبعیت می‌کنند پاداش می‌گیرند، و هر تلاشی برای تقلب می‌تواند جریمه شود. + +از زمان راه‌اندازی قرارداد سپرده‌گذاری سهام در نوامبر 2020، برخی از پیشگامان شجاع اتریوم به‌طور داوطلبانه وجوهی را برای فعالسازی «اعتبارسنج‌ها» قفل کرده‌اند، یعنی حساب‌های ویژه‌ای که بر اساس قوانین شبکه،‌حق تصدیق رسمی و پیشنهاد بلوک‌ها را دارند. + +قبل از ارتقاء شانگهای/کاپلا، نمی‌توانید به اتر سهامگذاری شده خود دسترسی داشته باشید یا از آن استفاده کنید. اما الان، می‌توانید انتخاب کنید که پاداش‌های خود را به صورت خودکار در یک حساب منتخب دریافت کنید، و نیز می‌توانید اتر سهامگذاری شده خود را هر زمان که بخواهید برداشت کنید. + +### چگونه آماده شوم؟ {#how-do-i-prepare} + + + +### اطلاعیه های مهم {#important-notices} + +ارائه یک آدرس برداشت، یک قدم ضروری برای هر حساب اعتبارسنج قبل از واجد شرایط بودن آن برای برداشت اتر از موجودی آن است. + + + هر حساب اعتبارسنج می‌تواند فقط یک بار تنها به یک آدرس برداشت اختصاص یابد. پس از انتخاب یک آدرس و ارسال آن به لایه اجماع، نمی‌توان آن را لغو کرد یا دوباره تغییر داد. مالکیت و صحت آدرس ارائه شده را قبل از ثبت دوباره بررسی کنید. + + +در این میان هیچ تهدیدی برای وجوه شما به دلیل ارائه نکردن این مورد وجود ندارد، با این فرض که عبارت بازیابی شما در محیطی آفلاین نگهداری می‌شود و به هیچ وجه به خطر نیفتاده است. عدم افزودن اطلاعات رمز برداشت صرفاً اتر را تا زمانی که آدرس برداشت ارائه شود در حساب اعتبارسنج قفل می‌کند. + +## خروج کامل از سهامگذاری {#exiting-staking-entirely} + +فراهم کردن آدرس برداشت قبل از اینکه _هر_ انتقال وجهی بتواند به خارج از موجودی حساب اعتبارسنج منتقل شود الزامی است. + +کاربرانی که قصد خروج کامل از سهامگذاری و برداشت کامل موجودی خود را دارند، باید پیام "خروج داوطلبانه" را که روند خروج از سهامگذاری را آغاز خواهد کرد با کلیدهای اعتبارسنج امضا و مخابره کنند. این امر با کاربر اعتبارسنج شما انجام می‌شود و در گره اجماع شما ثبت می‌شود، و نیازی به پرداخت گس ندارد. + +فرآیند خروج یک اعتبارسنج از سهامگذاری، بسته به تعداد دیگری که همزمان خارج می‌شوند، زمان متغیری را می‌طلبد. پس از تکمیل، این حساب دیگر مسئول انجام وظایف اعتبارسنج در شبکه نخواهد بود، و دیگر واجد شرایط دریافت پاداش‌ها نیست، و اتر آن دیگر "در وضعیت سهامگذاری" نیست. در این زمان حساب، نشان کاملاً "قابل برداشت" را دریافت خواهد کرد. + +هنگامی که یک حساب نشان "قابل برداشت" را دریافت کند، و اطلاعات رمز برداشت ارائه شدند، کاربر به غیر از انتظار کشیدن کار دیگری لازم نیست انجام بدهد. حساب‌ها به‌طور خودکار و به‌طور مداوم توسط پیشنهادکنندگان بلوک برای وجوه خارج شده واجد شرایط جابجا می‌شوند، و موجودی حساب شما به‌طور کامل (که به عنوان "برداشت کامل" نیز شناخته می‌شود) در جابجایی بعدی منتقل می‌شود. + +## برداشت‌های سهامگذاری چه موقع فعال می‌شوند؟ {#when} + +برداشت‌های سهامگذاری فعال هستند! عملکرد برداشت به عنوان بخشی از ارتقاء شانگهای/کاپلا که در تاریخ 12 آوریل 2023 روی داد فعال شد. + +ارتقاء شانگهای/کاپلا این امکان را فراهم کرد که اتر سهامگذاری شده در درون حساب‌های معمول اتریوم بازپس گرفته شود. این امر حلقه نقدینگی سهامگذاری را بست و اتریوم را یک قدم به مسیر ساختن یک اکوسیستم غیرمتمرکز پایدار، مقیاس‌پذیر و امن نزدیک‌تر کرد. + +- [اطلاعات بیشتر درباره تاریخچه اتریوم](/history/) +- [اطلاعات بیشتر درباره نقشه‌راه اتریوم](/roadmap/) + +## پرداخت برداشت‌ها چگونه انجام می‌شوند؟ {#how-do-withdrawals-work} + +اینکه آیا یک اعتبارسنج مشخص واجد شرایط برداشت است یا نه، توسط وضعیت خود حساب اعتبارسنج تعیین می‌شود. هیچ اطلاعاتی از سوی کاربر در هر زمان معین برای تعیین اینکه آیا یک حساب باید شروع به برداشت کند یا نه لازم نیست - کل فرآیند به طور خودکار توسط لایه اجماع در یک حلقه پیوسته انجام می‌شود. + +### فردی هستید که با توضیحات تصویری راحت‌ترید؟ {#visual-learner} + +این توضیحات برداشت‌های سهامگذاری اتریوم ارائه شده از سوی Finematics را مرور کنید: + + + +### «انتقال» بین اعتبارسنج‌ها {#validator-sweeping} + +زمانی که یک اعتبارسنج قرار است بلوک بعدی را پیشنهاد کند، باید یک صف برداشت ایجاد کند، نهایتاً تا 16 برداشت واجد شرایط. این کار با شروع با شاخص اعتبارسنج 0 انجام می‌شود، یعنی تعیین اینکه آیا برداشت واجد شرایطی برای این حساب طبق قوانین پروتکل وجود دارد یا نه، و در صورت وجود آن را به صف اضافه کند. کار اعتبارسنج تنظیم شده برای پیشنهاد بلوک بعدی از جایی که آخرین بلوک متوقف شده است ادامه می‌یابد و این روند به‌ترتیب به طور نامحدود پیش می‌رود. + + +به یک ساعت آنالوگ فکر کنید. عقربه روی آن به ساعت اشاره می‌کند، در یک جهت پیش می‌رود، از روی هیچ ساعتی نمی‌‌پرد و در نهایت پس از رسیدن به آخرین عدد، دوباره از ابتدا شروع به چرخیدن می‌کند.

+اکنون به جای اعداد 1 تا 12، تصور کنید ساعت دارای اعداد 0 تا N داشته باشد ( تا ژانویه 2023 تعداد کل حساب های اعتبارسنج که تا کنون در لایه اجماع ثبت شده اند، بیش از 500،000 بوده است).

+عقربه روی ساعت به اعتبارسنج بعدی اشاره می‌کند که باید برای برداشت‌های واجد شرایط بررسی شود. این روند از عدد 0 شروع می‌شود، و بدون پریدن و رد شدن از هر حساب تا آخر پیش می‌رود. وقتی که به آخرین اعتبارسنج دست یافت، چرخه پیوسته به آغاز مسیر باز می‌گردد. +
+ +#### بررسی یک حساب برای برداشت {#checking-an-account-for-withdrawals} + +در حالی که یک پیشنهاددهنده در حال جابجایی بین اعتبارسنج‌ها برای برداشت‌های احتمالی است، هر اعتبارسنج که بررسی می‌شود با یک سری سوالات کوتاه ارزیابی می‌شود تا مشخص شود که آیا برداشت باید آغاز شود یا نه، و اگر چنین است، چه مقدار اتر باید برداشت شود. + +1. **آیا یک آدرس برداشت ارائه شده است؟** اگر هیچ آدرس برداشتی ارائه نشده است، از حساب عبور می‌کند و هیچ برداشتی انجام نمی‌شود. +2. ** آیا اعتبارسنج خارج شده و قابل برداشت است؟** اگر اعتبارسنج به طور کامل خارج شده باشد، و ما به ایپوکی رسیده باشیم که حساب آن "قابل برداشت" در نظر گرفته شود، برداشت کامل انجام می‌شود. با این کار کل موجودی باقیمانده به آدرس برداشت منتقل می‌شود. +3. **آیا موجودی مؤثر حداکثر 32 اتر است؟** اگر حساب دارای اطلاعات رمز برداشت باشد، به طور کامل از آن خارج نشده باشد، و دارای پاداش های در حال انتظار بالاتر از 32 باشد، یک برداشت جزئی پردازش خواهد شد که فقط پاداش‌های بالای 32 را به آدرس برداشت کاربر منتقل می‌کند. + +تنها دو اقدام وجود دارد که توسط اپراتورهای اعتبارسنج در طول چرخه عمر اعتبارسنج انجام می‌شود که مستقیماً بر این جریان تأثیر می‌گذارد: + +- ارائه اطلاعات رمز برداشت برای فعالسازی هر شکلی از برداشت +- خروج از شبکه، که منجر به برداشت کامل خواهد شد + +### بدون گس {#gas-free} + +این رویکرد برای برداشت‌های سهامگذاری از الزام سهامگذاران به ثبت دستی تراکنشی که درخواست برداشت مقدار خاصی از اتر را دارند، اجتناب می‌کند. این بدان معناست که **نیازی به گس (کارمزد تراکنش) نیست**، و برداشت‌ها نیز برای فضای بلوک لایه اجرایی موجود رقابت نمی‌کنند. + +### هر چند وقت یک‌بار پاداش‌های سهامگذاری را دریافت خواهم کرد؟ {#how-soon} + +حداکثر 16 برداشت را می‌توان در یک بلوک پردازش کرد. با این نرخ، می‌توان 115200 برداشت اعتبارسنج را در روز پردازش کرد (با فرض تلف نشدن هرگونه اسلات). همانطور که در بالا ذکر شد، اعتبارسنج‌های بدون حق برداشت نادیده گرفته می‌شوند، و زمان پایان جابجایی را کاهش می‌دهند. + +با گسترش این محاسبه، می‌توانیم زمان پردازش تعداد معینی از برداشت‌ها را تخمین بزنیم: + + + +| شمار برداشت ها | زمان تکمیل | +| :------------: | :--------: | +| 400,000 | 3.5 روز | +| 500,000 | 4.3 روز | +| 600,000 | 5.2 روز | +| 700,000 | 6.1 روز | +| 800,000 | 7.0 روز | + + + +می‌بینید که اعتبارسنج‌های بیشتر در شبکه سرعت آن را کاهش می‌دهند. افزایش در تعداد اسلات‌های از دست رفته می‌تواند سرعت را به نسبت کاهش دهد، اما این به طور کلی نشان‌دهنده سمت کندتر خروجی‌های احتمالی است. + +## پرسش‌های متداول {#faq} + + +نه، فرآیند ارائه اطلاعات رمز برداشت یک فرایند یک‌باره است و پس از ثبت دیگر قابل تغییر نیست. + + + +با تعیین یک آدرس برداشت لایه اجرا، اطلاعات رمز برداشت آن اعتبارسنج برای همیشه تغییر کرده است. این بدان معناست که اطلاعات رمز قدیمی دیگر عمل نمی‌کنند و اطلاعات رمز جدید به یک حساب لایه اجرا هدایت می‌شود. + +آدرس‌های برداشت می‌توانند یک قرارداد هوشمند (که توسط کد آن کنترل می‌شود)، یا یک حساب دارای مالکیت خارجی (EOA، که توسط کلید خصوصی آن کنترل می‌شود) باشند. در حال حاضر این حساب‌ها هیچ راهی برای انتقال یک پیام به لایه اجماع که نشان‌دهنده تغییر اطلاعات رمز اعتبارسنج باشد ندارند، و افزودن این قابلیت پیچیدگی زائدی را به پروتکل اضافه خواهد کرد. + +به‌عنوان یک راهکار جایگزین تغییر آدرس برداشت برای یک اعتبارسنج خاص، کاربران ممکن است یک قرارداد هوشمند را به‌عنوان آدرس برداشت خود تعیین کنند که می‌تواند چرخش کلید را انجام دهد، مثلاً یک گاوصندوق. کاربرانی که وجوه خود را روی EOA خود تنظیم می‌کنند، می‌توانند یک خروج کامل برای برداشت همه وجوه سهامگذاری شده خود انجام دهند، و سپس با استفاده از اطلاعات رمز جدید مجدداً سهامگذاری کنند. + + + + +اگر بخشی از یک استخر سهامگذاری هستید یا توکن‌های سهامگذاری را نگه می‌دارید، باید با ارائه‌دهنده خود درباره جزئیات بیشتر مربوط به نحوه انجام برداشت‌های سهامگذاری مشورت کنید، چون هر سرویس رویکرد متفاوتی دارد. + +در کل، کاربران باید آزاد باشند اتر سهامگذاری شده خود را پس بگیرند، یا اینکه ارائه‌دهنده‌ مورد استفاده خود را تغییر دهند. اگر یک استخر خاص بیش از حد بزرگ شود، وجوه را می‌توان خارج کرد، بازخرید کرد، و دوباره با یک ارائه‌دهنده کوچکتر سهامگذاری کرد. یا، اگر اتر کافی جمع‌آوری کرده‌اید می‌توانید بروید سراغ سهامگذاری در خانه. + + + + +بله، تا زمانی که اعتبارسنج شما یک آدرس برداشت ارائه کرده باشد. این باید یک بار ارائه شود تا در ابتدا هر شکلی از برداشت را فعال کند، سپس پرداخت‌های پاداش به طور خودکار هر چند روز یک‌بار با هر جابجایی اعتبارسنج فعال می‌شوتد. + + + + +نه، اگر اعتبارسنج شما همچنان در شبکه فعال باشد، برداشت کامل به صورت خودکار انجام نخواهد شد. این امر مستلزم آغاز دستی یک خروج داوطلبانه است. + +به محض اینکه اعتبارسنج فرایند خروج را تکمیل کرد و با فرض اینکه حساب دارای اطلاعات رمز برداشت است، باقیمانده موجودی سپس در طی انتقال اعتبارسنج بعدی برداشت خواهد شد. + + + + +برداشت‌ها به گونه‌ای طراحی شده‌اند که به‌طور خودکار انجام می شوند و هر اتر را که به طور فعال در سهامگذاری مشارکت ندارد منتقل می‌کنند. این امر شامل تمام موجودی حساب‌هایی است که فرایند خروج را تکمیل کرده‌اند. + +امکان درخواست دستی مقادیر خاصی از اتر برای برداشت وجود ندارد. + + + + +به اپراتورهای اعتبارسنج توصیه می‌شود از صفحه برداشت‌های سکوی پرتاب سهامگذاری بازدید کنند، که در آنجا جزئیات بیشتری درباره نجوه آماده‌سازی اعتبارسنج خود برای برداشت‌ها پیدا خواهید کرد. تهیه شده، زمان‌بندی رویدادها و اطلاعات بیشتر درباره چگونگی کار برداشت‌ها. + +برای امتحان اولیه تنظیمات خود در یک شبکه آزمایشی، به صفحه سکوی پرتاب سهامگذاری شبکه آزمایشی Goerli برای شروع مراجعه کنید. + + + + +خیر. به محض اینکه یک اعتبارسنج خارج شود و موجودی کامل آن برداشت شود، هرگونه وجوه اضافی که به آن اعتبارسنج سپرده می‌شود، به‌طور خودکار به آدرس برداشت منتقل خواهد شد. برای سهامگذاری مجدد اتر، یک اعتبارسنج جدید باید فعال شود. + + +## بیشتر بخوانید {#further-reading} + +- [برداشت‌های سکوی پرتاب سهامگذاری](https://launchpad.ethereum.org/withdrawals) +- [پروتکل EIP-4895: برداشت‌های زنجیره بیکن به‌عنوان عملیات‌ها](https://eips.ethereum.org/EIPS/eip-4895) +- [تیم ویراستاران اتریوم - شانگهای](https://www.ethereumcatherders.com/shanghai_upgrade/index.html) +- [PEEPanEIP شماره 94: برداشت اتر سهامگذاری شده (آزمایشی) با Potuz & Hsiao-Wei Wang](https://www.youtube.com/watch?v=G8UstwmGtyE) +- [PEEPanEIP شماره 68: پروپوزال EIP-4895: برداشت‌های خودکار زنجیره بیکن به‌عنوان عملیات با الکس استوکس](https://www.youtube.com/watch?v=CcL9RJBljUs) +- [آشنایی با موجودی مؤثر اعتبارسنج](https://www.attestant.io/posts/understanding-validator-effective-balance/) diff --git a/src/intl/fa/page-staking.json b/src/intl/fa/page-staking.json index f5a4fff348c..a71e20d0335 100644 --- a/src/intl/fa/page-staking.json +++ b/src/intl/fa/page-staking.json @@ -1,11 +1,30 @@ { + "comp-withdrawal-comparison-current-title": "سهام‌گذاران فعلی", + "comp-withdrawal-comparison-current-li-1": "ممکن است برخی از کاربران در ابتدای راه‌اندازی واریز سهام‌گذاری خود، آدرس برداشت را ارائه کرده باشند - این کاربران، دیگر لازم نیست کاری انجام دهند", + "comp-withdrawal-comparison-current-li-2": "اکثر سهام‌گذاران در واریز اولیه، آدرس برداشت ارائه نکرده‌اند و باید اعتبارنامه برداشت خود را به روز کنند. Staking Launchpad دستورالعمل‌هایی درباره نحوه انجام این کار دارد", + "comp-withdrawal-comparison-current-p": "می‌توانید شماره شاخص اعتبارسنج خود را در اینجا وارد کنید تا ببینید آیا همچنان نیاز به به‌روزرسانی اعتبارنامه‌تان دارید یا نه (آن را می‌توانید در گزارش‌های کاربری خود پیدا کنید):", + "comp-withdrawal-comparison-new-title": "سهام‌گذاران جدید (هنوز واریز نشده‌اند)", + "comp-withdrawal-comparison-new-li-1": "به‌طور پیش‌فرض، سهام‌گذاران جدیدی که به‌دنبال فعال کردن خودکار پرداخت‌های پاداش و عملکرد برداشت هستند، باید یک آدرس برداشت اتریوم را که هنگام تولید کلیدهای اعتبارسنج خود با استفاده از ابزار Staking Deposit CLI کنترل می‌کنند ارائه کنند", + "comp-withdrawal-comparison-new-li-2": "این کار در زمان واریز الزامی نیست، اما از نیاز به بروز رسانی این کلیدها در تاریخ بعدی برای آزاد کردن وجوه شما جلوگیری می کند", + "comp-withdrawal-comparison-new-p": "سکوی پرتاب سهام‌گذاری، در فرایند همسوسازی سهام‌گذاری شما را راهنمایی خواهد کرد.", + "comp-withdrawal-comparison-new-link": "سکوی پرتاب سهام‌گذاری را مشاهده کنید", + "comp-withdrawal-credentials-placeholder": "شاخص اعتبارسنج", + "comp-withdrawal-credentials-error": "اوه! شماره شاخص اعتبارسنج را دوباره بررسی و امتحان کنید.", + "comp-withdrawal-credentials-upgraded-1": "شاخص اعتبارسنج {{validatorIndex}} برای شروع دریافت جوایز آماده است!", + "comp-withdrawal-credentials-upgraded-2": "اعتبارنامه برداشت مرتبط با آدرس اجرا:", + "comp-withdrawal-credentials-not-upgraded-1": "این اعتبار سنج باید ارتقا یابد.", + "comp-withdrawal-credentials-not-upgraded-1-testnet": "این اعتبارسنج شبکه آزمایشی Goerli باید ارتقا یابد.", + "comp-withdrawal-credentials-not-upgraded-2": "دستورالعمل‌های نحوه ارتقا را می‌توانید در Staking Launchpad پیدا کنید", + "comp-withdrawal-credentials-verify-mainnet": "در شبکه اصلی تأیید کنید", + "comp-withdrawal-credentials-verify-goerli": "در شبکه Goerli تایید کنید", + "page-staking-withdrawals-when": "ارسال شد!", "page-staking-image-alt": "تصویری از نشان کرگدن برای سکوی پرتاب سهام‌گذاری.", "page-staking-benefits-1-title": "کسب پاداش", "page-staking-benefits-1-description": "برای اقداماتی که به شبکه کمک می‌کند به اجماع برسد، پاداش داده می‌شود. برای اجرای نرم‌افزاری که به‌درستی تراکنش‌ها را در بلوک‌های جدید دسته‌بندی می‌کند و کار اعتبارسنج‌های دیگر را بررسی می‌کند پاداش دریافت خواهید کرد، زیرا این چیزی است که زنجیره را ایمن نگه می‌دارد.", "page-staking-benefits-2-title": "امنیت بهتر", "page-staking-benefits-2-description": "هر چه اتر بیشتری سهام‌گذاری شود شبکه در برابر حملات قوی‌تر می‌شود، زیرا در آن صورت برای کنترل اکثریت شبکه به اتر بیشتری نیاز است. برای تبدیل شدن به یک تهدید، باید اکثر اعتبارسنج‌ها را در اختیار داشته باشید، به این معنی که باید اکثریت اتر را در سیستم کنترل کنید – خیلی زیاد است!", "page-staking-benefits-3-title": "پایدارتر", - "page-staking-benefits-3-description": "سهام‌گذارها برای مشارکت در سیستم اثبات سهام نیازی به رایانه‌های پرمصرف ندارند - فقط یک رایانه‌ی خانگی یا تلفن هوشمند لازم است. این کار اتریوم را برای محیط زیست بهتر می‌کند.", + "page-staking-benefits-3-description": "سهام‌گذاران برای مشارکت در ایمن سازی شبکه نیازی به محاسبات اثبات کار با انرژی زیاد ندارند، به این معنی که گره های سهام‌گذاری می توانند با استفاده از انرژی بسیار کم روی سخت افزار نسبتاً متوسط اجرا شوند.", "page-staking-benefits-3-link": "اطلاعات بیشتر در مورد مصرف انرژی اتریوم", "page-staking-description": "«سهام‌گذاری» عمل واریز 32 اتر برای فعال کردن نرم‌افزار اعتبارسنج است. به‌عنوان یک اعتبارسنج، مسئولیت ذخیره داده‌ها، پردازش تراکنش‌ها و افزودن بلوک‌های جدید به بلاک چین را بر عهده خواهید داشت. این امر اتریوم را برای همه ایمن نگه می‌دارد و در این فرایند اتریوم جدیدی برای شما به ارمغان می‌آورد.", "page-staking-hero-title": "چگونه اتر خود را سهام گذاری کنیم", @@ -20,6 +39,8 @@ "page-staking-more-on-saas": "اطلاعات بیشتر در مورد سهام‌گذاری به‌عنوان سرویس", "page-staking-learn-more-saas": "بیشتر در مورد سهام‌گذاری به عنوان سرویس", "page-staking-dropdown-pools": "سهام‌گذاری گروهی", + "page-staking-dropdown-withdrawals": "در مورد برداشت ها", + "page-staking-dropdown-dvt": "فناوری اعتبارسنج توزیع شده", "page-staking-more-on-pools": "اطلاعات بیشتر درباره سهام‌گذاری ادغام‌شده", "page-staking-learn-more-pools": "درباره سهام‌گذاری مشترک بیشتر بدانید", "page-staking-section-what-title": "سهام‌گذاری چیست؟", @@ -27,6 +48,11 @@ "page-staking-section-why-title": "چرا بهتر است اتر خود را سهام‌گذاری کنید؟", "page-staking-section-why-p1": "همه‌چیز به این بستگی دارد که شما چقدر مایل به سهام‌گذاری هستید. برای فعال کردن اعتبارسنج خودتان به 32 اتر نیاز دارید، اما امکان سهام‌گذاری مقدار کمتر هم وجود دارد.", "page-staking-section-why-p2": "گزینه‌های زیر را بررسی کنید و به سراغ گزینه‌ای بروید که برای شما و شبکه بهترین است.", + "page-staking-guide-title-coincashew-ethereum": "راهنمای اتریوم 2.0 از CoinCashew", + "page-staking-guide-title-somer-esat": "Somer Esat", + "page-staking-guide-title-rocket-pool": "اپراتورهای گره استخر راکت", + "page-staking-guide-description-linux": "Linux (رابط خط فرمان)", + "page-staking-guide-description-mac-linux": "Linux, macOS (رابط خط فرمان)", "page-staking-hierarchy-solo-h2": "سهام‌گذاری انفرادی در خانه", "page-staking-hierarchy-solo-pill-1": "تأثیرگذارترین", "page-staking-hierarchy-solo-pill-2": "تسلط کامل", @@ -56,7 +82,7 @@ "page-staking-hierarchy-cex-p3": "اگر با نگه داشتن کلیدهای خود راحت نیستید، اشکالی ندارد. این گزینه‌ها برای شما هستند. در ضمن، به صفحه کیف پول ما مراجعه کنید؛ در آنجا می‌توانید یاد بگیرید چگونه مالکیت واقعی بر وجوه خود را در دست بگیرید. هنگامی که آماده شدید، برگردید و با امتحان کردن یکی از سرویس‌های سهام‌گذاری مشترک که امکان نگهداری از مدارک شناسایی را در اختیارتان قرار می‌دهد، دانش سهام‌گذاری خود را ارتقا دهید.", "page-staking-hierarchy-subtext": "همان‌طور که ممکن است متوجه شده باشید، راه‌های زیادی برای شرکت در سهام‌گذاری اتریوم وجود دارد. این مسیرها طیف گسترده‌ای از کاربران را هدف قرار می‌دهند و در نهایت هر کدام منحصر به فرد هستند و از نظر خطرات، پاداش‌ها و مفروضات اعتماد متفاوت هستند. برخی از آن‌ها غیرمتمرکزتر، بررسی‌شده‌تر و/یا خطرناک‌تر از دیگران هستند. ما برخی اطلاعات را در مورد پروژه‌های پرطرفدار در فضا ارائه می‌کنیم، اما همیشه قبل از ارسال اتر به هر جایی، تحقیق خود را انجام دهید.", "page-staking-comparison-solo-saas": "شما توسط ارائه‌دهندگان SaaS هم همچنان باید 32 اتر را واریز کنید، اما نیازی به اجرای سخت‌افزار ندارید. شما معمولاً دسترسی به کلیدهای اعتبارسنجی خود را حفظ می‌کنید، اما در عین حال باید کلیدهای امضای خود را به اشتراک بگذارید تا عملگر بتواند از طرف اعتبارسنج شما عمل کند. این کار یک لایه‌ی اعتماد را شکل می‌دهد که در هنگام اجرای سخت‌افزار شما وجود ندارد، و بر خلاف سهام‌گذاری انفرادی در خانه، SaaS چندان به توزیع جغرافیایی گره‌ها کمک نمی‌کند. اگر با اجرای سخت‌افزار راحت نیستید اما همچنان به دنبال به اشتراک گذاشتن 32 اتر هستید، استفاده از یک ارائه‌دهنده‌ی SaaS ممکن است گزینه‌ی خوبی برای شما باشد.", - "page-staking-comparison-solo-pools": "سهام‌گذاری انفرادی بار کاری بسیار بیشتری نسبت به سهام‌گذاری از طریق یک سرویس تجمیع دارد، اما دسترسی کامل به پاداش‌های اتر و کنترل کامل بر تنظیمات و امنیت اعتبارسنجی شما را ارائه می‌دهد. سهام‌گذاری مشترک حد ورود بسیار پایین‌تری دارد. کاربران می‌توانند مقادیر کمی از اتر را به اشتراک بگذارند، نیازی به تولید کلیدهای اعتبارسنج ندارند، و نیازی به سخت‌افزار فراتر از اتصال استاندارد به اینترنت ندارند. توکن‌های نقدینگی امکان خروج از سهام‌گذاری را قبل از فعال شدن در سطح پروتکل فراهم می‌کنند. اگر به این ویژگی‌ها علاقه دارید، سهام‌گذاری مشترک ", + "page-staking-comparison-solo-pools": "سهام گذاری انفرادی به طور قابل ملاحظه بار کاری بیشتری از سهام گذاری با سرویس مشترک دارد، اما دسترسی کامل به پاداش های اتر و کنترل کامل بر تنظیمات و امنیت اعتبارسنج شما را ارائه می دهد. سهام گذاری مشترک حد ورودی بسیار کمتری دارد. کاربران می توانند مقادیر کمی از اتر را سهام گذاری کنند، نیازی به تولید کردن کلید های اعتبارسنج نیست، و نیاز به سخت افزاری فراتر از اتصال استاندارد به اینترنت ندارند. توکن های نقدینگی امکان خروج از سهام گذاری را قبل از فعال شدن در سطح پروتکل فراهم می کنند. اگر به این ویژگی ها علاقه مند هستید، سهام گذاری مشترک ممکن است مناسب باشد.", "page-staking-comparison-saas-solo": "شباهت‌ها شامل داشتن کلیدهای اعتبارسنج خود بدون نیاز به تجمیع وجوه است، اما با SaaS باید به شخص ثالث اعتماد کنید، که ممکن است به‌طور بالقوه به طور مخرب عمل کند یا خود هدف حمله نظارت قرار گیرد. اگر این مفروضات مربوط به اعتماد یا خطرات تمرکزگرایی شما را نگران می‌کند، استاندارد طلایی سهام‌گذاری مستقل، سهام‌گذاری انفرادی است.", "page-staking-comparison-saas-pools": "این‌ها از این جهت مشابه هستند که شما معمولاً به شخص دیگری برای اجرای کلاینت اعتبارسنج متکی هستید، اما برخلاف SaaS، سهام‌گذاری مشترک به شما امکان می‌دهد با مقادیر کمتری از اتر مشارکت کنید. اگر می‌خواهید با کمتر از 32 اتر سهام‌گذاری کنید، این موارد را بررسی کنید.", "page-staking-comparison-pools-solo": "سهام‌گذاری مشترک در مقایسه با سهام‌گذاری انفرادی، حد ورود بسیار کمتری دارد، اما با واگذاری تمام عملیات‌های گره به شخص ثالث و با هزینه، خطر بیشتری را به همراه دارد. سهام‌گذاری انفرادی، حاکمیت و کنترل کاملی را برای گزینه‌هایی که جهت انتخاب مجموعه‌ی سهام‌گذاری در نظر گرفته می‌شود، ارائه می‌دهد. سهام‌گذارها هرگز مجبور نیستند کلیدهای خود را تحویل دهند و بدون هیچ واسطه‌ای پاداش کامل دریافت می‌کنند.", @@ -84,9 +110,9 @@ "page-staking-considerations-solo-6-valid": "بدون نیاز به مجوز", "page-staking-considerations-solo-6-warning": "نیازمند مجوز", "page-staking-considerations-solo-7-title": "چندکلاینتی", - "page-staking-considerations-solo-7-description": "نرم‌افزار به کاربران امکان می‌دهد حداقل از دو یا چند کلاینت لایه‌ی اجماع انتخاب کرده و بین آن‌ها جابجا شوند", + "page-staking-considerations-solo-7-description": "نرم افزار به کاربران امکان می دهد از میان حداقل دو یا چند کاربر اجرایی و دو یا چند کاربر لایه اجماعی را انتخاب کنند و بین آنها جابجا شوند", "page-staking-considerations-solo-7-valid": "جابجایی آسان بین کلاینت‌ها", - "page-staking-considerations-solo-7-warning": "محدود به کلاینت اکثریت", + "page-staking-considerations-solo-7-warning": "محدود به کاربر اکثریت", "page-staking-considerations-solo-8-title": "نگهداری مدارک شناسایی توسط خود", "page-staking-considerations-solo-8-description": "کاربر هر گونه مدارک شناسایی اعتبارسنج، از جمله کلیدهای امضا و برداشت را نزد خود نگه می‌دارد", "page-staking-considerations-solo-8-warning": "نگهداری مدارک شناسایی توسط شخص ثالث", @@ -98,37 +124,48 @@ "page-staking-considerations-saas-6-description": "کاربران برای شرکت در این سرویس به مجوز خاصی، ثبت‌نام در حساب کاربری یا احراز هویت مشتری نیاز ندارند", "page-staking-considerations-saas-6-valid": "هر کسی میتواند بپیوندد", "page-staking-considerations-saas-6-warning": "نیازمند مجوز است", - "page-staking-considerations-saas-7-title": "کلاینت‌های متنوع", - "page-staking-considerations-saas-7-description": "سرویس نباید بیش از 50 درصد از کل اعتبارسنج‌های خود را با یک کلاینت اعتبارسنج اکثریت اجرا کند", + "page-staking-considerations-saas-7-title": "تنوع اجرا", + "page-staking-considerations-saas-7-description": "سرویس نباید بیش از 50 درصد کل اعتبارسنج‌های مجموع آن را با کاربر اجرای اکثریت اجرا کند", "page-staking-considerations-saas-7-valid": "کمتر از %50", "page-staking-considerations-saas-7-caution": "در حال حاضر ناشناخته است", "page-staking-considerations-saas-7-warning": "بیش از 50%", + "page-staking-considerations-saas-8-title": "تنوع اجماع", + "page-staking-considerations-saas-8-description": "سرویس نباید بیش از 50 درصد کل اعتبارسنج‌های مجموع آن را با کاربر اجرای اکثریت اجرا کند", + "page-staking-considerations-saas-8-valid": "کمتر از %50", + "page-staking-considerations-saas-8-caution": "در حال حاضر ناشناخته است", + "page-staking-considerations-saas-8-warning": "بیش از 50%", "page-staking-considerations-pools-5-description": "خدمات برای نگهداری از کلیدهای شما یا توزیع جوایز نیازی به اعتماد به هیچ انسانی ندارد", "page-staking-considerations-pools-6-title": "گره‌های بدون نیاز به مجوز", "page-staking-considerations-pools-6-description": "سرویس به هر کسی اجازه می‌دهد تا بدون نیاز به اجازه به عنوان یک عملگر گره برای استخر ملحق شود", - "page-staking-considerations-pools-7-description": "سرویس نباید بیش از 50 درصد از کل اعتبارسنج‌های آنها را با یک کلاینت اعتبارسنج اکثریت قابل‌توجه اجرا کند", + "page-staking-considerations-pools-7-description": "سرویس نباید بیش از 50 درصد کل اعتبارسنج‌های مجموع آن را با کاربر اجرای اکثریت اجرا کند", "page-staking-considerations-pools-8-title": "توکن‌های نقدینگی", "page-staking-considerations-pools-8-description": "توکن نقدینگی قابل‌معامله ارائه می‌دهد که نشان‌دهنده اتر سهام‌گذاری‌شده شما است که در کیف پولتان نگهداری می‌شود", "page-staking-considerations-pools-8-valid": "توکن(های) نقدینگی", "page-staking-considerations-pools-8-warning": "بدون توکن نقدینگی", - "page-staking-how-solo-works-item-1": "مقداری سخت‌افزار دریافت کنید: برای سهام‌گذاری باید یک گره را اجرا کنید.", + "page-staking-considerations-pools-9-description": "سرویس نباید بیش از 50 درصد کل اعتبارسنج‌های مجموع آن را با کاربر اجرای اکثریت اجرا کند", + "page-staking-how-solo-works-item-1": "سخت‌افزاری دریافت کنید: برای سهام‌گذاری باید یک گره را اجرا کنید", "page-staking-how-solo-works-item-2": "یک کلاینت لایه‌ی اجرا را همگام‌سازی کنید", "page-staking-how-solo-works-item-3": "یک کلاینت لایه‌ی اجماع را همگام‌سازی کنید", "page-staking-how-solo-works-item-4": "کلیدهای خود را تولید کنید و آن‌ها را در کلاینت اعتبارسنج خود بارگذاری کنید", "page-staking-how-solo-works-item-5": "بر گره‌ی خود نظارت کنید و از آن نگهداری کنید", - "page-staking-launchpad-widget-testnet-label": "شبکه‌ی تست Goerli", - "page-staking-launchpad-widget-testnet-start": "سهام‌گذاری در شبکه‌ی تست Goerli را آغاز کنید", + "page-staking-launchpad-widget-testnet-label": "شبکه تست Goerli", + "page-staking-launchpad-widget-testnet-start": "سهام‌گذاری در شبکه تست Goerli را شروع کنید", "page-staking-launchpad-widget-mainnet-label": "شبکه‌ی اصلی", "page-staking-launchpad-widget-mainnet-start": "سهام‌گذاری در شبکه‌ی اصلی را شروع کنید", "page-staking-launchpad-widget-span": "انتخاب شبکه", - "page-staking-launchpad-widget-p1": "از اعتبارسنج‌های انفرادی انتظار می‌رود قبل از به خطر انداختن وجوه، در شبکه‌ی تست Goerli، تنظیمات و مهارت‌های عملیاتی خود را آزمایش کنند. به یاد داشته باشید که انتخاب کردن یک کلاینت اقلیت مهم است، زیرا امنیت شبکه را بهبود می‌بخشد و ریسک شما را محدود می‌کند.", + "page-staking-launchpad-widget-p1": "انتظار می‌رود که اعتبارسنج های انفرادی قبل از ریسک کردن وجوه، راه‌اندازی و مهارت‌های عملیاتی خود را در شبکه آزمایشی Goerli آزمایش کنند. به یاد داشته باشید که انتخاب یک کاربر اقلیت مهم است، زیرا امنیت شبکه را بهبود می بخشد و ریسک شما را محدود می کند.", "page-staking-launchpad-widget-p2": "اگر با خط فرمان راحت هستید، می‌توانید همه‌ی چیزهای لازم را از طریق آن و با استفاده از Staking Launchpad به‌تنهایی تنظیم کنید.", "page-staking-launchpad-widget-p3": "برای آسان‌تر کردن امور، برخی از ابزارها و راهنماهای زیر را بررسی کنید که می‌توانند در کنار Staking Launchpad به شما کمک کنند کلاینت‌های خود را به‌راحتی راه‌اندازی کنید.", "page-staking-launchpad-widget-link": "راهنما و ابزارهای نرم‌افزاری", "page-staking-products-get-started": "شروع به کار", + "page-staking-dropdown-staking-options": "گزینه‌های سهام گذاری", + "page-staking-dropdown-staking-options-alt": "منوی کشویی گزینه‌های سهام‌گذاری", "page-staking-stats-box-metric-1": "کل اتر سهام‌گذاری‌شده", "page-staking-stats-box-metric-2": "کل اعتبارسنج‌ها", "page-staking-stats-box-metric-3": "APR فعلی", + "page-staking-stats-box-metric-1-tooltip": "مجموع اتر در سهام‌گذاری در رنجیره بیکون، بدون در نظر گرفتن موجودی بیش از 32 اتر", + "page-staking-stats-box-metric-2-tooltip": "تعداد حساب‌های اعتبارسنج که در حال حاضر در زنجبره بیکون فعال شده‌اند", + "page-staking-stats-box-metric-3-tooltip": "میانگین بازده مالی سالانه به ازای هر اعتبارسنج در دوره 24 ساعته گذشته", "page-staking-section-comparison-subtitle": "هیچ راه‌حل یکسانی برای سهام‌گذاری وجود ندارد و همگی آن‌ها منحصربه‌فرد هستند. در اینجا ما برخی از ریسک‌ها، پاداش‌ها و الزامات روش‌های مختلف سهام‌گذاری را مقایسه می‌کنیم.", "page-staking-section-comparison-rewards-title": "پاداش‌ها", "page-staking-section-comparison-solo-rewards-li1": "حداکثر پاداش - پاداش کامل را به‌طور مستقیم از پروتکل دریافت کنید", @@ -165,7 +202,12 @@ "page-staking-faq-3-answer-p2": "توکن‌های مشتقی وجود دارند که ممکن است نشان‌دهنده‌ی اتر سهام‌گذار باشند (یعنی rETH از Rocket Pool،‏ stETH از Lido‏، ETH2 از Coinbase). درباره‌ی استخرهای سهام‌گذاری بیشتر بدانید", "page-staking-faq-4-question": "آیا سهام‌گذاری همین حالا هم در حال اجرا است؟", "page-staking-faq-4-answer-p1": "سهام گذاری از 1 دسامبر 2020 به صورت زنده شروع شده است", - "page-staking-faq-4-answer-p2": "این بدان معنی است که در حال حاضر شرط‌بندی برای کاربران فعال است تا اتر خود را واریز کنند، یک کلاینت اعتبارسنج را اجرا کنند و شروع به کسب پاداش کنند. پس از به‌روزرسانی شانگهای، سهام‌گذاران می‌توانند جوایز و وجوه را از موجودی اعتبارسنج خود برداشت کنند.", + "page-staking-faq-4-answer-p2": "این بدان معنی است که در حال حاضر سهام گذاری برای کاربران فعال است تا ETH خود را واریز کنند، یک کاربر اعتبارسنج را اجرا کنند و شروع به کسب پاداش کنند.", + "page-staking-faq-4-answer-p3": "ارتقای شانگهای/کاپلا در 12 آوریل 2023 تکمیل شد و امکان برداشت‌های سهام‌گذاری را فراهم کرد و حلقه روی نقدینگی سهام‌گذاری را بست.", + "page-staking-faq-5-question": "چه زمانی میتوانم اتر سهام‌گذاری شده خود را برداشت کنم؟", + "page-staking-faq-5-answer-p1": "همین الان! سهام‌گذاران آزادند که در صورت تمایل، جوایز و/یا سپرده اصلی خود را از موجودی اعتبارسنج خود برداشت کنند.", + "page-staking-faq-5-answer-p2": "سهام‌گذاران همچنین در هنگام پیشنهاد بلوک‌ها، پاداش‌هایی در قالب هزینه‌ها و MEV دریافت می‌کنند که بلافاصله از طریق آدرس گیرنده هزینه تعیین‌شده در دسترس قرار می‌گیرند.", + "page-staking-faq-5-answer-link": "اطلاعات بیشتر درباره برداشت‌های سهامگذاری", "page-staking-further-reading-1-link": "چرا اثبات سهام (نوامبر 2020)", "page-staking-further-reading-author-vitalik-buterin": "ویتالیک بوترین", "page-staking-further-reading-2-link": "منطق طراحی Serenity", @@ -178,14 +220,18 @@ "page-staking-further-reading-7-link": "پایگاه دانش Beaconcha.in", "page-staking-further-reading-8-link": "محتوای آموزشی تولیدشده توسط جامعهٔ کاربران Beaconcha.in", "page-staking-further-reading-9-link": "پرسش‌های پرتکرار دربارهٔ سکوی پرتاب سهام‌گذاری اتریوم", + "page-staking-further-reading-10-link": "پایگاه دانش EthStaker", "page-staking-toc-how-to-stake-your-eth": "نحوه‌ی سهام‌گذاری کردن اتر خود", "page-staking-toc-comparison-of-options": "مقایسه‌ی گزینه‌های سهام‌گذاری", "page-staking-toc-faq": "سؤالات متداول", "page-staking-toc-further": "بیشتر بخوانید", "page-staking-dom-info-title": "سهام‌گذاری در اتریوم", "page-staking-join-community": "به اجتماع سهام‌گذاران ملحق شوید", - "page-staking-join-community-desc": "EthStaker جامعه‌ای برای تمام کسانی است که می‌خواهند درباره‌ی سهام‌گذاری در اتریوم بحث کنند. به هزاران عضو از سراسر جهان برای مشورت، حمایت و صحبت درباره‌ی تمام جوانب سهام‌گذاری بپیوندید.", + "page-staking-join-community-desc": "EthStaker گروهی برای تمام کسانی است که می‌خواهند درباره‌ سهام‌گذاری در اتریوم بحث کنند. به هزاران عضو از سراسر جهان برای مشورت، حمایت و صحبت درباره‌ تمام مسائل مربوط به سهام‌گذاری بپیوندید.", "page-staking-meta-description": "نمایی کلی از سهام‌گذاری اتریوم: خطرات، پاداش‌ها، الزامات و مکان انجام آن.", "page-staking-meta-title": "سهام‌گذاری اتریوم", - "page-upgrades-merge-btn": "اطلاعات بیشتر درباره ادغام" + "page-staking-withdrawals-important-notices": "اطلاعیه های مهم", + "page-staking-withdrawals-important-notices-desc": "برداشت هنوز در دسترس نیست. لطفاً سؤالات متداول مربوط به ادغام اتریوم 2 و پس از ادغام را برای اطلاعات بیشتر بخوانید.", + "page-upgrades-merge-btn": "اطلاعات بیشتر درباره‌ی ادغام", + "subscribe-to-ef-blog": "برای دریافت اعلان‌های ایمیلی درباره آخرین اطلاعیه‌های پروتکل در وبلاگ EF مشترک شوید." } From 87fe4365c7fb31af9aff6650aec390adacef5006 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 26 Sep 2023 16:38:13 -0600 Subject: [PATCH 22/55] Filipino content buckets (Use cases, Staking) --- src/content/translations/fil/dao/index.md | 2 +- .../fil/decentralized-identity/index.md | 185 +++++++++ src/content/translations/fil/defi/index.md | 352 ++++++++++++++++++ src/content/translations/fil/desci/index.md | 139 +++++++ src/content/translations/fil/refi/index.md | 79 ++++ .../translations/fil/smart-contracts/index.md | 84 +++++ .../translations/fil/social-networks/index.md | 121 ++++++ .../translations/fil/staking/dvt/index.md | 91 +++++ .../translations/fil/staking/pools/index.md | 85 +++++ .../translations/fil/staking/saas/index.md | 94 +++++ .../translations/fil/staking/solo/index.md | 203 ++++++++++ .../fil/staking/withdrawals/index.md | 218 +++++++++++ .../fil/page-staking-deposit-contract.json | 28 ++ src/intl/fil/page-staking.json | 237 ++++++++++++ 14 files changed, 1917 insertions(+), 1 deletion(-) create mode 100644 src/content/translations/fil/decentralized-identity/index.md create mode 100644 src/content/translations/fil/defi/index.md create mode 100644 src/content/translations/fil/desci/index.md create mode 100644 src/content/translations/fil/refi/index.md create mode 100644 src/content/translations/fil/smart-contracts/index.md create mode 100644 src/content/translations/fil/social-networks/index.md create mode 100644 src/content/translations/fil/staking/dvt/index.md create mode 100644 src/content/translations/fil/staking/pools/index.md create mode 100644 src/content/translations/fil/staking/saas/index.md create mode 100644 src/content/translations/fil/staking/solo/index.md create mode 100644 src/content/translations/fil/staking/withdrawals/index.md create mode 100644 src/intl/fil/page-staking-deposit-contract.json create mode 100644 src/intl/fil/page-staking.json diff --git a/src/content/translations/fil/dao/index.md b/src/content/translations/fil/dao/index.md index b46f2bbcd16..84d0c640849 100644 --- a/src/content/translations/fil/dao/index.md +++ b/src/content/translations/fil/dao/index.md @@ -5,7 +5,7 @@ lang: fil template: use-cases emoji: ":handshake:" sidebarDepth: 2 -image: ../../assets/use-cases/dao-2.png +image: ../../../../assets/use-cases/dao-2.png alt: Representasyon ng botohan ng DAO sa isang panukala. summaryPoint1: Mga komunidad ng mga miyembro na walang sentralisadong pamumuno. summaryPoint2: Isang ligtas na paraan para makipag-collaborate sa mga hindi kakilala sa internet. diff --git a/src/content/translations/fil/decentralized-identity/index.md b/src/content/translations/fil/decentralized-identity/index.md new file mode 100644 index 00000000000..6f7b42b0266 --- /dev/null +++ b/src/content/translations/fil/decentralized-identity/index.md @@ -0,0 +1,185 @@ +--- +title: Decentralized na identity +description: Ano ang decentralized identity at bakit ito importante? +lang: fil +template: use-cases +emoji: ":id:" +sidebarDepth: 2 +image: ../../../../assets/eth-gif-cat.png +summaryPoint1: Ang mga tradisyonal na identity system ay nakasentro sa pagbibigay, pagpapanatili at pagkontrol ng iyong mga identifier. +summaryPoint2: Inaalis ng decentralized identity ang pagdepende sa mga centralized na third party. +summaryPoint3: Dahil sa crypto, mayroon na ulit ang mga user ng mga tool para ibigay, pangasiwaan at kontrolin ang sarili nilang mga identifier at attestation. +--- + +Sinusuportahan ng identity ang halos lahat ng aspeto ng buhay mo ngayon. Sa paggamit ng mga serbisyo online, pagbubukas ng bank account, pagboto sa halalan, pagbili ng property, at paghahanap ng trabaho, kailangan mong patunayan ang iyong identity. + +Gayunpaman, matagal nang umaasa ang mga tradisyonal na identity management system sa mga centralized intermediary na nagbibigay, nangangasiwa, at kumokontrol sa iyong mga identifier at [attestation](#what-are-attestations). Ibig sabihin ito ay hindi mo makokontrol ang impormasyong nauugnay sa iyong identity o hindi ka makakapagpasya sa kung sino ang may access sa personally identifiable information (PII) at kung gaano kalawak ang access ng mga partidong ito. + +Para maayos ang mga problemang ito, mayroon kaming mga decentralized identity system na ginawa sa mga pampublikong blockchain tulad ng Ethereum. Sa tulong ng decentralized identity, mapapamahalaan ng mga indibidwal ang kanilang impormasyong nauugnay sa identity. Gamit ang mga decentralized identity solution, maaari _kang_ gumawa ng mga identifier at make-claim at mapapangasiwaan mo ang iyong mga attestation nang hindi nakadepende sa mga central authority, tulad ng mga service provider at ng pamahalaan. + +## Ano ang identity? {#what-is-identity} + +Tumutukoy ang identity sa pagkakakilala ng isang indibidwal sa kanyang sarili, ayon sa mga natatanging katangian. Tumutukoy ang identity sa pagiging isang _indibidwal_, ibig sabihin, isang partikular na tao. Ang identity ay maaari ding tumukoy sa iba pang entidad na hindi tao, gaya ng isang organisasyon o awtoridad. + +## Ano ang mga identifier? {#what-are-identifiers} + +Ang identifier ay impormasyong nagsisilbing pointer sa partikular na identity o mga identity. Kasama sa mga karaniwang identifier ang: + +- Pangalan +- Social security number/tax ID number +- Numero ng cellphone +- Petsa at lugar ng kapanganakan +- Mga kredensyal sa digital identification, hal., email address, username, avatar + +Ang mga tradisyonal na halimbawang ito ng mga identifier ay ibinibigay, pinapangasiwaan at kinokontrol ng mga central entity. Kailangan mo ng pahintulot mula sa iyong pamahalaan para palitan ang pangalan mo o mula sa isang social media platform para palitan ang handle mo. + +## Ano ang mga attestiation? {#what-are-attestations} + +Ang attestation ay isang claim na ginawa ng isang entity tungkol sa isa pang entity. Kung nakatira ka sa Estados Unidos, ang lisensya sa pagmamaneho na ibinigay sa iyo ng Department of Motor Vehicles (isang entidad) ay nagpapatunay na ikaw (isa pang entidad) ay legal na pinapayagang magmaneho ng kotse. + +Magkaiba ang mga attestation at mga identifier. Ang attestation ay _may_ mga identifier para tumukoy ng partikular na identity, at gumagawa ng claim tungkol sa isang attribute na nauugnay sa identity na ito. Kung kaya, may mga identifier ang iyong lisensya sa pagmamaneho (pangalan, petsa ng kapanganakan, address) ngunit ito rin ang pagpapatunay tungkol sa iyong legal na karapatang magmaneho. + +### Ano ang mga decentralized identifier? {#what-are-decentralized-identifiers} + +Ang mga tradisyonal na identifier tulad ng iyong legal na pangalan o email address ay umaasa sa mga third party—mga pamahalaan at email provider. Naiiba ang decentralized identifiers (DIDs)—hindi ibinibigay, pinapamahalaan, o kinokontrol ang mga ito ng anumang sentral na entity. + +Ang mga decentralized identifier ay ibinibigay, pinapangasiwaan, at kinokontrol ng mga indibidwal. Ang [Ethereum account](/developers/docs/accounts/) ay halimbawa ng isang decentralized identifier. Maaari kang gumawa ng mga account hangga't gusto mo nang hindi humihingi ng pahintulot ng kahit sino at nang hindi kinakailangang i-store ang mga ito sa isang sentral na registry. + +Ang mga decentralized identifier ay sino-store sa mga distributed ledger (blockchain) o peer-to-peer network. Dahil dito, ang decentralized identifiers (DIDs) ay [walang katulad sa mundo, nareresolba at may high availability, at mave-verify sa pamamagitan ng cryptography](https://w3c-ccg.github.io/did-primer/). Maaaring iugnay ang decentralized identifier sa iba't ibang entity, kasama na ang mga tao, organisasyon, o mga institusyon ng pamahalaan. + +## Paano naging posible ang mga decentralized identifier? {#what-makes-decentralized-identifiers-possible} + +### 1. Public Key Infrastructure (PKI) {#public-key-infrastructure} + +Ang public-key infrastructure (PKI) ay isang hakbang para sa seguridad ng impormasyon na bumubuo ng [pampublikong key](/glossary/#public-key) at [ pribadong key](/glossary/#private-key) para sa isang entity. Ang public-key cryptography ay ginagamit sa mga blockchain network upang patunayan ang identity ng user at patunayan ang pagmamay-ari sa mga digital asset. + +May pampubliko at pribadong key ang ilang decentralized identifier, tulad ng Ethereum account. Tinutukoy ng pampublikong key ang controller ng account, habang magagawa ng mga pribadong key na mag-sign at mag-decrypt ng mga mensahe para sa account na ito. Ang public key insfrastructure (PKI) ay nagbibigay ng mga patunay na kinakailangan upang i-authenticate ang mga entity at pigilan ang pagpapanggap at paggamit ng mga pekeng identity, at gumagamit ng[mga cryptographic signature](https://andersbrownworth.com/blockchain/public-private-keys/) upang i-verify ang lahat ng claim. + +### 2. Mga decentralized datastore {#decentralized-datastores} + +Ang blockchain ay nagsisilbing registry ng nave-verify na data: bukas, hindi kailangang umasa sa third party, at desentralisadong repository ng impormasyon. Dahil sa mga pampublikong blockchain, hindi kailangang i-store ang mga identifier sa mga sentralisadong registry. + +Kung kailangang kumpirmahin ng sinuman ang validity ng isang decentralized identifier, puwede nilang hanapin ang nauugnay na pampublikong key sa blockchain. Iba ito sa mga tradisyonal na identifier na nangangailangan ng mga third party para mag-authenticate. + +## Paano nagbibigay-daan ang mga "decentralized identifier" at "attestation" sa decentralized identity? {#how-decentralized-identifiers-and-attestations-enable-decentralized-identity} + +Tumutukoy ang decentralized identity sa pananaw na dapat pribado, portable, at ikaw mismo ang kumokontrol sa impormasyong nauugnay sa identity, at ang mga decentralized identifier at attestation ang mga pangunahing bahagi nito. + +Sa konteksto ng decentralized identity, ang mga attestation (kilala rin bilang [Mga Nave-verify na Kredensyal](https://www.w3.org/TR/vc-data-model/)) ay mga claim ng issuer na hindi mababago at mave-verify sa pamamagitan ng cryptography. Ang bawat "attestation" o "Nave-verify na Kredensyal" na ibinibigay ng isang entity (hal., isang organisasyon) ay iniuugnay sa decentralized identifier (DID) nito. + +Dahil naka-store ang decentralized identifiers (DIDs) sa blockchain, maaaring i-verify ng sinuman ang validity ng isang attestation sa pamamagitan ng pagsusuri sa DID ng issuer sa Ethereum. Sa madaling salita, ang blockchain ng Ethereum ay nagsisilbing pandaigdigang direktoryo na nagbibigay-daan sa pag-verify ng mga DID na nauugnay sa mga partikular na entity. + +Dahil sa mga decentralized identifier, mave-verify at ikaw mismo ang kokontrol sa mga attestation. Kahit wala na ang issuer ng attestation, palaging may patunay ang may-ari ng pinagmulan at validity ng attestation. + +Mahalaga rin ang mga decentralized identifier sa pagprotekta sa privacy ng personal na impormasyon sa pamamagitan ng decentralized identity. Halimbawa, kung magsusumite ang isang indibidwal ng patunay ng attestation (lisensya sa pagmamaneho), hindi kailangang suriin ng partidong nagve-verify ang validity ng impormasyon sa patunay. Kailangan lang ng verifier ng mga crytographic guarantee ng authenticity ng attestation at identity ng nagbigay na organisasyon para matukoy kung valid ang patunay. + +## Mga uri ng attestation sa decentralized identity {#types-of-attestations-in-decentralized-identity} + +Naiiba sa tradisyonal na pamamahala ng identity ang pag-store at pagkuha sa impormasyon ng attestation sa isang Ethereum-based na identity ecosystem. Narito ang pangkalahatang-ideya ng iba't ibang paraan ng pagbibigay, pag-store, at pag-verify ng mga attestation sa mga decentralized identity system: + +### Mga off-chain na attestation {#off-chain-attestations} + +Ang isang alalahanin sa pag-store ng mga attestation on-chain ay maaaring maglaman ang mga ito ng impormasyon na gustong panatilihing pribado ng mga indibidwal. Dahil pampubliko ang Ethereum blockchain, hindi mainam na i-store dito ang mga ganitong attestation. + +Ang solusyon ay magbigay ng mga attestation, na pinapangasiwaan ng mga user off-chain sa mga digital wallet, pero na-sign gamit ang DID ng issuer na na-store on-chain. Ang mga attestation na ito ay naka-encode bilang [mga JSON Web Token](https://en.wikipedia.org/wiki/JSON_Web_Token) at dapat maglaman ng digital signature ng issuer—na nagpapadali sa pag-verify ng mga off-chain na claim. + +Narito ang isang hypothetical na sitwasyon na nagpapaliwanag sa mga off-chain na attestation: + +1. May unibersidad (ang issuer) na gumawa ng attestation (isang digital na sertipikong pang-akademiko), na-sign ito gamit ang mga key nito, at ibinigay ito kay Bob (may-ari ng identity). + +2. Naghahanap ng trabaho si Bob at gusto niyang patunayan ang kanyang mga kwalipikasyong pang-akademiko sa isang employer, kaya ibinahagi niya ang attestation galing sa mobile wallet niya. Maaaring kumpirmahin ng kumpanya (ang verifier) ang validity ng attestation sa pamamagitan ng pagsusuri sa DID ng issuer (ibig sabihin, ang public key nito sa Ethereum). + +### Mga off-chain na attestation na may persistent access {#offchain-attestations-with-persistent-access} + +Sa ilalim ng pagsasaayos na ito, ang mga attestation ay ginagawang mga JSON file at sino-store off-chain (pinakamainam kung sa [decentralized cloud storage](/developers/docs/storage/) platform, tulad ng IPFS o Swarm). Gayunpaman, ang [ hash](/glossary/#hash) ng JSON file ay sino-store on-chain at nili-link sa DID sa pamamagitan ng isang on-chain registry. Ang nauugnay na DID ay maaaring galing sa issuer ng attestation o sa recipient. + +Sa tulong ng paraang ito, nagkakaroon ang mga attestation ng blockchain-based persistence at napapanatiling naka-encrypt at nave-verify ang impormasyon ng mga claim. Binibigyang-daan din nito ang selective na pagsisiwalat dahil maaaring i-decrypt ng may-ari ng pribadong key ang impormasyon. + +### Mga on-chain na attestation {#onchain-attestations} + +Ang mga on-chain na attestation ay pinapangasiwaan sa [mga smart contract](/developers/docs/smart-contracts/) sa Ethereum blockchain. Ang smart contract (nagsisilbing registry) ay magmamapa ng attestation sa kaukulang on-chain na decentralized identifier (isang pampublikong key). + +Narito ang isang halimbawa upang ipakita kung paano gumagana ang mga on-chain na attestation: + +1. Pinaplano ng isang kumpanya (XYZ Corp) na magbenta ng mga share sa pagmamay-ari gamit ang isang smart contract pero gusto lang nito ng mga buyer na sumailalim sa background check. + +2. Maaaring hilingin ng XYZ Corp sa kumpanyang nagsasagawa ng mga background check na magbigay ng mga on-chain na attestation sa Ethereum. Papatunayan ng attestation na ito na nakapasa ang indibidwal sa background check nang hindi inilalantad ang anumang personal na impormasyon. + +3. Maaaring suriin ng smart contract na nagbebenta ng mga share ang registry contract para sa mga identity ng mga na-screen na buyer, kung kaya, malalaman ng smart contract kung sino ang pinapahintulutang bumili ng mga shares o hindi. + +### Soulbound tokens at identity {#soulbound} + +Puwedeng gamitin ang [soulbound tokens](https://vitalik.ca/general/2022/01/26/soulbound.html)(mga non-transferable na NFT) upang kolektahin ang impormasyon na partikular sa isang wallet. Epektibo itong gumagawa ng natatanging on-chain na identity patungo sa isang partikular na Ethereum address na maaaring kinabibilangan ng mga token na kumakatawan sa mga napagtagumpayan (hal. pagtatapos ng ilang partikular na online na kurso o paglampas sa isang threshold score sa isang laro) o pakikilahok sa komunidad. + +## Mga benepisyo ng decentralized identity {#benefits-of-decentralized-identity} + +1. Sa tulong ng decentralized identity, mas makokontrol ng indibidwal ang nakakatukoy na impormasyon. Maaaring i-verify ang mga decentralized identifier at attestation nang hindi umaasa sa mga centralized na awtoridad at mga serbisyo ng third party. + +2. Ang mga decentralized identity solution ay tumutulong para magkaroon ng paraan para sa pag-verify at pamamahala ng identity ng user na hindi kailangang umasa sa third party, seamless, at nagpoprotekta sa privacy. + +3. Ginagamit ng decentralized identity ang teknolohiya ng blockchain, na bumubuo ng tiwala sa pagitan ng iba't ibang partido at nagbibigay ng mga cryptographic guarantee para patunayan ang validity ng mga attestation. + +4. Ginagawang portable ng decentralized identity ang data ng identity. Sino-store ng mga user ang mga attestation at identifier sa mobile wallet at maibabahagi nila ang mga ito sa anumang partidong gusto nila. Hindi rin nakapirmi ang mga decentralized identifier at attestation sa database ng nagbibigay na organisasyon. + +5. Magagamit ang decentralized identity sa mga bagong zero-knowledge technology na magbibigay-daan sa mga indibidwal na patunayan na pagmamay-ari o ginawa nila ang isang bagay nang hindi ibinubunyag kung ano ito. Ito ay maaaring maging pinakamahusay na paraan para pagsamahin ang tiwala at privacy para magamit sa mga bagay tulad ng pagboto. + +6. Binibigyang-daan ng decentralized identity ang mga mekanismo laban sa Sybil attack na tukuyin kapag may isang indibidwal na taong nagpapanggap bilang maraming tao para dayain o i-spam ang isang system. + +## Mga use case ng decentralized identity {#decentralized-identity-use-cases} + +Maraming posibleng use case ang decentralized identity: + +### 1. Mga universal login {#universal-dapp-logins} + +Makakatulong ang decentralized identity na palitan ang mga pag-log in gamit ang password ng [decentralized authentication](https://www.ibm.com/blogs/blockchain/2018/10/decentralized-identity-an-alternative-to-password-based-authentication/). Maaaring magbigay ang mga service provider ng mga attestation sa mga user, na maso-store sa Ethereum wallet. Ang isang halimbawa ng attestation ay isang [NFT](/nft/) na nagbibigay sa may-ari ng access sa isang online na komunidad. + +Ang function na [Mag-sign in gamit ang Ethereum](https://login.xyz/) ay magbibigay-daan sa mga server na kumpirmahin ang Ethereum account ng user at kunin ang kinakailangang attestation mula sa account address niya. Ibig sabihin nito, maa-access ng mga user ang mga platform at website nang hindi kinakailangang tandaan ang mahahabang password at mapapahusay nito ang online experience ng mga user. + +### 2. KYC authentication {#kyc-authentication} + +Sa paggamit ng mga online na serbisyo, kailangang magbigay ng mga indibidwal ng mga attestation at kredensyal, tulad ng lisensya sa pagmamaneho o pambansang pasaporte. Ngunit nagdudulot ng problema ang paraang ito dahil maaaring makompromiso ang pribadong impormasyon ng user at hindi mave-verify ng mga service provider ang authenticity ng attestation. + +Binibigyang-daan ng decentralized identity ang mga kumpanya na iwasan ang mga karaniwang prosesong [Know-Your-Customer (KYC)](https://en.wikipedia.org/wiki/Know_your_customer) at i-authenticate ang mga identity ng user sa pamamagitan ng Mga Nave-verify na Kredensyal. Pinapababa nito ang gastos sa pamamahala ng identity at pinipigilan nito ang paggamit ng pekeng dokumentasyon. + +### 3. Pagboto at mga online na komunidad {#voting-and-online-communities} + +Ang online na pagboto at social media ay dalawang bagong paggamit ng decentralized identity. Madaling mamanipula ang mga scheme ng online na pagboto, lalo kung gumawa ang mga mapanlokong actor ng mga pekeng identity para bumoto. Mapapaganda ng paghiling sa mga indibidwal na magpresenta ng mga on-chain na attestation ang integridad ng mga proseso ng online na pagboto. + +Makakatulong ang decentralized identity sa paggawa ng mga online na komunidad na walang pekeng account. Halimbawa, kailangang i-authenticate ng bawat user ang identity nila gamit ang isang on-chain na identity system, tulad ng Ethereum Name Service, na nagpapaliit sa posibilidad na mapasok ito ng mga bot. + +### 4. Proteksyon laban sa Sybil attack {#sybil-protection} + +Ang mga Sybil attack ay tumutukoy sa mga indibidwal na nagpapanggap bilang maraming tao para manlinlang ng isang system at mapalakas ang impluwensya nila. Ang [mga application na nagbibigay ng grant](https://gitcoin.co/grants/) na gumagamit ng [quadratic voting](https://www.radicalxchange.org/concepts/plural-voting/) ay madaling mabiktima ng mga Sybil attack na ito dahil madadagdagan ang halaga ng grant kapag mas maraming tao ang bumoto para dito, kaya nahihikayat ang mga user na hatiin ang kanilang mga kontribusyon sa maraming identity. Nakakatulong ang mga decentralized identity na iwasan ito sa pamamagitan ng pag-aatang sa bawat kalahok na patunayang totoong tao sila, bagama't madalas na ginagawa ito nang hindi kinakailangang isiwalat ang partikular na pribadong impormasyon. + +## Gamitin ang decentralized identity {#use-decentralized-identity} + +Maraming malalaking proyekto ang gumagamit ng Ethereum bilang pundasyon para sa mga decentralized identity solution: + +- **[Ethereum Name Service (ENS)](https://ens.domains/)** - _Isang decentralized naming system para sa mga identifier na on-chain at nababasa ng machine, tuld ng mga address sa Ethereum wallet, mga content hash, at metadata._ +- **[SpruceID](https://www.spruceid.com/)** - _Isang decentralized identity project na nagbibigay-daan sa mga user na kontrolin ang digital identity gamit ang mga Ethereum account at ENS profile sa halip na umasa sa mga serbisyo ng third party._ +- **[Ethereum Attestation Service (EAS)](https://attest.sh/)** - _Isang decentralized ledger/protocol para sa paggawa ng mga on-chain o off-chain na attestation tungkol sa anumang bagay._ +- **[Proof of Humanity](https://www.proofofhumanity.id)** - _Ang Proof of Humanity (o PoH) ay isang social identity verification system na ginawa sa Ethereum._ +- **[BrightID](https://www.brightid.org/)** - _ Isang decentralized at open-source na social identity network na naglalayong baguhin ang pag-verify ng identity sa pamamagitan ng paggawa at pagsusuri ng isang social graph._ +- **[Proof-of-personhood Passport](https://proofofpersonhood.com/)** - _Isang decentralized digital identity aggregator._ + +## Karagdagang pagbabasa {#further-reading} + +### Mga Artikulo {#articles} + +- [Mga Use Case ng Blockchain: Blockchain sa Digital Identity](https://consensys.net/blockchain-use-cases/digital-identity/) — _ConsenSys_ +- [Ano ang Ethereum ERC725? Pamamahala ng Self-Sovereign Identity sa Blockchain](https://cryptoslate.com/what-is-erc725-self-sovereign-identity-management-on-the-blockchain/) —_ Sam Town_ +- [Paano Malulutas ng Blockchain ang Suliranin sa Digital Identity](https://time.com/6142810/proof-of-humanity/) — _Andrew R. Chow_ +- [Ano ang Decentralized Identity at Bakit Dapat Kang Mag-alaala?](https://web3.hashnode.com/what-is-decentralized-identity) — _Emmanuel Awosika_ + +### Videos {#videos} + +- [Decentralized Identity (Bonus Livestream Session)](https://www.youtube.com/watch?v=ySHNB1za_SE&t=539s) — _Isang magandang video na gawa ni Andreas Antonopolous na nagpapaliwanag sa decentralized identity_ +- [Mag-sign In sa Ethereum at Decentralized Identity gamit ang Ceramic, IDX, React, at 3ID Connect](https://www.youtube.com/watch?v=t9gWZYJxk7c) — _Tutorial sa YouTube na gawa ni Nader Dabit tungkol sa pagbuo ng management system para sa paggawa, pagbabasa, at pag-update ng profile ng isang user gamit ang kanyang Ethereum wallet_ +- [BrightID - Decentralized Identity sa Ethereum](https://www.youtube.com/watch?v=D3DbMFYGRoM)— _Episode ng Bankless podcast kung saan pinag-uusapan ang BrightID, isang decentralized identity solution para sa Ethereum_ +- [The Off Chain Internet: Decentralized Identity at Mga Nave-verify na Kredensyal](https://www.youtube.com/watch?v=EZ_Bb6j87mg) — Presentation ni Evin McMullen sa EthDenver noong 2022 + +### Mga Komunidad {#communities} + +- [ERC-725 Alliance sa GitHub](https://github.com/erc725alliance) — _Mga tagasuporta ng pamantayang ERC725 para sa pamamahala ng identity sa Ethereum blockchain_ +- [SpruceID Discord server](https://discord.com/invite/Sf9tSFzrnt) — _Komunidad para sa mga tagahanga at developer na nagtatrabaho sa Mag-sign in gamit ang Ethereum_ +- [Veramo Labs](https://discord.gg/sYBUXpACh4) — _Isang komunidad ng mga developer na tumutulong sa pagbuo ng framework para sa nave-verify na data para sa mga application_ diff --git a/src/content/translations/fil/defi/index.md b/src/content/translations/fil/defi/index.md new file mode 100644 index 00000000000..15503bdf347 --- /dev/null +++ b/src/content/translations/fil/defi/index.md @@ -0,0 +1,352 @@ +--- +title: Desentralisadong Pananalapi (DeFi) +description: Pangkalahatang-ideya ng DeFi sa Ethereum +lang: fil +template: use-cases +emoji: ":money_with_wings:" +image: ../../../../assets/use-cases/defi.png +alt: Logo ng Eth na gawa sa mga lego brick. +sidebarDepth: 2 +summaryPoint1: Isang pandaigdigan at bukas na alternatibo sa kasalukuyang sistemang pinansyal. +summaryPoint2: Mga produkto na nagbibigay-daan sa iyong manghiram, mag-ipon, mag-invest, mag-trade, at iba pa. +summaryPoint3: Nakabatay sa open-source na teknolohiyang magagamit ng kahit sino para mag-program. +--- + +Ang DeFi ay isang bukas at pandaigdigang sistemang pinansyal na binuo para sa panahon ng internet - isang alternatibo sa isang sistema na mahirap unawain, mahigpit na kontrolado, at pinagbubuklod ng infrastructure at mga prosesong ilang dekada nang ginagamit. Sa tulong nito makokontrol at makikita mo ang iyong pera. Binibigyan ka nito ng pagkakataong makita ang mga pandaigdigang market at mga alternatibo sa iyong lokal na currency o mga opsyon sa pagbabangko. Binubuksan ng mga produkto ng DeFi ang mga serbisyong pinansyal sa sinumang may koneksyon sa internet at ang karamihan sa mga ito ay pagmamay-ari at pinapanatili ng mga user ng mga ito. Sa ngayon, daan-daang bilyong dolyar ng crypto na ang dumaan sa mga DeFi application at patuloy itong dumarami araw-araw. + +## Ano ang DeFi? {#what-is-defi} + +DeFi ang tawag sa mga produkto at serbisyong pinansyal na maaring gamitin ng sinumang makakagamit ng Ethereum - kahit sinong may koneksyon sa internet. Sa DeFi, laging bukas ang mga market at walang centralized na awtoridad na makakapigil ng mga pagbabayad o hindi magbibigay sa iyo ng access sa kahit ano. Ang mga serbisyong dating mabagal at nanganganib dahil sa human error ay awtomatiko at mas ligtas na ngayon dahil pinapangasiwaan na ang mga ito ng code na masusuri at mabubusisi ng kahit sino. + +Lumalaki ang ekonomiya ng crypto, kung saan puwede kang magpautang, manghiram, mag-trade, kumita ng interes, at iba pa. Gumamit ng DeFi ang mga taga-Argentina na marunong sa crypto para takasan ang matinding pagtaas ng presyo. May mga kumpanya nang nagsimulang i-stream sa kanilang mga empleyado ang kanilang mga suweldo nang real time. May ibang nakahiram at nakapagbayad ng mga loan na milyong-milyong dolyar ang halaga nang hindi nangangailangan ng anumang personal identification. + + + +## DeFi vs tradisyonal na pinansya {#defi-vs-tradfi} + +Ang isa sa mga pinakamagandang paraan upang makita ang potensyal ng DeFi ay unawain ang mga problemang umiiral ngayon. + +- May mga tao na hindi pinagkakalooban ng access para gumawa ng bank account o gumamit ng mga serbisyong pinansyal. +- Ang kakulangan ng access sa mga serbisyong pinansyal ay maaaring nakakahadlang para makahanap ng trabaho ang mga tao. +- Maaaring mapigilan ng mga serbisyong pinansyal na makuha mo ang iyong suweldo. +- Isa sa mga nakatagong singil ng mga serbisyong pinansyal ay ang iyong personal na data. +- Maaaring ipasara ng mga pamahalaan at centralized institution ang mga market kapag gusto nila. +- Ang oras ng pag-trade ay karaniwang limitado sa oras ng negosyo ng partikular na time zone. +- Maaaring abutin nang ilang araw ang mga pag-transfer ng pera dahil sa mga internal na prosesong ginagawa ng tao. +- May premium ang mga serbisyong pinansyal dahil kailangan ng mga intermediary institution ang kanilang parte. + +### Pag-kumpara {#defi-comparison} + +| DeFi | Tradisyonal na pinansya | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Hawak mo ang iyong pera. | Ang iyong pera ay hawak ng mga kumpanya. | +| Kontrolado mo kung saan mapupunta ang iyong pera at kung paano ito gagastusin. | Kailangan mong magtiwalang hindi papabayaan ng mga kumpanya ang pera mo, tulad ng pagpapahiram nito sa mga hindi mapagkakatiwalaang nangungutang. | +| Nangyayari ang mga pag-transfer ng pondo sa loob ng ilang minuto. | Maaaring tumagal nang ilang araw ang mga pagbabayad dahil sa mga manula na proseso. | +| Gumagamit ng mga hindi tunay na pangalan sa mga aktibidad sa transaksyon. | Talagang konektado ang pinansyal na aktibidad sa iyong identity. | +| Ang DeFi ay bukas para sa lahat. | Kailangan mong mag-apply para magamit ang mga serbisyong pinansyal. | +| Ang mga market ay palaging bukas. | Nagsasara ang mga market dahil kailangang magpahinga ng mga empleyado. | +| Transparency ang pundasyon nito – puwedeng tingnan ng kahit sino ang data ng produkto at suriin kung paano gumagana ang system. | Ang mga pinansyal institusyon ay parang mga saradong libro: hindi mo maaaring tingnan ang kanilang kasaysayan ng pautang, record ng mga pinapamahalaan nilang asset, at iba pa. | + + + I-explore ang mga DeFi app + + +## Nagsimula ito sa Bitcoin... {#bitcoin} + +Sa maraming paraan, ang Bitcoin ang unang DeFi application. Talagang pinapayagan ka ng Bitcoin na magmay-ari at kontrolin ang halaga nito at ipadala ito kahit saan sa mundo. Ginagawa nito ito sa pamamagitan ng pagbibigay ng paraan para sa maraming tao, na hindi umaasa sa isa't isa, na sumang-ayon sa isang ledger ng mga account na hindi nangangailangan ng isang pinagkakatiwalaang intermediary. Ang Bitcoin ay bukas sa lahat at walang sinuman ang may awtoridad na baguhin ang mga panuntunan nito. Ang mga panuntunan ng Bitcoin, tulad ng kanyang kakapusan at pagiging bukas, ay nakalagay na sa teknolohiya. Hindi ito katulad ng tradisyonal na pinansya kung saan maaaring mag-print ang mga pamahalaan ng pera na nagpapababa sa halaga ng iyong ipon at mga kumpanyang maaaring magpasara ng mga market. + +Mas pinapahusay pa ito ng Ethereum. Tulad ng Bitcoin, hindi maaaring magbago ang mga panuntunan nang biglaan at may access ang lahat. Ngunit ito rin ang dahilan kung bakit programmable ang digital money, gamit ang [mga smart contract](/glossary#smart-contract), kung kaya, hindi lang pag-store at pagpapadala ng halaga ang magagawa mo. + + + +## Programmable na pera {#programmable-money} + +Medyo kakaiba itong pakinggan... "bakit ko gugustuhing i-program ang pera ko"? Ngunit, isa itong default na feature ng mga token sa Ethereum. Kahit sino ay maaaring mag-program ng logic sa mga pagbabayad. Kaya makukuha mo ang kontrol at seguridad ng Bitcoin pati ang mga serbisyong ibinibigay ng mga pinansyal na institusyon. Dahil dito, magagawa mo sa mga cryptocurrency ang mga bagay na hindi mo magagawa sa Bitcoin, tulad ng pagpapautang at panghihiram, pag-iiskedyul ng mga pagbabayad, pag-invest sa mga index fund at iba pa. + + +
Tingnan ang aming mga rekomendasyon para sa mga DeFi application na dapat subukan kung bago ka sa Ethereum.
+ + I-explore ang mga DeFi app + +
+ +## Ano ang magagawa mo sa DeFi? {#defi-use-cases} + +May decentralized na alternatibo sa karamihan sa mga serbisyong pinansyal. Ngunit nagbibigay din ang Ethereum ng pagkakataon para gumawa ng mga bagong-bagong pinansyal na produkto. Palaging nadaragdagan ang listahang ito. + +- [Magpadala ng pera sa iba't ibang bahagi ng mundo](#send-money) +- [Mag-stream ng pera sa iba't ibang bahagi ng mundo](#stream-money) +- [Ma-access ang mga stable na currency](#stablecoins) +- [Humiram ng pondo na may collateral](#lending) +- [Humiram nang walang collateral](#flash-loans) +- [Simulan ang pag-iipon ng crypto](#saving) +- [Mag-trade ng mga token](#swaps) +- [Palaguin ang iyong portfolio](#investing) +- [Pondohan ang iyong mga ideya](#crowdfunding) +- [Bumili ng insurance](#insurance) +- [Pamahalaan ang iyong portfolio](#aggregators) + + + +### Magpadala ng pera sa iba't ibang bahagi ng mundo nang mabilis {#send-money} + +Bilang isang blockchain, ang Ethereum ay idinisenyo para magpadala ng mga transaksyon sa ligtas at pandaigdigang paraan. Tulad ng Bitcoin, pinapadali ng Ethereum ang pagpapadala ng pera sa iba't ibang bahagi ng mundo, na parang nagpapadala lang ng email. Ilagay lang ang [ENS name](/nft/#nft-domains) (tulad ng bob.eth) ng recipient mo o ang kanyang account address mula sa iyong wallet at sa loob ng ilang minuto (karaniwan), direkta na niyang matatanggap ang bayad mo. Upang magpadala o tumanggap ng mga pagbabayad, kakailanganin mo ng [wallet](/wallets/). + + + Tingnan ang mga decentralized application (dapps) para sa pagbabayad + + +#### Mag-stream ng pera sa iba't ibang bahagi ng mundo... {#stream-money} + +Maaari ka ring mag-stream ng pera sa Ethereum. Binibigyang-daan ka nitong bayaran ang suweldo ng isang tao sa kada segundo, kaya agad niyang makukuha ang pera niya kapag kailangan niya ito. O magrenta ng isang bagay kada segundi, tulad ng storage locker o electric scooter. + +At kung ayaw mong magpadala o mag-stream ng [ETH](/eth/) dahil nagbabago-bago ang halaga nito, may mga alternatibong currency sa Ethereum: mga stablecoin. + + + +### Ma-access ang mga stable na currency {#stablecoins} + +Ang volatility ng cryptocurrency ay problema para sa maraming pinansyal na produkto at pangkalahatang paggastos. Inayos ito ng komunidad ng DeFi gamit ang mga stablecoin. Ipinapareho ang halaga ng mga ito sa isa pang asset, na karaniwang mas ginagamit na currency tulad ng dolyar. + +Ang mga coin tulad ng Dai o USDC ay may halagang nananatiling malapit sa isang dolyar. Dahil dito, mainam ito para sa pagkakaroon ng kita o retail. Maraming tao sa Latin America ang gumamit ng mga stablecoin bilang paraan para protektahan ang kanilang naipong pera sa panahon ng kawalan ng katiyakan pagdating sa mga currency na mula sa kanilang pamahalaan. + + + Iba pang detalye tungkol sa mga stablecoin + + + + +### Paghiram {#lending} + +Ang paghiram ng pera mula sa mga decentralized provider ay may dalawang pangunahing uri. + +- Peer-to-peer, na nangangahulugang direktang hihiram ang borrower sa isang partikular na lender. +- Pool-based kung saan nagbibigay ng pondo (liquidity) ang mga lender sa isang pool na mahihiraman ng mga borrower. + + + Tingnan ang dapps para sa panghihiram + + +Maraming benepisyo sa paggamit ng decentralized lender... + +#### Paghiram nang may privacy {#borrowing-privacy} + +Sa kasalukuyan, ang pagpapautang at panghihiram ng pera ay nauugnay sa mga indibidwal na may kinalaman dito. Kailangang malaman ng mga bangko kung malaman na mababayaran mo ang loan bago ito magpautang. + +Ang decentralized na pagpapautang ay nangyayari nang hindi kinakailangang magpakilala ng kahit aling panig. Sa halip, ang borrower ay dapat maglaan ng collateral na awtomatikong matatanggap ng lender kung sakali hindi mabayaran ang kanilang loan. May ilang lender na tumatanggap ng NFT bilang collateral. Ang mga NFT ay titulo para sa natatanging asset, tulad ng painting. [Iba pang detalye tungkol sa mga NFT](/nft/) + +Binibigyang-daan ka nitong humiram ng pera nang walang pagsusuri ng iyong credit o pagbibigay ng pribadong impormasyon. + +#### Access sa pandaigdigang pondo {#access-global-funds} + +Kapag gumamit ka ng decentralized lender, may access ka sa pondong idineposito sa iba't ibang bahagi ng mundo, hindi lang sa pondong hawak ng pinili mong bangko o institusyon. Pinapadali nito ang pagkuha ng mga loan at pinapababa nito ang interes. + +#### Tax-efficiencies {#tax-efficiencies} + +Kapag nanghiram, maa-access mo ang pondong kailangan mo nang hindi ibinebenta ang iyong ETH (isang taxable event). Sa halip, maaari mong gamitin ang ETH bilang collateral para sa stablecoin loan. Dahil dito, makukuha mo ang cash-flow na kailangan mo at hindi mawawala sa iyo ang ETH mo. Ang mga stablecoin ay mga token na mas mainam kapag kailangan mo ng cash dahil hindi nagbabago-bago ang halaga ng mga ito gaya ng ETH. [Iba pang detalye tungkol sa mga stablecoin.](#stablecoins) + +#### Mga flash loan {#flash-loans} + +Ang mga flash loan ay mas eksperimental na uri ng decentralized na pagpapautang kung saan puwede kang humiram kahit walang collateral o nang hindi nagbibigay ng anumang personal na impormasyon. + +Sa ngayon, hindi pa ito magagamit ng mga hindi maalam sa teknolohiya, pero ipinapahiwatig ng mga ito ang mga posibleng maisagawa ng lahat sa hinaharap. + +Gumagana ito kapag inutang ang loan at binayaran ito sa iisang transaksyon. Kung hindi ito mababayaran, bababalik sa dati ang transaksyon na parang walang nangyari. + +Ang pondo na kadalasang ginagamit ay nasa mga liquidity pool (malalaking grupo ng pondo na ginagamit para sa panghihiram). Kung hindi ginagamit ang mga ito sa ngayon, binibigyan nito ng pagkakataon ang isang tao na hiramin ang pondong ito, magnegosyo gamit ang mga ito, at bayaran ang mga ito nang buo sa halos parehong pagkakataon na hiniram ito. + +Ibig sabihin nito, maraming logic na dapat isama sa isang napaka-bespoke na transaksyon. Ang isang simpleng halimbawa ay ang paggamit ng isang tao ng flash loan para manghiram ng maraming asset sa isang presyo upang maibenta ito sa ibang exchange kung saan mas mataas ang presyo. + +Kung kaya, sa iisang transaksyon, ganito ang nangyayari: + +- Humiram ka ng halagang X ng $asset sa halagang $1.00 mula sa exchange A +- Ibinenta mo ang X na $asset sa exchange B sa halagang $1.10 +- Binayaran mo ang loan sa exchange A +- Makukuha mo ang kita maliban sa bayarin sa transaksyon + +Kung biglang bumaba ang supply ng exchange B at kulang ang binili ng user para sapatan ang orihinal na loan, hindi maisasagawa ang transaksyon. + +Para magawa ang halimbawa sa itaas sa tradisyonal na mundo ng pinansya, kakailanganin mo ng napakalaking halaga ng pera. Ang mga may pera lang ang makakagamit ng mga pamamaraang ito ng pagkakapera. Ang mga flash loan ay halimbawa ng kinabukasan kung saan hindi kailangang magkaroon ng pera para kumita ng pera. + +[Iba pang detalye tungkol sa mga flash loan](https://aave.com/flash-loans/) + + + +### Magsimulang mag-ipon gamit ang crypto {#saving} + +#### Pagpapautang {#lending} + +Maaari kang kumita ng interes sa iyong crypto sa pamamagitan ng pagpapautang nito at subaybayan ang paglago ng iyong pondo nang real time. Sa ngayon, mas mataas ang interes kaysa sa karaniwang makukuha mo sa iyong lokal na bangko (kung susuwertihin kang magkaroon ng access sa isang bangko). Narito ang isang halimbawa: + +- Ipapautang mo ang iyong 100 Dai, isang [stablecoin](/stablecoins/), sa isang produkto gaya ng Aave. +- Tatanggap ka ng 100 Aave Dai (aDai) na isang token na kumakatawan sa iyong ipinautang na Dai. +- Ang iyong aDai ay tataas base sa interes at makikita mo ang paglaki ng iyong balanse sa iyong wallet. Depende sa APR, maaaring maging 100.1234 ang balanse ng iyong wallet pagkatapos ng ilang araw o maging oras! +- Maaari kang mag-withdraw ng regular na Dai na katumbas ng iyong balanse sa aDai anumang oras. + + + Tingnan ang mga decentralized application (dapps) para sa pagpapautang + + +#### Mga no-loss lottery {#no-loss-lotteries} + +Ang mga no-loss lottery tulad ng PoolTogether ay masaya at bagong paraan upang mag-ipon ng pera. + +- Bibili ka ng 100 na ticket gamit ang 100 Dai token. +- Makakatanggap ka ng 100 plDai na kumakatawan sa iyong 100 ticket. +- Kung mananalo ang isa sa mga ticket mo, tataas ang iyong plDai balance ayon sa halaga ng prize pool. +- Kung hindi ka mananalo, maililipat ang iyong 100 plDai sa draw sa susunod na linggo. +- Maaari kang mag-withdraw ng regular na Dai na katumbas ng iyong plDai balance anumang oras. + +Ang prize pool ay mula sa lahat ng interes na kinikita mula sa pagpapautang ng mga ticket deposit tulad ng nabanggit sa halimbawa sa pagpapautang sa itaas. + + + Subukan ang PoolTogether + + + + +### Mag-exchange ng mga token {#swaps} + +May libo-libong token sa Ethereum. Sa tulong ng mga decentralized exchange (DEXs), mate-trade mo ang iba't ibang token kahit kailan mo gusto. Hinding-hindi mo bibitawan ang pagkontrol sa mga asset mo. Dito, para kang gumagamit ng currency exchange kapag pumunta sa ibang bansa. Ngunit hinding-hindi nagsasara ang bersyong DeFi. Ang mga market ay bukas 24/7, 365 araw kada taon at iginagarantiya ng teknolohiya na palaging may tatanggap ng trade. + +Halimbawa, kung nais mong gamitin ang no-loss lottery na PoolTogether (na inilalarawan sa itaas), kakailanganin mo ng token tulad ng Dai o USDC. Ang mga DEX na ito ay nagbibigay-daan sa iyo na i-swap ang iyong ETH sa mga token na iyon at i-swap ito ulit kapag tapos ka na. + + + Tingnan ang mga token exchange + + + + +### Advanced trading {#trading} + +Mayroong mga mas advanced na opsyon para sa mga trader na gusto ng kaunti pang kontrol. Ang mga limit order, perpetual, margin trading, at iba pa ay posibleng gawin. Sa pamamagitan ng Decentralized trading, magkakaroon ka ng access sa global na liquidity, hinding-hindi nagsasara ang market, palagi mong makokontrol ang mga asset mo. + +Kapag gumagamit ka ng centralized exchange, dapat mong ideposito ang mga asset mo bago mag-trade at dapat mong ipaubaya sa kanila ang mga ito. Habang nakadeposito ang iyong mga asset, nanganganib ang mga ito dahil mainit sa mata ng mga hacker ang mga centralized exchange. + + + Tingnan ang mga decentralized application (dapps) para sa trading + + + + +### Palaguin ang iyong portfolio {#investing} + +May mga produkto para sa pamamahala ng pondo sa Ethereum na susubukang palaguin ang iyong portfolio batay sa estratehiyang iyong pipiliin. Ito ay awtomatiko, bukas sa lahat, at hindi nangangailangan ng manager na makikihati sa iyong kita. + +Isang magandang halimbawa ang [ DeFi Pulse Index fund (DPI)](https://defipulse.com/blog/defi-pulse-index/). Ito ay isang pondo na awtomatikong nagre-rebalance upang tiyaking palaging makikita sa portfolio mo [ang mga nangungunang DeFi token ayon sa market capitalization](https://www.coingecko.com/en/defi). Hindi mo kailangang pamahalaan ang alinman sa mga detalye at puwede kang umalis sa pondo kung kailan mo gusto. + + + Tingnan ang mga decentralized application (dapps) para sa investment + + + + +### Pondohan ang iyong mga ideya {#crowdfunding} + +Magandang platform ang Ethereum para sa crowdfunding: + +- Maaaring manggagaling ang mga potensyal na funder kahit saan – bukas ang Ethereum at ang mga token nito para sa kahit sino at kahit saang sulok ng mundo. +- Transparent ito kaya maipapakita ng mga fundraiser kung magkano na ang naipong pera. At malalaman mo kung saan napupunta o nagagastos ang lahat ng ito. +- Maaaring mag-set up ang mga fundraiser ng mga awtomatikong refund kung, halimbawa, may tiyak na takdang oras at minimum na halaga na hindi natugunan. + + + Tingnan ang mga decentralized application (dapps) para sa crowdfunding + + +#### Kwadratik na pondo {#quadratic-funding} + +Ang Ethereum ay open source na software at marami sa mga naunang gawain nito ay pinondohan ng komunidad. Dahil dito, nagkaroon ng interesante at bagong fundraising model: ang 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. Narito kung paano ito gumagana: + +1. May matching pool ng mga donasyon. +2. Magsisimula ang isang round ng public funding. +3. Maaaring ipahiwatig ng mga tao ang kanilang demand para sa isang proyekto sa pamamagitan ng pag-donate ng pera. +4. Kapag natapos na ang round, ang matching pool ay ipinapamahagi sa mga proyekto. Ang may pinakakakaibang demand ang makakakuha ng pinakamalaking halaga mula sa matching pool. + +Ibig sabihin nito, ang Proyekto A na may 100 na donasyon na nagkakahalaga ng 1 dolyar ay maaaring magkaroon ng mas maraming pondo kaysa sa Proyekto B na may isang donasyon na nagkakahalaga ng 10,000 dolyar (depende sa laki ng matching pool). + +[Iba pang detalye tungkol sa quadratic funding](https://wtfisqf.com) + + + +### Insurance {#insurance} + +Ang decentralized insurance ay may layuning gawing mas abot-kaya, mas pabilisin ang payout, at mas transparent ang insurance. Sa pamamagitan ng higit pang automation, mas abot-kaya ang coverage at mas mabibilis ang pay-out. Ang data na ginagamit upang magpasya sa iyong claim ay ganap na transparent. + +Ang mga produkto ng Ethereum, gaya ng anumang software, ay puwedeng magkaroon ng mga bug at puwedeng abusuhin. Kaya sa ngayon, maraming produkto ng insurance ang nakatuon sa pagprotekta sa mga user laban sa pagkawala ng pondo. Gayunpaman, may mga proyekto na nagsisimulang bumuo ng coverage para sa lahat ng puwede nating harapin sa buhay. Isang magandang halimbawa nito ay ang Crop cover ng Etherisc na may layuning [ protektahan ang maliliit na magsasaka sa Kenya laban sa tagtuyot at pagbaha](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Ang decentralized insurance ay maaaring magbigay ng mas abot-kayang presyo para sa mga magsasaka na kadalasang hindi kayang magbayad para sa tradisyonal na insurance. + + + Tingnan ang decentralized application (dapps) para sa insurance + + + + +### Mga aggregator at manager ng portfolio {#aggregators} + +Sa dami ng mga nangyayari, kakailanganin mo ng paraan upang subaybayan ang lahat ng iyong mga investment, loan, at trade. May iba't ibang produkto na nagbibigay-daan sa iyong i-coordinate ang lahat ng iyong aktibidad sa DeFi mula sa isang lugar. Ito ang kagandahan ng open architecture ng DeFi. Ang mga team ay maaaring bumuo ng mga interface kung saan hindi mo lang makikita ang iyong mga balanse sa iba't ibang produkto, maaari mo ring gamitin ang kanilang mga feature. Maaaring maging kapaki-pakinabang ito para sa iyo habang tinitingnan mo ang iba pang bahagi ng DeFi. + + + Tingnan ang decentralized application (dapps) para sa portfolio + + + + +## Paano gumagana ang DeFi? {#how-defi-works} + +Ang DeFi ay gumagamit ng mga cryptocurrency at smart contract upang magbigay ng mga serbisyong hindi nangangailangan ng mga intermediary. Sa kasalukuyang mundo ng pinansya, ang mga institusyong pinansyal ay nagsisilbing guarantor ng mga transaksyon. Binibigyan nito ang mga institusyong ito ng labis na kapangyarihan dahil dumadaan sa kanila ang pera mo. Dagdag pa rito, bilyon-bilyong tao sa buong mundo ang walang access sa bank account. + +Sa DeFi, pinapalitan ng smart contract ang pinansyal na institusyon sa transaksyon. Ang smart contract ay isang uri ng Ethereum account na maaaring humawak ng pondo at ipadala/ibalik ang mga ito base sa ilang partikular na kundisyon. Walang sinuman ang puwedeng magbago ng smart contract kapag live ito – palagi itong tatakbo ayon sa kung paano ito na-program. + +Ang isang kontrata na idinisenyo upang magbigay ng allowance o pocket money ay maaaring i-program na magpadala ng pera sa Account B mula sa Account A tuwing Biyernes. At gagawin lamang nito ito kung may sapat na pondo ang Account A. Walang sinuman ang puwedeng magbago ng kontrata at magdagdag ng Account C bilang recipient upang magnakaw ng pondo. + +Ang mga kontrata ay bukas din para tingnan at i-audit ng kahit sino. Ibig sabihin nito, madalas na masisiyasat kaagad ng komunidad ang hindi magagandang kontrata. + +Ito ay nangangahulugan na kailangan nating magtiwala sa mga mas teknikal na miyembro ng komunidad ng Ethereum na nakakapag-read ng code. Ang open-source based na komunidad ay tumutulong sa pagbabantay sa mga developer, pero hindi na ito masyadong kakailanganin sa paglipas ng panahon habang nagiging mas madaling i-read ang mga smart contract at gumagawa ng iba pang paraan para patunayan ang pagiging mapagkakatiwalaan ng code. + +## Ethereum at DeFi {#ethereum-and-defi} + +Ang Ethereum ang perpektong pundasyon para sa DeFi dahil sa mga sumusunod: + +- Walang nagmamay-ari sa Ethereum o sa mga smart contract na narito – binibigyan nito ang lahat ng pagkakataon na gumamit ng DeFi. Ibig sabihin din nito, walang makakapagbago ng mga panuntunan nang biglaan. +- Iisa ang language na ginagamit ng lahat ng produkto ng DeFi: Ethereum. Ibig sabihin, maayos na magagamit nang sama-sama ang marami sa mga produkto. Magagawa mong magpautang ng mga token sa isang platform at i-exchange ang token na may interes sa ibang market sa isang ganap na ibang application. Dito, para kang nagpapapalit ng loyalty points sa bangko mo. +- Ang mga token at cryptocurrency ay bahagi ng Ethereum, na isang nakabahaging ledger – magaling ang Ethereum sa pagsubaybay sa mga transaksyon at pagmamay-ari. +- Nagbibigay ng ganap na financial freedom ang Ethereum – hinding-hindi hahawakan ng karamihan sa mga produkto ang pondo mo, kaya ikaw talaga ang may kontrol. + +Maaaring isipin na may mga layer ang DeFi: + +1. Ang blockchain – na Ethereum ay naglalaman ng kasaysayan ng mga transaksyon at kalagayan ng mga account. +2. Ang mga asset –[ ETH](/eth/)at iba pang token (mga currency). +3. Ang mga protocol – [mga smart contract](/glossary/#smart-contract) na nagbibigay ng kakayahan, halimbawa, sa isang serbisyong nagpapahintulot ng decentralized na pagpapautang ng mga asset. +4. [Ang mga application](/dapps/) – ang mga produkto na ginagamit natin para pamahalaan at i-access ang mga protocol. + +## Gumawa ng DeFi {#build-defi} + +Ang DeFi ay isang open-source movement. Ang mga protocol at application ng DeFi ay bukas para i-inspect, i-fork, at pagandahin mo. Dahil sa layered stack na ito (gumagamit ang lahat ng ito ng parehong base blockchain at mga asset), ang mga protocol ay maaaring pagsama-samahin upang gumawa ng mga natatanging oportunidad. + + + Iba pang detalye tungkol sa mga decentralized application (dapps) para sa paggawa + + +## Karagdagang pagbabasa {#futher-reading} + +### DeFi data {#defi-data} + +- [DeFi Prime](https://defiprime.com/) +- [Defi Llama](https://defillama.com/) +- [DeFi Rate](https://defirate.com/) + +### Mga artikulo tungkol sa DeFi {#defi-articles} + +- [Gabay para sa mga baguhan sa DeFi](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) – _Sid Coelho-Prabhu, Enero 6, 2020_ + +### Videos {#videos} + +- [Finematics - edukasyon tungkol sa decentralized finance](https://finematics.com/) – _Mga video tungkol sa DeFi_ +- [The Defiant](https://www.youtube.com/playlist?list=PLaDcID4s1KronHMKojfjwiHL0DdQEPDcq) - _Mga pangunahing kaalaman sa DeFi: Lahat ng kailangan mong malaman para makapagsimula sa nakakalitong lugar na ito._ +- [Whiteboard Crypto](https://youtu.be/17QRFlml4pA)_Ano ang DeFi?_ + +### Mga Komunidad {#communities} + +- [Discord server ng DeFi Llama](https://discord.gg/buPFYXzDDd) +- [Discord server ng DeFi Pulse](https://discord.gg/Gx4TCTk) diff --git a/src/content/translations/fil/desci/index.md b/src/content/translations/fil/desci/index.md new file mode 100644 index 00000000000..5a648873f77 --- /dev/null +++ b/src/content/translations/fil/desci/index.md @@ -0,0 +1,139 @@ +--- +title: Decentralized science (DeSci) +description: Pangkalahatang-ideya ng decentralized science sa Ethereum +lang: fil +template: use-cases +emoji: ":microscope:" +sidebarDepth: 2 +image: ../../../../assets/future_transparent.png +alt: "" +summaryPoint1: Isang pandaigdigan at bukas na alternatibo sa kasalukuyang sistemang siyentipiko. +summaryPoint2: Isang teknolohiyang nagbibigay-daan sa mga siyentipiko na lumikom ng pondo, magsagawa ng mga eksperimento, magbahagi ng data, magbahagi ng mga kaalaman, at iba pa. +summaryPoint3: Pinapalawig ang open science movement. +--- + +## Ano ang decentralized science (DeSci)? {#what-is-desci} + +Ang decentralized science (DeSci) ay isang kilusang naglalayong gumawa ng pampublikong infrastructure para sa pagpopondo, paggawa, pagsusuri, pagkilala, pag-store, at pagpapalaganap ng kaalaman sa agham nang patas at pantay-pantay gamit ang Web3 stack. + +Layunin ng DeSci na gumawa ng ecosystem kung saan hinihikayat ang mga siyentipikong hayagang ibahagi ang kanilang pananaliksik at kilalanin para sa kanilang gawa habang binibigyang-daan ang kahit sino na i-access at mag-contribute sa pananaliksik nang walang kahirap-hirap. Pinagbabatayan ng DeSci ang ideyang dapat naa-access ng lahat ang siyentipikong kaalaman at dapat transparent ang proseso ng siyentipikong pananaliksik. Gumagawa ang DeSci ng mas decentralized at mas malawak na model ng siyentipikong pananaliksik. Kung kaya, mas mahihirapan ang mga central authority na i-censor o kontrolin ito. Umaasa ang DeSci na makakagawa ito ng environment kung saan mabubuo ang mga bago at hindi pangkaraniwang ideya sa pamamagitan ng pag-decentralize sa access sa pondo, mga scientific tool, at mga channel ng komunikasyon. + +Nagbibigay-daan ang decentralized science sa mas diverse na pinagmumulan ng pondo (mula sa [mga DAO](/dao/), [quadratic donation](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531) hanggang sa crowdfunding at iba pa), mas accessible na data at paraan ng pag-access, at sa pamamagitan ng pagbibigay ng mga insentibo para sa reproducibility. + +### Juan Benet - Ang DeSci Movement + + + +## Paano pinapaunlad ng DeSci ang agham {#desci-improves-science} + +Isang hindi kumpletong listahan ng mga pangunahing problema sa agham at kung paano makakatulong ang decentralized science na tugunan ang mga isyung ito + +| **Decentralized science** | **Tradisyonal na agham** | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| Ang distribusyon ng pondo ay tinutukoy ng publiko gamit ang mga mekanismo tulad ng mga quadratic donation o DAO. | Mga maliit, eksklusibo, at centralized na grupo ang kumokontrol sa distribusyon ng pondo. | +| Nakikipag-collaborate ka sa mga kasamahan mula sa iba't ibang panig ng mundo sa mga dynamic na team. | Nililimitahan ng mga funding organization at home institution ang mga pakikipag-collaborate mo. | +| Ginagawa online at nang transparent ang mga desisyon sa pondo. Tumitingin ng mga bagong mekanismo sa pagpopondo. | Matagal bago makuha ang mga desisyon sa pondo at limitado lang ang transparency. Iilan lang ang mga mekanismo sa pagpopondo. | +| Mas madali at mas transparent ang pagbabahagi ng mga serbisyo sa laboratoryo gamit ang Web3 primitives. | Madalas na mabagal at hindi gaanong malinaw ang pagbabahagi ng mga mapagkukunan para sa laboratoryo. | +| Maaaring mag-develop ng mga bagong model para sa paglalathala na gumagamit ng Web3 primitives para sa tiwala, transparency, at pangkalahatang access. | Naglalathala ka sa pamamagitan ng mga itinakdang pathway na madalas na kinikilalang hindi epektibo, may kinikilingan, at mapagsamantala. | +| Maaari kang kumita ng mga token at makilala para sa pagsusuri ng gawa ng mga kasamahan. | Hindi ka babayaran para sa iyong pagsusuri sa gawa ng mga kasamahan, kung kaya, ang mga for-profit publisher ang nakikinabang. | +| Ikaw ang nagmamay-ari sa intellectual property (IP) na ginagawa mo at maipapamahagi mo ito ayon sa mga transparent na tuntunin. | Ang home institution mo ang nagmamay-ari sa IP na ginagawa mo. Hindi transparent ang access sa IP. | +| Dahil on-chain ang lahat ng hakbang, ibinabahagi ang buong pananaliksik, kasama ang data mula sa mga hindi matagumpay na eksperimento. | Dahil sa publication bias, mas malamang na ibahagi ng mga mananaliksik ang mga eksperimentong naging matagumpay. | + +## Ethereum at DeSci {#ethereum-and-desci} + +Ang decentralized science system ay mangangailangan ng maigting na seguridad, maliit na monetary cost at transaction cost, at mahusay na ecosystem para sa pag-develop ng application. Ibinibigay ng Ethereum ang lahat ng kailangan para gumawa ng decentralized science stack. + +## Mga use case ng DeSci {#use-cases} + +Ginagawa ng DeSci ang scientific toolset na mag-o-onboard sa Web2 academia sa digital na mundo. Nasa ibaba ang mga halimbawa ng mga use case na maibibigay ng Web3 na siyentipikong komunidad. + +### Paglalathala {#publishing} + +Ang paglalathala ng mga siyentipikong pananaliksik ay kilala bilang nakakaligalig dahil pinapamahalaan ito ng mga publishing house na umaasa sa libreng trabaho ng mga siyentipiko, reviewer, at editor para mabuo ang mga pananaliksik, ngunit maniningil ng napakamahal na bayarin sa paglalathala. Kadalasan, hindi naa-access ng publiko, na karaniwang hindi direktang nagbayad para sa pananaliksik at mga gastos sa paglalathala sa pamamagitan ng pagbubuwis, ang mismong pananaliksik nang hindi nagbabayad sa publisher. Ang kabuuang bayarin para sa paglalathala ng bawat isang siyentipikong pananaliksik ay kadalasang halagang may limang digit ($USD), na sumisira sa konsepto ng siyentipikong kaalaman bilang [public good](https://www.econlib.org/library/Enc/PublicGoods.html) habang kumikita ng napakalaking halaga para sa mallit na grupo ng mga publisher. + +Mayroong mga libre at open-access na platform gaya ng mga pre-print server, [tulad ng ArXiv](https://arxiv.org/). Gayunpaman, ang mga platform na ito ay walang paraan ng pagkontrol sa kalidad, [mekanismo laban sa Sybil attack,](https://csrc.nist.gov/glossary/term/sybil_attack) at karaniwang hindi sinusubaybayan ang mga pamantayan sa antas ng artikulo. Ibig sabihin nito, karaniwang ginagamit lang ang mga ito para magsapubliko ng pananaliksik bago isumite sa tradisyonal na publisher. Sa SciHub, libreng makukuha ang mga nailathalang pananaliksik, pero hindi legal. Makukuha lang din ang mga pananaliksik kapag nabayaran na ang mga publisher at naprotektahan na ng mga ito ang pananaliksik sa mahigpit na batas sa copyright. Dahil dito, malaki ang pangangailangan para sa accessible na siyentipikong pananaliksik at data na may naka-embed na mekanismo ng pagiging lehitimo at model para sa insentibo. Makikita sa Web3 ang mga tool para makagawa ng ganitong system. + +### Reproducibility at replicability {#reproducibility-and-replicability} + +Ang reproductibility at replicability ay mga pundasyon ng de-kalidad na scientific discovery. + +- Maaaring makuha ang mga reproducible na resulta nang maraming magkakasunod na beses ng parehong team gamit ang parehong pamamaraan. +- Maaaring makuha ng ibang grupo ang mga replicable na resulta gamit ang parehong experimental setup. + +Tinitiyak ng mga bagong Web3-native tool na pundasyon ng pagtuklas ang reproducibility at replicability. Puwede nating ilagay ang de-kalidad na agham sa teknolohikal na aspeto ng akademya. Sa Web3, makakagawa ng mga attestation para sa bawat bahagi ng pagsusuri: ang raw data, computational engine, at resulta ng application. Ang maganda sa mga consensus sytem ay kapag gumawa ng pinagkakatiwalaang network para sa pagpapanatili ng mga bahaging ito, maaaring maging responsable ang bawat kasapi ng network sa pag-reproduce ng kalkulasyon at pag-validate sa bawat resulta. + +### Pagpopondo {#funding} + +Sa kasalukuyan, ang standard model para sa pagpopondo sa agham ay sumusulat ang mga indibidwal o grupo ng mga siyentipiko ng mga aplikasyon sa isang funding agency. Binibigyan ng puntos ng isang maliit na panel ng mga pinagkakatiwalaang indibidwal ang mga aplikasyon at pagkatapos ay kinakapanayam ng mga ito ang mga kandidato bago igawad ang pondo sa ilang aplikante. Bukod sa paggawa ng mga hadlang na humahantong sa napakatagal na panahon ng paghihintay sa pagitan ng pag-apply at pagtanggap ng grant, kilala ang model na ito na madaling maimpluwensyahan ng mga personal na opinyon, pansariling interes, at pulitika ng review panel. + +Ayon sa mga pag-aaral, hindi napipili ng mga grant review panel ang mga de-kalidad na proposal dahil labis na naiiba ang resulta noong ibinigay ang mga parehong proposal sa ibang mga panel. Dahil sa kakulangan saa pondo, mas kaunti na lamang ang napagbibigyan nito, at mas nakatutok sa mga mas matagal nang mga mananaliksik na may mga proyektong konserbatibo. Dahil dito, naging sobrang kompetitibo ang pagkuha ng pondo, nagtakda ng mga hindi katanggap-tanggap na insentibo, at nalimitahan ang inobasyon. + +May potensyal ang Web3 na baguhin ang hindi epektibong funding model na ito sa pamamagitan ng pagsubok sa iba't ibang model para sa insentibo na ginawa ng DAO at Web3. Ang [retroactive public goods funding](https://medium.com/ethereum-optimism/retroactive-public-goods-funding-33c9b7d00f0c), [quadratic funding](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531), [DAO governance](https://www.antler.co/blog/daos-and-web3-governance) at [mga tokenized na incentive structure](https://cdixon.org/2017/05/27/crypto-tokens-a-breakthrough-in-open-network-design) ang ilan sa mga Web3 tool na maaaring bumago sa pagpopondo para sa agham. + +### Pagmamay-ari at pag-develop sa IP {#ip-ownership} + +Ang intellectual property (IP) ay malaking problema sa tradisyonal na agham: mula sa pagkapako sa mga unibersidad, o hindi paggamit sa mga ito sa mga biotech, hanggang sa kahirapan sa pagtantya sa halaga nito. Gayunpaman, bihasa ang Web3 pagdating sa pagmamay-ari sa mga digital asset (tulad ng siyentipikong data o mga artikulo) sa tulong ng [mga non-fungible token (NFTs)](/nft/). + +Tulad kung paano nagagawa ng mga NFT na ibalik ang kita para sa mga susunod pang transaksyon sa orihinal na creator, puwede kang magtakda ng mga transparent na value attribution chain para gantimpalaan ang mga mananaliksik, governing body (tulad ng mga DAO), o maging ang mga subject na pinagkukunan ng data. + +Ang [IP-NFTs](https://medium.com/molecule-blog/ip-nfts-for-researchers-a-new-biomedical-funding-paradigm-91312d8d92e6) ay puwede ring maging susi sa repository ng decntralized data ng mga isinasagawang eksperimento sa pananaliksik, at puwede rin itong gamitin sa NFT at [DeFi](/defi/) financialization (mula sa fractionalization hanggang sa mga lending pool at value appraisal). Binibigyang-daan din nito ang mga native na on-chain na entity gaya ng mga DAO tulad ng [VitaDAO](https://www.vitadao.com/) na magsagawa ng pananaliksik nang direkta on-chain. Maaaring may mahalagang papel din sa DeSci ang pagdating ng mga non-transferable na ["soulbound" token](https://vitalik.ca/general/2022/01/26/soulbound.html) sa pamamagitan ng pagbibigay-daan sa mga indibidwal na patunayan ang kanilang karanasan at kredensyal na nauugnay sa kanilang Ethereum address. + +### Pag-store, pag-access, at architecture ng data {#data-storage} + +Ang siyentipikong data ay maaaring gawing mas accessible gamit ang mga pattern ng Web3, at binibigyang-daan ng malawak na storage na malampasan ng pananaliksik ang mga cataclysmic event. + +Dapat itong magsimula sa isang system na maa-access ng anumang decentralized identity na may hawak ng mga naaangkop at nave-verify na kredensyal. Dahil dito, secure na mare-replicate ng mga pinagkakatiwalaang partido ang sensitibong data, na nagbibigay-daan sa redundacy at paglaban sa censorship, reproduction ng mga resulta, at maging ang kakayahan ng maraming partido na mag-collaborate at magdagdag ng bagong data sa dataset. Ang mga paraan ng confidential computing tulad ng [compute-to-data](https://7wdata.be/predictive-analytics/compute-to-data-using-blockchain-to-decentralize-data-science-and-ai-with-the-ocean-protocol) ay nagbibigay ng mga alternatibong paraan ng pag-access sa pag-replicate ng raw data, na gumagawa ng mga Trusted Research Environment para sa mga pinakasensitibong data. Ang mga Trusted Research Environment ay [binanggit ng NHS](https://medium.com/weavechain/whats-in-store-for-the-future-of-healthcare-data-b6398745fbbb) bilang future-facing solution para sa privacy ng data at collaboration sa pamamagitan ng paggawa ng ecosystem kung saan secure na magagamit ng mga mananaliksik ang data on-site gamit ang mga standardized na environment para sa pagbabahagi ng code at mga kagaiwan. + +Sinusuportahan ng mga flexible na Web3 data solution ang mga sitwasyong nabanggit at nagsisilbi itong pundasyon para sa ganap na Open Science, kung saan makakagawa ng public goods are mga mananaliksik nang hindi nangangailangan ng mga pahintulot para ma-access o mga bayarin. Ang mga Web3 public data solution tulad ng IPFS, Arweave, at Filecoin ay ginawa para sa decentralization. Halimbawa, nagbibigay ang dClimate ng pangkalahatang access sa data ng klima at lagay ng panahon, kabilang iyong mula sa mga weather station at mga predictive climate model. + +## Makibahagi {#get-involved} + +Tingnan ang mga proyekto at sumali sa komunidad ng DeSci. + +- [DeSci.Global: kalendaryo ng mga global event at meetup](https://desci.global) +- [Telegram ng Blockchain for Science](https://t.me/BlockchainForScience) +- [Molecule: Maglaan at makakuha ng pondo para sa iyong mga proyektong pananaliksik](https://discover.molecule.to/) +- [VitaDAO: makatanggap ng pondo sa pamamagitan ng mga sponsored na research agreement para sa longevity research](https://www.vitadao.com/) +- [ResearchHub: mag-post ng resulta ng siyentipikong pag-aaral at makipag-usap sa mga kapwa mananaliksik](https://www.researchhub.com/) +- [LabDAO: mag-fold ng protein in-silico](https://alphafodl.vercel.app/) +- [dClimate API: mag-query ng data ng klima na kinolekta ng decentralized community](https://api.dclimate.net/) +- [DeSci Foundation: builder ng tool sa paglalathala ng DeSci](https://descifoundation.org/) +- [DeSci.World: one-stop shop para tingnan at mag-engage ang mga user sa decentralized science](https://desci.world) +- [Fleming Protocol: open-source data economy na naghihikayat ng collaborative na biomedical discovery](https://medium.com/@FlemingProtocol/a-data-economy-for-patient-driven-biomedical-innovation-9d56bf63d3dd) +- [OceanDAO: pagpopondo na pinapamahalaan ng decentralized autonomous organization (DAO) para sa agham na nauugnay sa data](https://oceanprotocol.com/dao) +- [Opscientia: mga bukas na workflow ng decentralized science](https://opsci.io/research/) +- [LabDAO: mag-fold ng protein in-silico](https://alphafodl.vercel.app/) +- [Bio.xyz: makakuha ng pondo para sa iyong biotech DAO o desci project](https://www.molecule.to/) +- [ResearchHub: mag-post ng resulta ng siyentipikong pag-aaral at makipag-usap sa mga kapwa mananaliksik](https://www.researchhub.com/) +- [VitaDAO: makatanggap ng pondo sa pamamagitan ng mga sponsored na research agreement para sa longevity research](https://www.vitadao.com/) +- [Fleming Protocol: open-source data economy na naghihikayat ng collaborative na biomedical discovery](https://medium.com/@FlemingProtocol/a-data-economy-for-patient-driven-biomedical-innovation-9d56bf63d3dd) +- [Active Inference Lab](https://www.activeinference.org/) +- [CureDAO: Platform para sa Precision Health na Pagmamay-ari ng Komunidad](https://docs.curedao.org/) +- [IdeaMarkets: nagbibigay-daan sa decentralized scientific credibility](https://ideamarket.io/) +- [DeSci Labs](https://www.desci.com/) + +Tumatanggap kami ng mga mungkahi para sa mga bagong proyekto na ililista - tingnan ang aming [patakaran sa pagsasama sa listahan](/contributing/adding-desci-projects/) para magsimula! + +## Karagdagang pagbabasa {#further-reading} + +- [DeSci Wiki ni Jocelynn Pearl at ng Ultrarare](https://docs.google.com/document/d/1aQC6zn-eXflSmpts0XGE7CawbUEHwnL6o-OFXO52PTc/edit#) +- [Gabay sa decentralized biotech ni Jocelynn Pearl para sa a16z future](https://future.a16z.com/a-guide-to-decentralized-biotech/) +- [Ang sitwasyon para sa DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/) +- [Gabay sa DeSci](https://future.com/what-is-decentralized-science-aka-desci/) +- [Mga mapagkukunan tungkol sa decentralized science](https://www.vincentweisser.com/decentralized-science) +- [Biopharma IP-NFTs ng Molecule - Isang Teknikal na Paglalarawan](https://molecule.to/blog/molecules-biopharma-ip-nfts-a-technical-description) +- [Paggawa ng mga Trustless na System of Science ni Jon Starr](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673) +- [Ang Pag-usbong ng Biotech DAOs](https://molecule.to/blog/the-emergence-of-biotech-daos) +- [Paul Kohlhaas - DeSci: Ang Kinabukasan ng Decentralized Science (podcast)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a) +- [Isang Ontolohiya ng Aktibong Inference para sa Decentralized Science: mula sa Situated Sensemaking hanggang sa Epistemic Commons](https://zenodo.org/record/6320575) +- [DeSci: Ang Kinabukasan ng Pananaliksik ni Samuel Akinosho](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec) +- [Pondo para sa Agham (Epilogo: DeSci at bagong crypto primitives) ni Nadia](https://nadia.xyz/science-funding) +- [Binabago ng Decentralization ang Pag-develop ng Gamot](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f) + +### Videos {#videos} + +- [Ano ang Decentralized Science?](https://www.youtube.com/watch?v=-DeMklVWNdA) +- [Usapan sa pagitan ni Vitalik Buterin at ng siyentipikong si Aubrey de Grey tungkol sa intersection ng longevity research at crypto](https://www.youtube.com/watch?v=x9TSJK1widA) +- [Sira ang Pampublikasyon ng Siyentipiko. Maaayos Ba Ito ng Web3?](https://www.youtube.com/watch?v=WkvzYgCvWj8) +- [Juan Benet - DeSci, Independent Labs, at Large Scale Data Science](https://www.youtube.com/watch?v=zkXM9H90g_E) +- [Sebastian Brunemeier - Paano Mababago ng DeSci ang Biomedical Research at Venture Capital](https://www.youtube.com/watch?v=qB4Tc3FcVbM) diff --git a/src/content/translations/fil/refi/index.md b/src/content/translations/fil/refi/index.md new file mode 100644 index 00000000000..16c484f7397 --- /dev/null +++ b/src/content/translations/fil/refi/index.md @@ -0,0 +1,79 @@ +--- +title: Regenerative Finance (ReFi) +description: Pangkalahatang-ideya ng Regenerative Finance (ReFi) at mga kasalukuyang use case nito. +lang: fil +template: use-cases +emoji: ":recycle:" +sidebarDepth: 2 +image: ../../../../assets/future_transparent.png +alt: "" +summaryPoint1: Isang alternatibong sistema ng ekonomiya na ibinatay sa mga prinsipyong regenerative +summaryPoint2: Isang pagsubok na gamitin ang Ethereum upang malutas ang mga pandaigdigang problema sa koordinasyon tulad ng pagbabago ng klima +summaryPoint3: Isang tool na susukatin nang husto ang mga ecological benefit asset tulad ng mga verified na carbon credit +--- + +## Ano ang ReFi? {#what-is-refi} + +Ang **regenerative finance (ReFi)** ay isang hanay ng mga tool at ideya na ibinatay sa mga blockchain, na naglalayong gumawa ng mga ekonomiya na regenerative, sa halip na extractive o exploitative. Kalaunan, mauubos ng mga extractive system ang mga resource na available, at magko-collapse ang mga ito. Kapag walang regenerative na mekanismo, walang resilience ang mga ito. Ipinagpapalagay sa ReFi na dapat i-decouple ang paggawa ng monetary value sa hindi sustainable na paghango ng mga resource mula sa ating planeta at mga komunidad. + +Sa halip, layunin ng ReFi na lutasin ang mga problemang pangkalikasan, pangkomunidad, o panlipunan sa pamamagitan ng paggawa ng mga regenerative cycle. Mapapakinabangan ng mga kalahok ang mga system na ito habang nakikinabang din sa mga ito ang mga ecosystem at komunidad. + +Ang isa sa mga pundasyon ng ReFi ay ang konsepto ng regenerative economics na unang ginamit ni John Fullerton ng [Capital Institute](https://capitalinstitute.org). Nagpanukala siya ng walong magkakaugnay na prinsipyo na sumusuporta sa systemic health: + +![Walong magkakaugnay na prinsipyo](../../assets/use-cases/refi-regenerative-economy-diagram.png) + +Isinasakatuparan ng mga proyekto sa ReFi ang mga prinsipyong ito gamit ang [mga smart contract](/developers/docs/smart-contracts/) at mga [decentralized finance (DeFi)](/defi/) application para hikayatin ang mga regenerative na kagaiwan, hal., pagpapanumbalik ng sigla ng mga napinsalang ecosystem, at pangasiwaan ang large-scale collaboration sa mga pandaigdigang isyu tulad ng pagbabago ng klima at pagkaubos ng biodiversity. + +May pagkakapareho ang ReFi sa [decentralized science (DeSci)](/desci/) movement, na gumagamit ng Ethereum bilang platform para pondohan, gawin, suriin, kilalanin, i-store, at ipakalat ang siyentipikong kaalaman. Ang mga tool sa DeSci ay maaaring maging kapaki-pakinabang para sa pagbuo ng mga nave-verify na pamantayan at pamamaraan para sa pagpapatupad at pagsusubaybay sa mga regenerative na aktibidad tulad ng pagtatanim ng mga puno, pag-aalis ng plastic sa karagatan, o pagpapanumbalik ng sigla ng napinsalang ecosystem. + +## Tokenization ng mga carbon credit {#tokenization-of-carbon-credits} + +Ang **[voluntary carbon market (VCM)](https://climatefocus.com/so-what-voluntary-carbon-market-exactly/)** ay mekanismo para pondohan ang mga proyekto na may napatunayang positibong epekto sa mga carbon emission, tulad ng pababain ang mga kasalukuyang emission o alisin ang mga greenhouse gas na nasa atmosphere na. Matapos ma-verify, makakatanggap ang mga proyektong ito ng asset na tinatawag na "mga carbon credit," na maibebenta ng mga ito sa mga indibidwal at organisasyong gustong suportahan ang mga pagsisikap para protektahan ang klima. + +Bukod sa VCM, may mga carbon market na itinatakda ng pamahalaan (‘mga compliance market’) na naglalayong magtakda ng carbon price sa pamamagitan ng mga batas o regulasyon sa isang partikular na hurisdiksyon (hal. bansa o rehiyon), na nagkokontrol sa supply ng mga permit na ipapamahagi. Hinihikayat ng mga compliance market ang mga polluter sa kanilang hurisdiksyon na bawasan ang mga emission, pero wala silang kakayahang alisin ang mga greenhouse gas na nasa atmosphere na. + +Kahit dine-develop ito sa mga nakaraang dekada, patuloy na nakakaranas ang VCM ng iba't ibang isyu: + +1. Labis na fragmented na liquidity +2. Mga hindi malinaw na mekanismo para sa transaksyon +3. Mahal na bayarin +4. Napakabagal na trading +5. Kakulangan sa scalability + +Ang paglipat ng VCM sa bagong blockchain-based **digital carbon market (DCM)** ay maaaring maging oportunidad upang ma-upgrade ang kasalukuyang teknolohiya para sa pag-validate, pag-transact at paggamit ng mga carbon credit. Nagbibigay-daan ang mga blockchain sa publicly verifiable data, access para sa iba't ibang user, at higit na liquidity. + +Gumagamit ang mga proyekto sa ReFi ng blockchain technology para solusyonan ang marami sa mga problema ng tradisyonal na market: + +- **Tinitipon ang liquidity sa iilang liquidity pool** na malayang mate-trade ng kahit sino. Ginagamit ng malalaking organisasyon, pati na rin ng mga indibidwal na user ang mga pool na ito nang hindi manual na naghahanap ng mga seller/buyer, bayarin sa paglahok, o paunang pagpaparehistro. +- **Nire-record ang lahat ng transaksyon sa mga pampublikong blockchain**. Ang daang tinatahak ng bawat carbon credit dahil sa aktibidad sa trading ay palaging masusubaybayan sa sandaling maging available ito sa digital carbon market (DCM). +- **Halos agaran ang bilis ng transaksyon**. Maaaring abutin nang ilang araw o linggo ang pagkuha ng maraming carbon credit sa pamamagitan ng mga legacy market, pero magagawa ito sa loob ng ilang segundo sa DCM. +- **Isinasagawa ang mga gawain sa trading nang walang intermediary**, na naniningil ng mahal na bayarin. Ayon sa data mula sa isang analytics firm, kumakatawan ang mga digital carbon credit sa [62% pagpapabuti sa gastos kumpara sa mga katumbas na tradisyonal na credit](https://www.klimadao.finance/blog/klimadao-analysis-of-the-base-carbon-tonne). +- **Scalable ang DCM** at kaya nitong tugunan ang mga demand ng mga indibidwal at multinational corporation. + +### Mga pangunahing bahagi ng DCM {#key-components-dcm} + +Apat na pangunahing bahagi ang bumubuo sa kasalukuyang landscape ng DCM: + +1. Tinitiyak ng mga registry tulad ng [Verra](https://verra.org/project/vcs-program/registry-system/) at [Gold Standard](https://www.goldstandard.org/) na mapagkakatiwalaan ang mga proyektong gumagawa ng mga carbon credit. Nagpapatakbo rin ang mga ito ng mga database kung saan nagmumula ang mga digital carbon credit at maaaring i-transfer o maubos (hindi na gagamitin) ang mga ito. + +May bagong wave ng mga inobatibong proyekto na ibinabatay sa mga blockchain na sinusubukang baguhin ang mga kasalukuyang nasa sektor na ito. + +2. Ang mga carbon bridge, na kilala rin bilang mga tokenizer, ay nagbibigay ng teknolohiya upang ipakita o i-transfer sa DCM ang mga carbon credit mula sa mga tradisyonal na registry. Kabilang sa mga kilalang halimbawa ang [Toucan Protocol](https://toucan.earth/), [C3](https://c3.app/), at [Moss.Earth](https://moss.earth/). +3. Nag-aalok ang mga naka-integrate na serbisyo ng pag-iwas sa paglalabas ng carbon at/o credit sa pag-aalis sa mga end-user nang sa gayon ay makuha nila ang benepisyong pangkapaligiran ng isang credit at ibahagi sa mundo ang kanilang suporta sa mga pagsisikap para protektahan ang klima. + +May ilang serbisyo tulad ng [Klima Infinity](https://www.klimadao.finance/infinity) at [Senken](https://senken.io/) na nag-aalok ng iba't ibang uri ng mga proyektong binuo ng mga third party at inilabas sa ilalim ng mga itinakdang pamantayan tulad ng Verra; habang ang ibang serbisyo tulad ng [Nori](https://nori.com/) ay nag-aalok lang ng mga partikular na proyekto na ginawa sa ilalim ng sarili nilang pamantayan para sa carbon credit, na ibinibigay nila at pinaglalaanan nila ng sariling marketplace. + +4. Pinapangasiwaan ng mga kasalukuyang rail at infrastructure ang pagpapalawak ng epekto at kahusayan ng buong supply chain ng carbon market. Nagsu-supply ang [KlimaDAO](http://klimadao.finance/) ng liquidity bilang public good (nagbibigay-daan sa kahit sino na bumili o magbenta ng mga carbon credit sa transparent na presyo), nagbibigay ito ng mga reward kapalit ng mas mataas na throughput ng mga carbon market at pag-retire, at nagbibigay ito ng madaling gamiting interoperable tooling para ma-access ang data tungkol sa, pati na rin ang kumuha at mag-retire ng, iba't ibang tokenized na carbon credit. + +## Ang ReFi sa labas ng mga carbon market {#refi-beyond} + +Bagama't may matinding pagpapahalaga sa mga carbon market sa pangkalahatan at pag-transition ng VCM sa DCM partikular na sa loob ng space, hindi limitado sa carbon ang terminong “ReFi”. Maaaring gumawa at mag-tokenize ng iba pang environmental asset at hindi lang mga carbon credit. Ipinapahiwatig nitong maaari ding itakda ang presyo ng iba pang negatibong externality sa mga base layer ng mga susunod pang sistema ng ekonomiya. Dagdag pa rito, ang regenerative na aspeto ng economic model na ito ay maaaring gamitin sa iba't ibang aspeto, tulad ng pagsuporta sa pagpopondo sa mga public good sa pamamagitan ng mga quadratic funding platform gaya ng [Gitcoin](https://gitcoin.co/). Binibigyang-kakayahan ng mga organisasyon na ibinatay sa ideya ng pakikilahok na bukas sa lahat at pantay-pantay na pamamahagi ng mga resource ang lahat na maglaan ng pera sa mga proyekto sa open-source software, pati na rin sa mga proyektong pang-edukasyon, pangkalikasan, at pangkomunidad. + +Sa pamamagitan ng paglihis ng kapital sa mga extractive na kagawian at pagdirekta nito sa regenerative na flow, makakapagsimula nang mas mabilis at mas madali ang mga proyekto at kumpanya na nagbibigay ng mga benepisyong panlipunan, pangkapaligiran, o pangkomunidad—na posibleng hindi makakuha ng pondo sa tradisyonal na pinansya. Dahil sa pag-transition sa ganitong model ng pagpopondo, nagkakaroon din ng mga mas inklusibong sistema ng ekonomiya, kung saan ang mga tao mula sa bawat demograpiko ay puwedeng maging mga aktibong kalahok, sa halip na mga simpleng tagamasid lang. Ipinapakita ng ReFi ang Ethereum bilang mekanismo para sa pagsasaayos ng pagkilos sa mga banta sa pamumuhay na kinakaharap ng ating species at lahat ng buhay sa planeta natina ating planeta—bilang pangunahing haligi ng bagong uri ng ekonomiya, na nagbibigay daan sa mas matatag na kinabukasan sa mga susunod na siglo. + +## Karagdagang babasahin tungkol sa ReFi + +- [Isang high-level na pangkalahatang-ideya ng mga carbon currency at ang kanilang lugar sa ekonomiya](https://www.klimadao.finance/blog/the-vision-of-a-carbon-currency) +- [The Ministry for the Future, na isang nobela na nagpapakita ng papel ng isang carbon-backed currency sa paglaban sa pagbabago ng klima](https://en.wikipedia.org/wiki/The_Ministry_for_the_Future) +- [Isang detalyadong ulat mula sa Taskforce for Scaling Voluntary Carbon Markets](https://www.iif.com/Portals/1/Files/TSVCM_Report.pdf) +- [Ang CoinMarketCap Glossary entry nina Kevin Owocki at Evan Miyazono tungkol sa ReFi](https://coinmarketcap.com/alexandria/glossary/regenerative-finance-refi) diff --git a/src/content/translations/fil/smart-contracts/index.md b/src/content/translations/fil/smart-contracts/index.md new file mode 100644 index 00000000000..7b87df57dae --- /dev/null +++ b/src/content/translations/fil/smart-contracts/index.md @@ -0,0 +1,84 @@ +--- +title: Smarteng kontrata +description: Isang hindi teknikal na panimula sa mga smart contract +lang: fil +--- + +# Introduction to smart contracts {#introduction-to-smart-contracts} + +Ang mga smart contract ang mga pangunahing building block ng application layer ng Ethereum. Mga computer program ang mga ito na naka-store sa blockchain na sumusunod sa logic na "if this then that (kung ganito ang mangyayari, ito ang susunod na mangyayari)," at tiyak na mae-execute ang mga ito alinsunod sa mga panuntunan na tinukoy ng code nito, na hindi na mababago kapag nagawa na. + +Si Nick Szabo ang gumawa ng terminong "smart contract". Noong 1994, sumulat siya ng [panimula sa konsepto](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html), at noong 1996, sumulat siya ng [pagsusuri ng magagawa ng mga smart contract](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html). + +Gusto ni Szabo ng digital marketplace kung saan binibigyang-daan ng mga awtomatiko at cryptographically-secure na proseso na maisagawa ang mga transaksyon at business fuction nang walang pinagkakatiwalaang intermediary. Isinasagawa ng mga smart contract sa Ethereum ang mithiing ito. + +### Tiwala sa mga conventional na kontrata {#trust-and-contracts} + +Ang isa sa pinakamalalaking problema sa tradisyonal na kontrata ang pangangailangan ng mga mapagkakatiwalaang indibidwal na tuparin ang mga resulta ng kontrata. + +Narito ang isang halimbawa: + +Sina Alice at Bob ay nagkakarera sakay ng bisikleta. Sabihin nating pumusta ng $10 si Alice kay Bob na siya ang mananalo sa karera. Tiwala si Bob na siya ang mananalo at pumayag siya sa pusta. Sa huli, naungusan ni Alice si Bob at siya ang nanalo. Pero ayaw ibigay ni Bob ang ipinusta, at inaakusahan niya si Alice na nandaya. + +Ipinapakita ng nakakatawang halimbawang ang problema sa anumang non-smart agreement. Kahit na matugunan ang mga kundisyon ng kasunduan (halimbawa, ikaw ang nanalo sa karera), kailangan mo pa rin magtiwala sa ibang tao na tuparin ang kasunduan (ibig sabihin, ibigay ang ipinusta). + +### A digital vending machine {#vending-machine} + +Maihahambing ang smart contract sa isang vending machine, na gumagana na halos katulad ng smart contract - kapag naglagay ng mga partikular na input, siguradong makukuha ang mga paunang natukoy na output. + +- Pipili ka ng produkto +- Ipapakita ng vending machine ang presyo +- Babayaran mo ang presyo +- Kukumpirmahin ng vending machine na tama ang binayad mong halaga +- Ibibigay sa iyo ng vending machine ang iyong item + +Ilalabas lang ng vending machine ang gusto mong produkto kapag natugunan ang lahat ng kahingian. Kung hindi ka pipili ng produkto o kulang ang ilalagay mong pera, hindi ilalabas ng vending machine ang iyong produkto. + +### Awtomatikong pag-execute {#automation} + +Ang pangunahing benepisyo ng smart contract ay tiyak nitong ine-execute ang malinaw na code kapag natugunan ang ilang partikular na kundisyon. Hindi mo kailangang maghintayng tao para i-interpret ang o makipag-usap tungkol sa resulta. Inaalis nito ang pangangailangan ng mga pinagkakatiwalaang intermediary. + +Halimbawa, maaari kang mag-write ng smart contract na nag-iingat ng pondo sa escrow para sa isang bata, na magbibigay-daan sa kanyang kunin ang pondo pagkatapos ng isang partikular na petsa. Kung susubukan niyang kunin ang pondo bago ang petsang iyon, hindi mae-execute ang smart contract. O maari kang mag-write ng kontrata na awtomatiko kang binibigyan ng digital na bersyon ng titulo ng kotse kapag binayaran mo ang dealer. + +### Mga predictable outcome {#predictability} + +Malabo ang mga tradisyonal na kontrata dahil umaasa ang mga ito sa mga tao upang unawain at ipatupad ang mga ito. Halimbawa, maaaring magkaiba ang interpretasyon ng dalawang hukom sa isang kontrata, na maaaring magresulta sa hindi magkakaayon na desisyon at hindi patas na resulta. Inaalis ng mga smart contract ang posibilidad na ito. Sa halip, ine-execute ang mga smart contract nang tumpak batay sa mga kundisyong nakasulat sa code ng kontrata. Dahil sa katumpakang ito, kapag pareho ang mga sitwasyon, iisang resulta ang ibibigay ng smart contract. + +### Pampublikong record {#public-record} + +Ang mga smart contract ay kapaki-pakinabang para sa mga audit at pagsubaybay. Dahil nasa pampublikong blockchain ang mga smart contract ng Ethereum, agad na masusubaybayan ng kahit sino ang mga pag-transfer ng asset at iba pang nauugnay na impormasyon. Halimbawa, puwede mong alamin kung may nagpadala ng pera sa iyong address. + +### Pagprotekta sa privacy {#privacy-protection} + +Pinoprotektahan din ng mga smart contract ang iyong privacy. Dahil isang pseudonymous network ang Ethereum (pampublikong nakaugnay ang iyong mga transaksyon sa isang natatanging cryptographic address, at hindi sa iyong identity), kaya mapoprotektahan mo ang iyong privacy mula sa mga observer. + +### Mga nakikitang tuntunin {#visible-terms} + +Sa wakas, tulad ng mga tradisyonal na kontrata, matitingnan mo ang laman ng smart contract bago mo ito lagdaan (o kaya ay mag-interact dito). Sinisigurado ng transparency ng smart contract na masusuri ito ng kahit sino. + +## Mga use case ng smart contract {#use-cases} + +Sa pangkalahatan, magagawa ng mga smart contract ang anumang bagay na magagawa ng mga computer program. + +Magagawa ng mga itong mag-compute, gumawa ng currency, mag-store ng data, mag-mint ng NFTs, magpadala ng komunikasyon at maging gumawa ng graphics. Narito ang ilan sa mga kilalang halimbawa sa totoong buhay: + +- [Stablecoins](/stablecoins/) +- [Paggawa at pamamahagi ng mga natatangign digital asset](/nft/) +- [Isang awtomatiko at bukas na currency exchange](/get-eth/#dex) +- [Decentralized gaming](/dapps/?category=gaming) +- [Isang insurance policy na awtomatikong nagbabayad](https://etherisc.com/) +- [Isang pamantayan na nagbibigay-daan sa mga tao na gumawa ng mga naka-customize at interoperable na currency](/developers/docs/standards/tokens/) + +## More of a visual learner? {#visual-learner} + +Panoorin ang paliwanag sa Finematics tungkol sa mga smart contract: + + + +## Karagdagang pagbabasa {#further-reading} + +- [Paano Mababago ng Mga Smart Contract ang Mundo](https://www.youtube.com/watch?v=pA6CGuXEKtQ) +- [Mga Smart Contract: Ang Blockchain Technology na Papalit sa Mga Abogado](https://blockgeeks.com/guides/smart-contracts/) +- [Mga smart contract para sa mga developer](/developers/docs/smart-contracts/) +- [Matuto kung paano mag-write ng mga smart contract](/developers/learning-tools/) +- [Pagiging Bihasa sa Ethereum - Ano ang Smart Contract?](https://github.com/ethereumbook/ethereumbook/blob/develop/07smart-contracts-solidity.asciidoc#what-is-a-smart-contract) diff --git a/src/content/translations/fil/social-networks/index.md b/src/content/translations/fil/social-networks/index.md new file mode 100644 index 00000000000..88114462a36 --- /dev/null +++ b/src/content/translations/fil/social-networks/index.md @@ -0,0 +1,121 @@ +--- +title: Mga decentralized na social network +description: Pangkalahatang-ideya ng mga decentralized social network sa Ethereum +lang: fil +template: use-cases +emoji: ":mega:" +sidebarDepth: 2 +image: ../../../../assets/ethereum-learn.png +summaryPoint1: Mga blockchain-based na platform para sa social interaction, at paggawa at pamamahagi ng content. +summaryPoint2: Pinoprotektahan ng mga decentralized social media network ang privacy ng user at pinapaigting ng mga ito ang seguridad ng data. +summaryPoint3: Gumagawa ng mga bagong paraan ang mga token at NFT upang pagkakitaan ang content. +--- + +Malaki ang papel na ginagampanan ng mga social network sa ating pang-araw-araw na komunikasyon at pakikipag-ugnayan. Ngunit, ang centralized na kontrol ng mga platform na ito ay nagdulot ng maraming problema: ang mga data breach, mga pagbagsak ng server, pagtanggal sa platform, censorship, at mga pag-aabuso sa privacy ang ilan sa mga trade-off na kadalasang resulta sa social media. Upang labanan ang mga isyung ito, gumagawa ang mga developer ng mga social network sa Ethereum. Maaayos ng mga decentralized social network ang marami as mga problema ng tradisyonal na social networking platform at mapapaganda ng mga ito ang karanasan ng mga user sa pangkalahatan. + +## Ano ang mga decentralized social network? {#what-are-decentralized-social-networks} + +Ang mga decentralized social network ay mga blockchain-based platform na nagpapahintulot sa mga user na makipagpalitan ng impormasyon, pati na rin mag-publish at mamahagi ng content sa mga audience. Dahil tumatakbo sa blockchain ang mga application na ito, may kakayahan ang mga itong maging decentralized at maiiwasan ng mga ito ang censorship at hindi makatuwirang pagkontrol. + +Maraming decentralized social network ang nagsisilbing mga alternatibo sa mga kilala nang social media service tulad ng Facebook, LinkedIn, Twitter, at Medium. Ngunit may ilang feature ang mga blockchain-powered social network na nagpapalamang sa mga ito sa mga tradisyonal na social platform. + +### Paano gumagana ang mga decentralized social network? {#decentralized-social-networks-overview} + +Ang mga decentralized social network ay uri ng [mga decentralized application (dapps)](/dapps/) — mga application na pinapagana ng [mga smart contract](/developers/docs/smart-contracts/) na dineploy sa blockchain. Ang contract code ay nagsisilbing backend para sa mga app na ito at nagtatakda ng business logic ng mga ito. + +Umaasa ang mga tradisyonal na social media platform sa mga database upang mag-store ng impormasyon ng user, program code, at iba pang uri ng data. Ngunit gumagawa ito ng single point-of-failure at nagdudulot ng matinding panganib. Halimbawa, [ilang oras na naging offline](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact) ang mga server ng Facebook noong nakaraang taon, na naging dahilan upang hindi mapuntahan ng mga user ang platform. + +Nasa peer-to-peer network ang mga decentralized social network na binubuo ng libo-libong node sa iba't ibang bahagi ng mundo. Kahit magkaproblema ang ilang node, hindi maaantala ang network, kaya hindi papalya at hihinto ang mga application. + +Sa paggamit ng mga decentralized storage system tulad ng [InterPlanetary File System (IPFS)](https://ipfs.io/), mapoprotektahan ng mga social network na ginawa sa Ethereum ang impormasyon ng user mula sa pang-aabuso at mapaminsalang paggamit. Hindi ibebenta ng kahit sino ang iyong personal na impormasyon sa mga advertiser, at hindi rin mananakaw ng mga hacker ang mga kumpidensyal mong detalye. + +Maraming blockchain-based social platform na may mga native token na nagpapatakbo ng monetization kapag walang kita mula sa advertising. Maaaring bilhin ng mga user ang mga token na ito para ma-access ang ilang partikular na feature, magsagawa ng mga in-app na pagbili, o bigyan ng tip ang mga paborito nilang content creator. + +## Mga benepisyo ng mga decentralized social network {#benefits} + +1. Hindi nase-censor at bukas sa lahat ang mga decentralized social network. Ibig sabihin nito, hindi puwedeng i-ban, tanggalin sa platform, o limitahan ang mga user nang walang maayos na dahilan. + +2. Ibinatay ang mga decentralized social network sa mga open-source ideal at ginagawa nitong available para masiyasat ng publiko ang source code. Sa pamamagitan ng pag-aalis ng pagpapatupad ng mga malabong algrithm na pangkaraniwan sa tradisyonal na social media, maiaayon ng mga blockchain-based social network ang mgaa interes ng mga user at mga creator sa platform. + +3. Inaalis ng mga decentralized social network ang "middle-man". Ang mga content creator ang direktang nagmamay-ari sa kanilang content, at direkta silang nakikipag-ugnayan sa mga follower, fan, buyer, at iba pang partido, gamit lang ang smart contract. + +4. Bilang mga decentralized application (dapps) na tumatakbo sa Ethereum network, na itinataguyod ng pandaigdigan at peer-to-peer na network ng mga node, maliit ang posibilidad na makaranas ng downtime at paghinto ng server ang mga decentralized social network. + +5. Nagbibigay ang mga decentralized social platform ng mas magandang framework ng monetization para sa mga content creator sa pamamagitan ng mga non-fungible token (NFTs), mga in-app na pagbabayad ng crypto, at iba pa. + +6. Sa mga decentralized social network, mataas na antas ng privacy at anonymity ang nakukuha ng mga user. Halimbawa, maaaring mag-sign in ang isang indibidwal sa isang Ethereum-based social network gamit ang ENS profile o wallet—nang hindi kinakailangang magbahagi ng personally identifiable information (PII), tulad ng pangalan, email address, at iba pa. + +7. Umaasa ang mga decentralized social network sa decentralized storage, at hindi sa mga centralized database, na maituturing na mas mainam para sa pag-iingat sa data ng user. + +## Mga decentralized social network sa Ethereum {#ethereum-social-networks} + +Ang Ethereum network na ang pinipiling tool ng mga developer na gumagawa ng decentralized social media dahil sa kasikatan ng mga token nito (ERC-20/ERC-721) at sa malaking bilang ng mga user nito. Narito ang ilang halimbawa ng mga Ethereum-based social network: + +### Peepeth {#peepeth} + +Ang [Peepeth](https://peepeth.com/) ay isang microblogging platform na katulad ng Twitter. Tumatakbo ito sa Ethereum blockchain at gumagamit ito ng IPFS para mag-store ng data ng user. + +Puwedeng magpadala ang mga user ng maiikling mensahe na tinatawag na "Peeps," na hindi made-delete o mababago. Maaari kang kumuha ng mga tip o magbigay ng tip sa kahit sino sa platform sa ether (ETH) nang hindi umaalis sa app. + +### Mirror {#mirror} + +Ang [Mirror](https://mirror.xyz/) ay isang web3-enabled writing platform na may layuning maging decentralized at pagmamay-ari ng mga user. Ang mga user ay maaaring magbasa at magsulat nang libre sa Mirror sa pamamagitan lang ng pagkonekta ng kanilang mga wallet. Maaari ding mangolekta ng mga sulatin ang mga user at mag-subscribe sa mga paborito nilang manunulat. + +Ang mga post na nailathala sa Mirror ay permanenteng iso-store sa Arweave, isang decentralized storage platform, at maaaring i-mint bilang mga collectable na [non-fungible token (NFTs)](/nft/) na tinatawag na Writing NFTs. Ganap na libre para sa mga manunulat ang paggawa ng Writing NFTs, at nangyayari ang pagkolekta sa isang Ethereum L2 — kung kaya, mura, mabilis, at environmentally friendly ang mga transaksyon. + +### MINDS {#minds} + +Ang [MINDS](https://www.minds.com/) ay isa sa mga pinakaginagamit na decentralized social network. Gumagana ito tulad ng Facebook at mayroon na itong milyong-milyong user. + +Ginagamit ng mga user ang native ERC-20 token na $MIND ng platform para bayaran ang mga item. Maaari ding kumita ang mga user ng mga $MIND token sa pamamagitan ng paglalathala ng sikat na content, pag-contribute sa ecosystem, at pag-refer ng iba sa platform. + +## Mga Web2 social network sa Ethereum {#web2-social-networks-and-ethereum} + +Hindi lang ang mga native social platform sa [Web3](/web3/) ang sumusubok na i-incorporate ang blockchain technology sa social media. Pinaplano rin ng maraming centralized platform na i-integrate ang Ethereum sa kani-kanilang infrastructure: + +### Reddit {#reddit} + +Mayroon ang Reddit ng [touted Community Points](https://cointelegraph.com/news/reddit-to-reportedly-tokenize-karma-points-and-onboard-500m-new-users), na [mga ERC-20 token](/developers/docs/standards/tokens/erc-20/) makukuha ng mga user sa pamamagitan ng pag-post ng de-kalidad na content at pag-contribute sa mga online na komunidad (mga subreddit). Mare-redeem mo ang mga token na ito sa isang subreddit upang [makakuha ng mga eksklusibong pribilehiyo at benepisyo](https://www.reddit.com/community-points/). Para sa proyektong ito, nakikipagtulungan ang Reddit sa Arbitrum, na isang [layer 2](/layer-2/) rollup na idinisenyo para sukatin ang mga transaksyon sa Ethereum. + +Live na ang programa, at nagpapatakbo ang subreddit na r/CryptoCurrency [ng bersyon nito ng Community Points na tinatawag na "Moons"](https://www.reddit.com/r/CryptoCurrency/wiki/moons_wiki). Ayon sa opisyal na paglalarawan, "ginagantimpalaan ng Moons ang mga poster, commenter, at moderator para sa kanilang mga kontribusyon sa subreddit." Dahil ang mga token na ito ay nasa blockchain (natatanggap ng mga user ang mga ito sa kanilang mga wallet), hiwalay ang mga ito sa Reddit at hindi maaaring kunin. + +Matapos ang beta phase sa Rinkeby testnet, nasa [Arbitrum Nova](https://nova.arbitrum.io/) na ngayon ang Community Points sa Reddit, na isang blockchain na pinagsasama ang mga property ng [sidechain](/developers/docs/scaling/sidechains/) at [optimistic rollup](/developers/docs/scaling/optimistic-rollups/). Maliban sa paggamit ng Community Points para makuha ang mga espesyal na feature, maaari ding i-trade ng mga user sa fiat sa mga exchange. Gayudin, ang dami ng Community Points na pagmamay-ari ng isang user ang nagtatakda ng kanyang impluwensya sa proseso ng pagpapasya sa loob ng komunidad. + +### Twitter {#twitter} + +Noong Enero 2021, inilunsad ng Twitter Blue [ ang suporta para sa mga non-fungible token (NFTs)](https://mashable.com/article/twitter-blue-nft-profile-picture), na nagpapahintulot sa mga users na ikonekta ang kanilang mga wallet at ipakita ang NFTs bilang profile picture. Habang isinusulat ito, [nag-anunsyo rin ng mga plano](https://www.theverge.com/2021/8/16/22627435/twitter-bluesky-lead-jay-graber-decentralized-social-web) ang social media company na gumawa ng decentralized social network sa hinaharap. + +### Instagram {#instagram} + +Noong Mayo 2022, [inanunsyo ng Instagram ang suporta para sa NFTs sa Ethereum at Polygon](https://about.instagram.com/blog/announcements/instagram-digital-collectibles). Direktang mapo-post ng mga user ang NFTs sa Instagram sa pamamagitan ng pagkonekta ng kanilang Ethereum wallet. + +## Gumamit ng mga decentralized social network {#use-decentralized-social-networks} + +- **[Status.im](https://status.im/)** - _Ang Status ay isang secure na messaging app na gumagamit ng open-source, peer-to-peer protocol, at end-to-end encryption upang protektahan ang iyong mga mensahe mula sa mga third party._ +- **[Mirror.xyz](https://mirror.xyz/)** - _Ang Mirror ay isang decentralized publishing platform na pagmamay-ari ng mga user na ginawa sa Ethereum magawa ng mga user na mangalap ng mga ideya, pagkakitaan ang content, at bumuo ng mga high-value na komunidad._ +- **[Lens Protocol](https://lens.xyz/)** - _Ang Lens Protocol ay isang composable at decentralized social graph na tumutulong sa mga creator na maipakitang pagmamay-ari nila ang kanilang content saan man sila pumunta sa digital garden ng decentralized internet._ +- **[Farcaster](https://farcaster.xyz/)** - _Ang Farcaster ay isang sapat na decentralized na social network. Open protocol ito na puwedeng suportahan ang maraming client, katulad ng email._ + +## Karagdagang pagbabasa {#further-reading} + +### Mga Artikulo {#articles} + +- [Pag-decentralize sa social media: isang gabay sa web3 social stack](https://www.coinbase.com/blog/decentralizing-social-media-a-guide-to-the-web3-social-stack) - _Coinbase Ventures_ +- [Ang Mga Social Network ang Susunod na Malaking Oportunidad para sa Decentralization](https://www.coindesk.com/tech/2021/01/22/social-networks-are-the-next-big-decentralization-opportunity/) — _Ben Goertzel_ +- [Ang Web3 ang susi mga social network na decentralized at pinapatakbo ng komunidad](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) — _Sumit Ghosh_ +- [Pangkalahatang-ideya ng Landscape ng Blockchain Social Media](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — _Gemini Cryptopedia_ +- "[Paano Malulutas ng Blockchain ang Problema sa Privacy sa Social Media](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _Prableen Bajpai_." +- [Papunta na sa Blockchain ang Mga Social Media Network](https://businesstechguides.co/what-are-decentralized-social-networks) — _Emmanuel Awosika_ +- [Sapat na Decentralization para sa Mga Social Network](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) — _Varun Srinivasan_ + +### Videos {#videos} + +- [Paliwanag Tungkol sa Decentralized Social Media](https://www.youtube.com/watch?v=UdT2lpcGvcQ) — _Coinmarketcap_ +- [Gustong I-decentralize ng DeSo Blockchain ang Social Media](https://www.youtube.com/watch?v=SG2HUiVp0rE) — _Bloomberg Technology_ +- [Ang Kinabukasan ng Decentralized Social Media kasama sina Balaji Srinivasan, Vitalik Buterin, Juan Benet](https://www.youtube.com/watch?v=DTxE9KV3YrE) — _ETHGlobal_ + +### Mga Komunidad {#communities} + +- [Discord Server ng Status](https://discord.com/invite/3Exux7Y) +- [Discord Server ng Mirror](https://discord.com/invite/txuCHcE8wV) +- [Subreddit na r/CryptoCurrency](https://www.reddit.com/r/CryptoCurrency/) diff --git a/src/content/translations/fil/staking/dvt/index.md b/src/content/translations/fil/staking/dvt/index.md new file mode 100644 index 00000000000..370f6183b37 --- /dev/null +++ b/src/content/translations/fil/staking/dvt/index.md @@ -0,0 +1,91 @@ +--- +title: Distributed validator technology +description: Gamit ang distributed validator technology, pinaghihiwa-hiwalay ang operasyon ng Ethereum validor sa maraming partido. +lang: fil +--- + +# Distributed validator technology {#distributed-validator-technology} + +Ang distributed validator technology (DVT) ay isang estratehiya sa seguridad ng validator kung saan pinaghihiwa-hiwalay sa maraming partido ang mga pangunahing responsibilidad at pag-sign para mabawasan ang mga single point of failure, at para mapahusay ang resiliency ng validator. + +Ginagawa ito sa pamamagitan ng **paghahati ng pribadong key** na ginagamit upang mag-secure ng validator **sa maraming computer** na isinaayos sa isang "cluster". Mainam ito dahil pinapahirap nito para sa mga attacker na magkaroon ng access sa key, dahil hindi ito naka-store nang buo sa kahit anong machine. Dahil din dito, puwedeng mag-offline ang ilang node, dahil magagawa ng isang subset ng mga machine sa bawat cluster ang kinakailangang pag-sign. Binabawasan nito ang mga single point of failure sa network at mas pinapahusay nito ang buong validator set. + +![Isang Diagram na nagpapakita kung paano hinahati ang isang validator key at inilalagay sa maraming node na may iba't ibang component.](./dvt-cluster.png) + +## Bakit kailangan natin ang DVT? {#why-do-we-need-dvt} + +### Seguridad {#security} + +Gumagawa ang mga validator ng dalawang pares ng pampubliko at pribadong key: mga validator key para sa pakikilahok sa consensus at mga withdrawal key para sa pag-access sa mga pondo. Bagama't mase-secure ng mga validator ang mga withdrawal key sa cold storage, dapat online 24/7 ang mga pribado key ng validator. Kung makokompromiso ang pribadong key ng validator, makokontrol ng attacker ang validator na posibleng maging dahilan ng pag-slash o pagkawala ng ETH ng staker. Makakatulong ang DVT na mapaliit ang panganib na ito. Narito kung paano: + +Sa pamamagitan ng paggamit ng DVT, puwedeng mag-stake ang mga staker habang nasa cold storage ang mga pribadong key ng validator. Magagawa ito sa pamamagitan ng pag-encrypt ng orihinal at kumpletong key ng validator at paghahati nito sa mga key share. Nananatili online ang mga key share at inilalagay sa maraming node, kung kaya, naisasagawa ang distributed na operasyon ng validator. Naisasagawa ito dahil gumagamit ang mga Ethereum validator ng mga BLS signature na additive. Ibig sabihin nito, mabubuo ulit ang kumpletong key sa pamamagitan ng pagsasama-sama ng mga component ng mga ito. Dahil dito, secure na maitatabi offline ng staker ang kumpleto at orihinal na 'master' key ng validator. + +### Walang single point of failure {#no-single-point-of-failure} + +Kapag hinati ang isang validator sa maraming operator at maraming machine, malalabanan nito ang mga pagpalya ng mga indibidwal na hardware at software nang hindi nagiging offline. Mapapaliit din ang mga panganib ng pagpalya sa pamamagitan ng paggamit ng iba't ibang configuration ng hardware at software sa mga node sa isang cluster. Hindi available ang ganitong resiliency sa mga configuration ng validator na may isang node - ito ay nagmumula sa DVT layer. + +Kung masisira ang isa sa mga component ng machine sa isang cluster (halimbawa, kung may apat na operator sa isang cluster ng validator at gumagamit ang isa sa mga ito ng partikular na client na may bug), tinitiyak ng ibang component na patuloy na tatakbo ang validator. + +### Desentralisasyon {#decentralization} + +Mainam para sa Ethereum na magkaroon ng lahat ng hiwalay na pinapatakbong validator na makakaya. Gayunpaman, may ilang staking provider na mas madalas na ginagamit at ang mga ito ang responsable sa malaking bahagi ng kabuuang halaga ng na-stake na ETH sa network. Puwedeng hayaan ng DVT ang mga operator na ito habang pinapanatili ang decentralization ng stake. Ito ay dahil inilalagay sa maraming machine ang mga key para sa bawat validator at kakailanganin ng mas malaking sabwatan para maging mapaminsala ang isang validator. + +Kung walang DVT, mas madali para sa mga staking provider na suportahan lang ang isa o dalawang configuration ng client para sa lahat ng kanilang mga validator, na nagpapatindi sa epekto ng isang bug sa client. Ang DVT ay maaaring gamitin upang ikalat ang panganib sa maraming configuration ng client at iba't ibang hardware, na siyang gumagawa ng resilience sa pamamagitan ng diversity. + +**Ibinibigay ng DVT ang mga sumusunod na benepisyo sa Ethereum:** + +1. **Decentralization** ng consensus ng patunay ng stake ng Ethereum +2. Tinitiyak ang **liveness** ng network +3. Gumagawa ng **tolerance sa problema** para sa mga validator +4. Operasyon ng **Trust minimized** na validator operation +5. **Mas kaunting slashing** at panganib ng downtime +6. **Pinapaigting ang diversity** (client, data center, lokasyon, regulasyon, at iba pa.) +7. **Pinaigting na seguridad** ng pamamahala ng key ng validator + +## Paano gumagana ang DVT? {#how-does-dvt-work} + +Ang DVT (Decentralized Virtual Token) solution ay naglalaman ng mga sumusunod na component: + +- **[Shamir's secret sharing](https://medium.com/@keylesstech/a-beginners-guide-to-shamir-s-secret-sharing-e864efbf3648)** - Gumagamit ang mga validator ng [mga BLS key](https://tl.wikipedia.org/wiki/Boneh%E2%80%93Lynn%E2%80%93Shacham). Ang mga indibidwal na "key share" ng BLS ("mga key share") ay maaaring pagsama-samahin sa isang aggregated key (signature). Sa DVT, ang pribadong key para sa isang validator ay ang pinagsama-samang BLS signature ng bawat operator sa cluster. +- **[Threshold signature scheme](https://medium.com/nethermind-eth/threshold-signature-schemes-36f40bc42aca)** - Itinatakda ang bilang ng mga indibidwal na key share na kailangan para sa mga gawain sa pag-sign, hal., 3 sa 4. +- **[Distributed key generation (DKG)](https://medium.com/toruslabs/ang-distributed-key-generation-dkg-221fa40d0b4a)** - Cryptographic na prosesong gumagawa ng mga key share at ginagamit upang ipamahagi ang mga share ng isang kasalukuyan o bagong key ng validator sa mga node sa isang cluster. +- **[Multiparty computation (MPC)](https://messari.io/report/applying-multiparty-computation-to-the-world-of-blockchains)** - Lihim na ginagawa ang kumpletong key ng validator gamit ang multiparty computation. Hindi malalaman ng kahit anong indibidwal na operator ang kumpletong key—isang bahagi lang nito ang malalaman ng mga ito (ang "share" ng mga ito). +- **Protocol ng Consensus** - Pumipili ang protocol ng consensus ng isang node upang maging proposer ng block. Kahati ng mga ito sa block ang iba pang node sa cluster, na nagdaragdag ng kanilang mga key share sa aggregate signature. Kapag sapat na ang mga key share na na-aggregate, ipo-propose sa Ethereum ang block. + +May built-in na tolerance sa problema ang mga distributed validator at patuloy na tatakbo ang mga ito kahit mag-offline ang ilan sa mga indibidwal na node. Ibig sabihin nito, resilient ang cluster kahit pa maging mapaminsala o lazy ang ilan sa mga node. + +## Mga use case ng DVT {#dvt-use-cases} + +May malalaking epekto ang DVT para sa mas malawak na industriya ng staking: + +### Mga solo staker {#solo-stakers} + +Binibigyang-daan din ng DVT ang non-custodial staking sa pamamagitan ng pagpapahintulot sa iyong ilagay ang key ng validator mo sa mga remote node habang pinapanatiling ganap na offline ang kumpletong key. Ibig sabihin nito, hindi kailangang maglaan ng pera ng mga home staker para sa hardware, habang mas malalabanan nila ang mga potensyal na pag-hack sa pamamagitan ng pamamahagi ng mga key share. + +### Staking as a service (SaaS) {#saas} + +Ang mga operator (tulad ng mga staking pool at institusyonal na staker) na namamahala ng maraming validator ay maaaring gumamit ng DVT upang mapaliit ang kanilang panganib. Sa pamamagitan ng pamamahagi ng kanilang infrastructure, makakapagdagdag ang mga ito ng redundancy sa kanilang mga operasyon at pag-iba-ibahin ang mga uri ng hardware na ginagamit ng mga ito. + +Ibinabahagi ng DVT ang responsibilidad para sa pamamahala ng key sa iba't ibang mga node, na nangangahulugang maibabahagi rin ang gastos sa operasyon. Mapapaliit ng DVT ang panganib sa operasyon at gastos sa insurance para sa mga staking provider. + +### Staking pools {#staking-pools} + +Dahil sa mga standard na setup ng validator, ang mga staking pool at liquid staking provider ay inaatasang magkaroon ng iba't ibang antas ng tiwala sa nag-iisang operator dahil ang mga kita at pagkalugi ay ipinapamahagi sa buong pool. Umaasa rin ang mga ito na poprotektahan ng mga operator ang mga signing key dahil, hanggang ngayon, wala nang iba pang opsyon ang mga ito. + +Kahit na gumawa ng mga tradisyonal na pagsisikap upang ikalat ang panganib sa pamamagitan ng pamamahagi ng mga stake sa maraming operator, hiwalay pa ring pinapamahalaan ng bawat operator ang isang malaking stake. Ang pagtitiwala sa nag-iisang operator ay nagdudulot ng malalaking panganib kung hindi magiging mahusay ang performance nito, magkaroon ito ng downtime, makokompromiso ito, o kumilos sa mapaminsalang paraan. + +Sa pamamagitan ng paggamit ng DVT, lubos na lumiliit ang tiwalang kailangan mula sa mga operator. **Sa tulong ng mga pool, puwedeng pangasiwaan ng mga operator ang mga stake nang hindi kinakailangang magkaroon ng mga key ng validator** (dahil mga key share lang ang ginagamit). Binibigyang-daan din nito na ipamahagi sa mas maraming operator ang mga stake (hal., sa halip na magkaroon ng nag-iisang operator na namamahala ng 1000 validator, binibigyang-daan ng DVT na pangasiwaan ang mga validator na iyon ng maraming operator). Titiyakin ng iba't ibang configuration ng operator na kung may masisira mang isang operator, makakapag-attest pa rin ang iba. Nagreresulta ito sa redundancy at diversification na nagdudulot ng mas magandang performance at resilience, habang mina-maximize ang mga reward. + +Ang isa pang benepisyo ng pagpapaliit sa tiwala sa nag-iisang operator ay maaaring pahintulutan ng mga staking pool ang mas bukas at walang pahintulot na partisipasyon ng mga operator. Sa pamamagitan nito, mapapaliit ng mga serbisyo ang kanilang panganib at masusuportahan nila ang decentralization ng Ethereum sa pamamagitan ng paggamit ng mga curated at walang pahintulot na hanay ng mga operator, halimbawa, sa pamamagitan ng pagpapares ng mga home o mas maliit na staker sa mas malalaking staker. + +## Mga potensyal na problema sa paggamit ng DVT {#potential-drawbacks-of-using-dvt} + +- **Karagdagang component** - ang pagdaragdag ng DVT node ay nagdaragdag ng isa pang bahagi na posibleng magkaproblema o maging vulnerable. Ang isang paraan upang maibsan ito ay ang pagtutok sa pagkakaroon ng maraming implementation ng isang DVT node, na tumutukoy sa maraming DVT client (tulad ng pagkakaroon ng maraming client para sa mga layer ng consensus at execution). +- **Gastos sa operasyon** - dahil ang DVT ang namamahagi ng validator sa maraming partido, nangangailangan ng mas maraming tool para sa operasyon sa halip na isang node lang, kaya mas lumalaki ang gastos sa operasyon. +- **Posibleng mas mataas na latency** - dahil gumagamit ang DVT ng protocol ng consensus para magkaroon ng consensus sa maraming mode na nagpapatakbo ng isang operator, posible itong magdulot ng mas mataas na latency. + +## Further Reading {#further-reading} + +- [Specs ng Ethereum distributed validator (mataas na antas)](https://github.com/ethereum/distributed-validator-specs) +- [Technical specs ng Ethereum distributed validator](https://github.com/ethereum/distributed-validator-specs/tree/dev/src/dvspec) +- [Shamir secret sharing demo app](https://iancoleman.io/shamir/) diff --git a/src/content/translations/fil/staking/pools/index.md b/src/content/translations/fil/staking/pools/index.md new file mode 100644 index 00000000000..92a55c9a1b9 --- /dev/null +++ b/src/content/translations/fil/staking/pools/index.md @@ -0,0 +1,85 @@ +--- +title: Pooled staking +description: Pangkalahatang-ideya tungkol sa kung paano magsimula sa pooled staking ng ETH +lang: fil +template: staking +emoji: ":money_with_wings:" +image: ../../../../../assets/staking/leslie-pool.png +alt: Lumalangoy sa pool ang rhino na si Leslie. +sidebarDepth: 2 +summaryPoints: + - Mag-stake at makakuha ng mga reward sa anumang halaga ng ETH sa pamamagitan ng pakikipagtulungan sa iba + - Ipaubaya ang validator sa third party para sa mas madali at simpleng proseso + - Ilagay ang mga staking token sa sarili mong wallet +--- + +## Ano ang mga staking pool? {#what-are-staking-pools} + +Isang collaborative approach ang mga staking pool para payagan ang maraming may mas maliliit na halaga ng ETH na makuha ang 32 ETH na kailangan para ma-activate ang isang set ng mga key ng validator. Hindi native na sinusuportahan sa protocol ang pooling functionality, kaya hiwalay na gumawa ng mga solution para tugunan ang pangangailangang ito. + +May ilang pool na gumagamit ng mga smart contract, kung saan maaaring ideposito ang mga pondo sa isang contract, na namamahala at sumusubaybay sa stake mo nang hindi umaasa sa third party, at nagbibigay sa iyo ng token na kumakatawan sa halagang ito. Maaaring hindi gumagamit ang ibang pool ng mga smart contract at off-chain na lang isinasaayos. + +## Bakit dapat mag-stake sa isang pool? {#why-stake-with-a-pool} + +Bukod sa mga benepisyo na aming inilahad sa aming [panimula sa staking](/staking/), ang staking sa isang pool ay may iba't ibang natatanging benepisyo. + + + + + + + + + +## Ano ang dapat isaalang-alang {#what-to-consider} + +Ang pooled o delegated staking ay hindi native na sinusuportahan ng Ethereum protocol, ngunit dahil sa demand ng mga user na mag-stake ng wala pang 32 ETH, mas maraming solution ang binuo upang punan ang demand na ito. + +Ang bawat tool at ang mga tool o smart contract na ginagamit ng mga ito ay ginawa ng iba't ibang team, at may mga benepisyo at panganib ang bawat isa sa mga ito. Binibigyang-daan ng mga pool ang mga user na i-swap ang ETH nila sa token na kumakatawan sa staked ETH. Ang token ay kapaki-pakinabang dahil ito'y binibigyang-daan nito ang mga user na i-swap ang kahit anong halaga ng ETH sa yield-bearing token na may katumbas na halaga na kumikita mula sa mga reward sa staking na inilalapat sa kasalukuyang staked ETH (at vice versa) sa mga decentralized exchange kahit na ang mismong ETH ay mananatiling staked sa consensus layer. Nangangahulugan ito na ang pag-swap sa at mula sa yield-bearing staked-ETH product at "raw ETH" ay mabilis, madali, at hindi lang available sa mga multiple ng 32 ETH. + +Gayunpaman, ang mga staked-ETH token na ito ay karaniwang nagdudulot ng mga kagawiang mala-cartel kung saan nakokontrol ng ilang centralized na organisasyon ang malaking halaga ng staked ETH sa halip na sa maraming independiyenteng indibidwal. Dahil dito, nagkakaroon ng sitwasyong nagbibigay-daan sa censorship o pagkuha ng halaga. Sa staking, palaging ang pinakamainam na sitwasyon ay ang mga indibidwal ang nagpapatakbo ng mga validator sa sarili nilang hardware hangga't maaari. + +[Iba pang detalye tungkol sa mga panganib ng pag-stake ng mga token](https://notes.ethereum.org/@djrtwo/risks-of-lsd). + +Gumagamit ng mga attribute indicator sa ibaba para ipakita ang mga kapansin-pansing kalakasan o kahinaan ng isang nakalistang staking pool. Gamitin ang seksyong ito bilang sanggunian sa kung paano namin tinutukoy ang mga attribute na ito habang pumipili ka ng pool na sasalihan. + + + +## Tingnan ang mga staking pool {#explore-staking-pools} + +May iba't ibang opsyon na available upang tulungan ka sa iyong setup. Gamitin ang mga indicator sa itaas para magabayan ka sa mga tool sa ibaba. + + + + + +Tandaan ang kahalagahan ng pagpili ng serbisyo na seryoso sa [client diversity](/developers/docs/nodes-and-clients/client-diversity/), dahil pinapaigting nito ang seguridad ng network, at nililimitahan nito ang iyong panganib. Matutukoy ang mga serbisyo na may patunay ng paglilimita ng pangunahing paggamit ng client sa pamamagitan ng "execution client diversity" at "consensus client diversity." + +May mungkahi para sa staking tool na hindi namin nabanggit? Tingnan ang aming [patakaran sa product listing](/contributing/adding-staking-products/) para malaman kung ito ay angkop, at isumite ito para masuri. + +## Mga karaniwang itanong {#faq} + + +Karaniwang ibinibigay ang mga ERC-20 staking token sa mga staker na kumakatawan sa halaga ng kanilang staked ETH at mga reward. Tandaan na medyo magkakaiba ang paraan ng iba't ibang pool ng pamamahagi ng mga reward para sa staking sa kanilang mga user, pero pangkaraniwan ito. + + + +Ngayon na! Ang Shanghai/Capella network upgrade ay nangyari noong Abril 2023, at inilunsad nito ang mga pag-withdraw sa staking. Ang mga validator accounts na sumusuporta sa mga staking pool ngayon ay may kakayahang umalis at i-withdraw ang ETH at ilagay sa kanilang itinakdang withdrawal address. Dahil dito, magkakaroon ka ng kakayahang i-redeem ang bahagi mo sa stake para sa kasalukuyang ETH. Magtanong sa iyong provider upang malaman kung paano nila sinusuportahan ang functionality na ito. + +Binibigyang-daan naman ng mga pool na gumagamit ng ERC-20 staking token ang mga user na i-trade ang token na ito sa open market. Kung gayon, maibebenta mo ang iyong staking position at makakapag-"withdraw" ka nang hindi inaalis ang EH sa staking contract. + +Iba pang detalye tungkol sa mga pag-withdraw sa staking + + + +Maraming pagkakatulad ang mga opsyong ito sa pooled staking at mga centralized exchange, gaya ng kakayahang mag-stake ng maliliit na halaga ng ETH at pagsama-samahin ang mga ito upang mapagana ang mga validator. + +Hindi katulad ng mga centralized exchange, gumagamit ang maraming iba pang opsyon sa pooled staking ng mga smart contract a/o mga staking token, na karaniwang mga ERC-20 token na puwedeng ilagay sa sarili mong wallet, at mabili o maibenta gaya ng ibang token. Nagbibigay ito ng layer ng sovereignty at seguridad sa pamamagitan ng pagbibigay sa iyo ng kontrol sa iyong mga token, pero hindi ka pa rin nito bibigyan ng direktang kontrol sa validator client na nagpapatunay para sa iyo sa background. + +May ilang opsyon sa pooling na mas decentralized kumpara sa iba pagdating sa mga node na sumusuporta sa mga ito. Upang itaguyod ang kalagayan at decentralization ng network, palaging hinihikayat ang mga staker na pumili ng pooling service na nag-e-enable ng isang set ng mga node operator na hindi kailangan ng pahintulot at decentralized. + + +## Karagdagang pagbabasa {#further-reading} + +- [Pag-stake gamit ang Rocket Pool - Pangkalahatang-ideya ng Staking](https://docs.rocketpool.net/guides/staking/overview.html) - _Mga dokumento ng RocketPool_ +- [Pag-stake ng Ethereum gamit ang Lido](https://help.lido.fi/en/collections/2947324-staking-ethereum-with-lido) - _Mga pantulong na dokumento ng Lido_ diff --git a/src/content/translations/fil/staking/saas/index.md b/src/content/translations/fil/staking/saas/index.md new file mode 100644 index 00000000000..9bc9155ac85 --- /dev/null +++ b/src/content/translations/fil/staking/saas/index.md @@ -0,0 +1,94 @@ +--- +title: Staking bilang serbisyo +description: Pangkalahatang-ideya tungkol sa kung paano magsimula sa pooled staking ng ETH +lang: fil +template: staking +emoji: ":money_with_wings:" +image: ../../../../../assets/staking/leslie-saas.png +alt: Lumulutang sa ulap ang rhino na si Leslie. +sidebarDepth: 2 +summaryPoints: + - Ang mga third-party node operator ang nangangasiwa sa operasyon ng iyong validator client + - Magandang opsyon para sa sinumang may 32 ETH na hindi kumportable sa pagiging teknikal at kumplikado ng pagpapatakbo ng node + - Iwasang umasa sa iba, at panatilihing hawak mo ang iyong mga withdrawal key +--- + +## Ano ang staking bilang serbisyo? {#what-is-staking-as-a-service} + +Ang Staking as a Service (“SaaS") ay kumakatawan sa kategorya ng mga serbisyo sa staking kung saan mo idineposito ang sarili mong 32 ETH para sa isang validator, ngunit itinatalaga mo ang operasyon ng node sa isang third-party operator. Kadalasan, sa prosesong ito, ginagabayan ka sa buong inisyal na pag-set up, na kinabibilangan ng paggawa at pag-deposit ng key, at pagkatapos ay ia-upload ng mga signing key mo sa operator. Sa tulong nito, papatakbuhin ng serbisyo ang iyong validator para sa iyo, na kadalasang may bayad kada buwan. + +## Bakit dapat mag-stake sa gamit ang isang serbisyo? {#why-stake-with-a-service} + +Hindi native na sinusuportahan ng Ethereum protocol ang pagtatalaga ng stake, kaya ginawa ang mga serbisyong ito para punan ang demand na ito. Kung mayroon kang 32 ETH na ise-stake, pero hindi ka kumportableng mangasiwa ng hardware, binibigyang-daan ka ng mga serbisyong SaaS na italaga ang mahirap na trabaho habang nakakakuha ka ng mga native na block reward. + + + + + + + + + +## Ano ang dapat isaalang-alang {#what-to-consider} + +Dumarami ang mga SaaS provider na tutulong sa iyong i-stake ang ETH mo, pero may kanya-kanyang benepisyo at panganib ang mga ito. Ang lahat ng opsyon sa SaaS ay nangangailangan ng mga karagdagang trust assumption kumpara sa home-staking. Ang mga opsyon sa Saas ay maaaring naglalagay ng karagdagang code sa mga Ethereum clients na hindi bukas o mao-audit. Mayroon ding hindi magandang epekto ang SaaS sa decentralization ng network. Depende sa setup, maaaring hindi mo kontrolado ang iyong validator - maaaring gamitin ng operator ang iyong ETH sa maling paraan. + +Ang mga attribute indicator ay ginagamit sa ibaba para ipakita ang mga kapansin-pansing kalakasan o kahinaas ng isang nakalistang SaaS provider. Gamitin ang seksyong ito bilang sanggunian sa pagtukoy ng mga katangian na ito habang pumipili ka ng serbisyong tutulong sa iyo sa iyong pag-stake. + + + +## Tingnan ang mga staking service provider {#saas-providers} + +Nasa ibaba ang ilang available na SaaS provider. Gamitin ang mga indicator sa itaas upang tulungan kang gamitin ang mga serbisyong ito + + + +#### Mga SaaS provider + + + +Tandaan ang kahalagahan ng pagsuporta sa [client diversity](/developers/docs/nodes-and-clients/client-diversity/) dahil pinapaigting nito ang seguridad ng network, at nililimitahan nito ang iyong panganib. Matutukoy ang mga serbisyo na may patunay ng paglilimita ng pangunahing paggamit ng client sa pamamagitan ng "execution client diversity" at "consensus client diversity." + +#### Mga Generator ng Key + + + +Mayroong mungkahi para sa staking-as-a-service provider na hindi namin napansin? Tingnan ang aming [patakaran sa product listing](/contributing/adding-staking-products/) para malaman kung ito ay angkop, at isumite ito para masuri. + +## Mga karaniwang itanong {#faq} + + +Mag-iiba ang mga usapan depende sa provider, pero karaniwan kang gagabayan sa pag-set up ng anumang signing key na kailangan mo (isa kada 32 ETH), at ia-upload ang mga ito sa iyong provider para payagan ang mga itong mag-validate para sa iyo. Hindi nagbibigay ang mga signing key ng anumang kakayahang mag-withdraw, mag-transfer, o gastusin ang iyong pondo. Gayunpaman, nagbibigay ang mga ito ng kakayahang bumoto para sa consensus, na kung hindi maayos na gagawin ay maaaring magdulot ng mga parusa offline o slashing. + + + +Oo. Ang bawat account ay binubuo ng mga BLS signing key at mga BLS withdrawal key. Upang magawa ng isang validator na patunayan ang kalagayan ng chain, lumahok sa mga sync committee at magmungkahi ng mga block, dapat maa-access kaagad ng validator client ang mga signing key. Dapat nakakonekta ang mga ito sa internet, at nang sa gayon ay maituturing na mga "hot" key. Isa itong kahingian para makapagpatunay ang iyong validator, kung kaya, pinaghihiwalay ang mga key na ginagamit para mag-transfer o mag-withdraw ng pondo para sa mga dahilang panseguridad. + +Ang mga BLS withdrawal key ay ginagamit upang mag-sign ng one-time na mensahe na nagtatakda kung saang execution layer account mapupunta ang mga staking reward at inilabas na pondo. Kapag na-broadcast na ang mensaheng ito, hindi na kailangan ang mga BLS withdrawal key. Sa halip, permanenteng itatalaga ang kontrol sa na-withdraw na pondo sa address na ibinigay mo. Binibigyang-daan ka nitong magtakda ng withdrawal address na naka-secure sa pamamagitan ng iyong sariling cold storage, na nagpapaliit sa posibilidad na manganib ang pondo ng iyong validator, kahit na may ibang nagkokontrol ng mga signing key ng iyong validator. + +Kailangang i-update ang mga kredensyal sa pag-withdraw para makapag-withdraw\*. Sa prosesong ito, gagawin ang mga withdrawal key gamit ang iyong mnemonic seed phrase. + +Tiyaking maingat mong iba-back up ang seed phrase na ito, kung hindi ay hindi mo magagawa ang iyong mga withdrawal key kapag kailangan na itong gawin. + +\*Hindi ito kailangang itakda ng mga staker na nagbigay ng withdrawal address na may inisyal na deposito. Magtanong sa iyong SaaS provider para sa suporta tungkol sa kung paano ihanda ang iyong validator. + + + +Inilunsad ang pag-withdraw sa staking sa Shanghai/Capella upgrade noong Abril 2023. Kailangang magbigay ng mga staker ng withdrawal address (kung hindi ito ibinigay sa inisyal na deposito), at awtomatikong sisimulang ipamahagi ang mga reward payment kada ilang araw. + +Puwede ring ganap na umalis ang mga validator bilang validator, na siyang mag-a-unlock ng natitirang nilang ETH balance para ma-withdraw. Matatanggap ng mga account na nagbigay ng execution withdrawal address at nakatapos ng proseso ng pag-alis ang kanilang buong balanse sa withdrawal address na ibinigay sa susunod na validator sweep. + +Iba pang detalye tungkol sa mga pag-withdraw sa staking + + + +Sa pamamagitan ng paggamit ng SaaS provider, ipinagkakatiwala mo ang operasyon ng node mo sa iba. May kaakibat itong panganib ng hindi magandang performance ng node, na hindi mo makokontrol. Kung ma-slash ang validator mo, papatawan ng parusa ang validator balance mo at puwersahang aalisin sa validator pool. + +Kapag natapos na ang proseso ng slashing/pag-alis, ita-transfer ang pondong ito sa withdrawal address na nakatalaga sa validator. Para ma-enable ito, kailangang magbigay ng withdrawal address. Maaaring naibigay na ito sa inisyal na deposito. Kung hindi, kakailanganing gamitin ang mga withdrawal key ng validator para mag-sign ng mensaheng nagdedeklara ng withdrawal address. Kung walang ibinigay na withdrawal address, hindi makukuha ang pondo hangga't hindi ito naibibigay. + +Makipag-ugnayan sa indibidwal na SaaS provider para sa iba pang detalye tungkol sa anumang guarantee o opsyon sa insurance, at para sa mga tagubilin sa kung paano magbigay ng withdrawal address. Kung gusto mong ikaw lang ang nagkokontrol ng iyong validator setup, magbasa pa tungkol sa kung paano i-solo stake ang iyong ETH. + + +## Karagdagang pagbabasa {#further-reading} + +- [Pagsusuri sa Mga Serbisyo sa Staking](https://www.attestant.io/posts/evaluating-staking-services/) - _Jim McDonald 2020_ diff --git a/src/content/translations/fil/staking/solo/index.md b/src/content/translations/fil/staking/solo/index.md new file mode 100644 index 00000000000..58bd53d5678 --- /dev/null +++ b/src/content/translations/fil/staking/solo/index.md @@ -0,0 +1,203 @@ +--- +title: I-solo stake ang iyong ETH +description: Pangkalahatang-ideya tungkol sa kung paano simulang i-solo stake ang iyong ETH +lang: fil +template: staking +emoji: ":money_with_wings:" +image: ../../../../../assets/staking/leslie-solo.png +alt: Ang rhino na si Leslie na nasa sarili niyang computer chip. +sidebarDepth: 2 +summaryPoints: + - Direktang makatanggap ng maximum rewards mula sa protocol para sa pagpapatakbo nang maayos sa iyong validator at pagpapanatili ritong online + - Patakbuhin ang home hardware at personal na magdagdag sa seguridad at decentralization ng Ethereum network + - Iwasang umasa sa iba, at huwag ibigay sa iba ang kontrol ng mga key sa pondo mo +--- + +## Ano ang solo staking? {#what-is-solo-staking} + +Ang solo staking ay tumutukoy sa [pagpapatakbo ng Ethereum node](/run-a-node/) na nakakonekta sa internet at pagdedeposito ng 32 ETH para mag-activate ng [validator](#faq), na nagbibigay sa iyo ng kakayahang direktang lumahok sa network consensus. + +**Pinapaigting ng solo staking ang decentralization ng Ethereum network**, kung kaya, mas naiiwasan ng Ethereum ang censorship at nalalabanan nito ang mga atake. Maaaring hindi makatulong sa network ang ibang paraan ng staking sa ganitong paraan. Ang solo staking ang pinakamainam na opsyon para sa pag-secure ng Ethereum. + +Ang isang Ethereum node ay binubuo ng execution layer (EL) client at consensus layer (CL) client. Ang mga client na ito ay mga software na nagtutulungan, kasama ang valid na set ng mga signing key, upang mag-verify ng mga transaksyon at mga block, patunayan ang tamang head ng chain, mag-aggregate ng mga attestation, at magmungkahi ng mga block. + +Ang mga solo staker ay responsable sa pagpapatakbo ng hardware na kinakailangan upang patakbuhin ang mga client na ito. Lubos na inirerekomendang gumamit ng nakalaang machine para dito na pinapatakbo mo sa tahanan–makakabuti ito para sa kalagayan ng network. + +Tinatanggap ng solo staker ang mga reward nang direkta mula sa protocol para sa maayos na pagpapatakbo sa kanyang validator at pagpapanatili ritong online. + +## Bakit dapat mag-solo stake? {#why-stake-solo} + +Sa solo staking, mas malaki ang responsibilidad mo pero makokontrol mo nang husto ang pondo at staking setup mo. + + + + + + + +## Mga dapat isaalang-alang bago mag-solo staking {#considerations-before-staking-solo} + +Kahit na gusto nating maging accessible at walang panganib ang solo staking para sa lahat, hindi ito makatotohanan. May ilang praktikal at seryosong bagay na dapat isaalang-alang bago piliing i-solo stake ang iyong ETH. + + + +Kapag pinapatakbo mo ang sarili mong node, dapat kang maglaan ng oras para alamin kung paano gamitin ang napili mong software. Kasama dito ang pagbabasa ng mga kaugnay na dokumentasyon at pagiging updated sa mga komunikasyon ng mga dev team. + +Kung mas nauunawaan mo ang software na iyong pinapatakbo at kung paano gumagana ang patunay ng stake, mas maliit ang panganib bilang staker, at mas madaling ayusin ang anumang problema na maaari mong kaharapin kalaunan bilang operator ng node. + + + +Kapag nagse-set up ng node, kailangang kumportableng gumamit ng mga computer, bagama't pinapadali ito ng mga bagong tool sa paglipas ng panahon. Makakatulong kung nauunawaan ang command-line interface, pero hindi na ito lubos na kinakailangan. + +Ito rin ay nangangailangan ng napaka-basic na hardware setup, at pag-unawa sa minimum na inirerekomendang specs. + + + +Tulad kung paano sine-secure ng mga pribadong key ang iyong Ethereum address, kakailanganin mong gumawa ng mga key na para mismo sa iyong validator. Dapat mong maunawaan kung paano panatilihing ligtas at secure ang anumang seed phrase o pribadong key.{' '} + +Seguridad at pag-iwas sa scam ng Ethereum + + + +May mga pagkakataon na papalya ang hardware, magkakaroon ng error sa mga koneksyon sa network, at may mga pagkakataong kakailanganing i-upgrade ang software ng client. Ang pangangalaga sa node ay hindi maiiwasan at kakailanganin mo itong bigyan ng pansin paminsan-minsan. Kakailanganin mong tiyaking magiging updated ka sa anumang inaasahang upgrade sa network, o iba pang mahahalagang pag-upgrade sa client. + + + +Ang iyong mga reward ay nakabatay sa oras na online ang iyong validator at maayos ang pag-attest. Magpapataw ng penalty para sa downtime na nakabatay sa bilang ng iba pang validator na offline sa parehong panahon, ngunit hindi ito magreresulta sa slashing. Ang bandwidth ay mahalaga rin, dahil nababawasan ang mga reward para sa mga attestation na hindi natatanggap sa tamang oras. Mag-iiba-iba ang mga kahingian, pero inirerekomenda ang hindi bababa sa 10 Mb/s na up at down. + + + +Naiiba sa mga penalty sa kawalan ng aktibidad na ipapataw dahil sa pagiging offline, ang slashing ay isang mas matinding penalty na ipinapataw para sa mga mapaminsalang pagkilos. Sa pamamagitan ng pagpapatakbo ng isang minority client nang naka-load ang iyong mga key sa iisang machine lang sa bawat pagkakataon, lumiliit ang panganib na makaranas ka ng slashing. Sa kabila nito, dapat alam ng lahat ng staker ang mga panganib ng slashing. + + Iba pang detalye tungkol sa slashing at validator lifecycle + + + + + +## Paano ito gumagana {#how-it-works} + + + +Habang aktibo ka, magkakaroon ka ng mga ETH reward, na ide-deposito paminsan-minsan sa iyong withdrawal address. + +Kung gusto mo, maaari kang umalis bilang validator, kung kaya, hindi mo na kailangang maging online at hindi mo na matatanggap ang anupamang reward. Ang iyong natitirang balanse ay iwi-withdraw sa withdrawal address na itatalaga mo sa panahon ng pag-set up. + +[Iba pang detalye tungkol sa mga pag-withdraw sa staking](/staking/withdrawals/) + +## Magsimula sa Staking Launchpad {#get-started-on-the-staking-launchpad} + +Ang Staking Launchpad ay isang open source na application na tutulong sa iyong maging staker. Gagabayan ka nito sa pagpili ng iyong mga client, paggawa ng mga key mo at pagdedeposito ng ETH mo sa staking deposit contract. May checklist na ibinibigay upang tiyakin na nagawa mo ang lahat para ligtas na ma-set up ang iyong validator. + + + +## Ano ang dapat isaalang-alang sa mga tool para sa node at client setup {#node-tool-considerations} + +Dumarami ang mga tool at serbisyo na tutulong sa iyong i-solo stake ang ETH mo, pero may iba't ibang panganib at benepisyo ang bawat isa sa mga ito. + +Ang mga attribute indicator ay ginagamit sa ibaba upang ipahiwatig ang mga kapansin-pansing kalakasan o kahinaan ng isang nakalistang staking tool. Gamitin ang seksyong ito bilang sanggunian sa kung paano namin tinutukoy ang mga attribute na ito habang pumipili ka ng mga tool na tutulong sa iyong staking journey. + + + +## Tingnan ang mga tool para sa pag-set up ng node at client {#node-and-client-tools} + +May iba't ibang opsyon na available upang tulungan ka sa iyong setup. Gamitin ang mga indicator sa itaas para magabayan ka sa mga tool sa ibaba. + + + +#### Mga tool para sa node + + + +Tandaan ang kahalagahan ng pagpili ng [minority client](/developers/docs/nodes-and-clients/client-diversity/) dahil pinapaigting nito ang seguridad ng network, at nililimitahan nito ang iyong panganib. Ang mga tool na nagbibigay-daan sa iyong mag-set up ng minority client ay tinutukoy bilang "multi-client." + +#### Mga Generator ng Key + +Ang mga tool na ito ay maaaring gamitin bilang alternatibo sa [Staking Deposit CLI](https://github.com/ethereum/staking-deposit-cli/) upang tumulong sa paggawa ng key. + + + +May mungkahi para sa staking tool na hindi namin nabanggit? Tingnan ang aming [patakaran sa product listing](/contributing/adding-staking-products/) para malaman kung ito ay angkop, at isumite ito para masuri. + +## Tingnan ang mga gabay sa solo staking {#staking-guides} + + + +## Mga karaniwang itanong {#faq} + +Ilan ito sa mga pinakakaraniwang tanong tungkol sa staking na mahalagang malaman. + + + +Ang validator ay isang virtual entity sa Ethereum at nakikilahok sa consensus ng Ethereum protocol. Ang mga validator ay kinakatawan ng isang balanse, pampublikong key, at iba pang property. Ang validator client ang software na kumikilos para sa validator sa pamamagitan ng pangangasiwa at paggamit sa pribadong key nito. Maaaring mangasiwa ang isang validator client ng maraming pares ng key, na nagkokontrol ng maraming validator. + + + + +Ang bawat key-pair na nauugnay sa isang validator ay nangangailangan ng eksaktong 32 ETH para ma-activate. Ang pagdedeposito ng mas maraming ETH sa isang set ng mga key ay hindi nagpapalaki sa posibildad na makakuha ng mga reward, dahil limitado ang bawat validator sa epektibong balanse na 32 ETH. Ibig sabihin nito, isinasagawa ang staking nang kada 32 ETH, kung saan may sariling set ng mga key at balanse ang bawat isa. + +Huwag magdeposito ng mahigit 32 ETH para sa isang validator. Hindi nito mapaparami ang iyong mga reward. Kung mayroon nang itinakdang withdrawal address para sa validator, ang sobrang pondo na higit sa 32 ETH ay awtomatikong iwi-withdraw sa address na ito sa susunod na validator sweep. + +Kung masyadong matrabaho para sa iyo ang solo staking, pag-isipang gumamit ng staking-as-a-service provider, o kung wala ka pang 32 ETH, tingnan ang mga staking pool. + + + +Ang pagiging offline kapag maayos na nagfa-finalize ang network ay HINDI magreresulta sa slashing. Magkakaroon ng maliliit na penalty para sa kawalan ng aktibidad kung ang iyong validator ay hindi available na magpatunay para sa isang partikular na epoch (tumatagal nang 6.4 minuto ang bawat isa), ngunit labis itong naiiba sa slashing. Ang mga penalty na ito ay bahagyang mas kaunti kaysa sa reward na maaari mo sanang makuha kung available para magpatunay ang validator, at mababawi ang mga pagkalugi sa pamamagitan ng halos katumbas na panahon ng pagiging online ulit. + +Tandaan na ang mga penalty para sa kawalan ng aktibidad ay nakabatay sa bilang ng mga validator na offline sa parehong panahon. Sa mga sitwasyon kung saan sabay-sabay na offline ang malaking bahagi ng network, mas malaki ang ipapataw na penalty para sa bawat isa sa mga validator na ito kumpara kung isang validator lang ang hindi available. + +Sa mga sukdulang sitwasyon, kung hihinto sa pag-finalize ang network dahil offline ang mahigit sa isang-katlo ng mga validator, mapeperhuwisyo ang mga user ng quadratic inactivity leak, na labis na pagkaubos ng ETH mula sa mga offline na validator account. Binibigyang-daan nito ang network na ayusin ang sarili nito sa pamamagitan ng paggamit ng ETH ng mga hindi aktibong validator hanggang sa maging 16 ETH ang kanilang balanse, at sa puntong iyon, awtomatiko silang aalisin sa validator pool. Kalaunan, mapupunan ulit ng mga natitirang online na validator ang 2/3 ng network, na siyang sasapat sa supermajority na kinakailangan para maisapinal ulit ang chain. + + + +Sa madaling salita, hindi ito ganap na masisigurado, ngunit kung kikilos ka nang walang masamang hangarin, magpapatakbo ka ng minority client at papanatilihin mo lang ang mga signing key mo sa isang machine sa bawat pagkakataon, halos zero ang tsansang masa-slash ka. + +Mayroon lang ilang partikular na paraan na maaaring magresulta sa pag-slash ng validator at pag-eject nito sa network. Habang isinusulat ito, ang mga slashing na nangyari ay produkto lang ng mga redundant na hardware setup kung saan sino-store ang mga signing key sa dalawang magkahiwalay na machine sa bawat pagkakataon. Ito ay maaaring hindi sinasadyang magresulta sa isang double vote mula sa iyong mga keys, na isang slashable offense. + +Ang pagpapatakbo ng isang supermajority client (anumang client na ginagamit ng mahigit 2/3 ng network) ay nagdadala rin ng panganib ng potensyal na pag-slash kung sakaling may bug ang client na ito na nagreresulta sa chain fork. Ito ay maaaring magdulot ng depektibong fork na maisasapinal. Upang maibalik sa tamang chain, kinakailangang magsumite ng surround vote sa pamamagitan ng pagsusumikap na bawiin ang isang naisapinal na block. Ito rin ay isang slashable offense at maaari itong maiwasan sa pamamagitan ng pagpapatakbo na lang ng isang minority client. + +Ang mga katumbas na bug sa isang minority client ay hindi kailanman maisasapinal at hindi kailanman magreresulta sa isang surround vote, at magdudulot lang ng mga penalty para sa kawalan ng aktibidad, hindi sa slashing. + + + + + +Maaaring medyo magkakaiba ang performance at user interface ng mga indibidwal na client, dahil ginawa ang bawat isa sa mga ito ng iba't ibang team gamit ang iba't ibang programming language. Gayunpaman, wala sa mga ito ang "pinakamahusay." Ang lahat ng production client ay magagandang uri ng software na nagsasagawa ng mga pangunahing function na mag-sync at mag-interact sa blockchain. + +Dahil ibinibigay ng lahat ng production client ang parehong basic functionality, napakahalaga na pumili ka ng minority client, ibig sabihin, anumang client na HINDI kasalukuyang ginagamit ng karamihan sa mga validator sa network. Maaaring hindi ito rasonable, pero ang pagpapatakbo ng majority o supermajority client ay maglalagay sa iyo sa mas malaking panganib ng slashing kung sakaling magkaroon ng bug sa client na iyon. Labis na nililimitahan ng pagpapatakbo ng minority client ang mga panganib na ito. + +Magbasa pa tungkol sa kung bakit mahalaga ang client diversity + + + +Bagama't maaaring gumamit ng virtual private server (VPS) bilang pamalit sa home hardware, ang pisikal na access at lokasyon ng iyong validator client ay mahalaga. Sa tulong ng mga centralized cloud solution tulad ng Amazon Web Services o Digital Ocean, hindi na kailangang kumuha at magpatakbo ng hardware, ngunit ang kapalit nito ay pag-centralize sa network. + +Kapag mas maraming validator client ang tumatakbo sa isang centralized cloud storage solution, mas magiging mapanganib ito para sa mga user na ito. Kapag nagkaroon ng anumang event na magpapa-offline sa mga provider na ito, isa mang atake, mga panregulatoryong demand, o simpleng pagkawala ng kuryente/internet, sabay-sabay na mag-o-offline ang bawat validator client na umaasa sa server na ito. + +Ang mga penalty sa pagiging offline ay nakabatay sa bilang ng iba pang provider na offline sa parehong panahon. Kapag gumamit ng VPS, mas mapapalaki ang panganib na mas magiging matindi ang ipapataw na penalty sa pagiging offline, at mapapalaki nito ang posibilidad na makaranas ka ng quadratic leaking o slashing kung sakaling maging masyadong malaki ang outage. Upang mapaliit ang panganib para sa iyo at sa network, lubos na hinihikayat ang mga user na kumuha at magpatakbo ng sarili nilang hardware. + + + + +Ang anumang uri ng withdrawal mula sa Beacon Chain ay nangangailangan ng pagtatakda ng mga kredensyal sa pag-withdraw. + +Itinatakda ito ng mga bagong staker sa panahon ng paggawa ng key at deposito. Puwedeng i-upgrade ng mga kasalukuyang staker na hindi pa nakapag-set nito ang kanilang mga key para masuportahan ang functionality na ito. + +Kapag naitakda na ang mga kredensyal sa pag-withdraw, ang mga reward payment (nalikom na ETH matapos ang unang 32) ay pana-panahong awtomatikong ipapamahagi sa withdrawal address. + +Upang ma-unlock at maibalik ang iyong buong balanse, dapat mo ring tapusin ang proseso ng pag-aalis ng iyong validator. + +Iba pang detalye tungkol sa mga pag-withdraw sa staking + + +## Karagdagang pagbabasa {#further-reading} + +- [Ang Problema ng Ethereum sa Client Diversity](https://hackernoon.com/ethereums-client-diversity-problem) - _@emmanuelawosika 2022_ +- [Pagtulong sa Client Diversity](https://www.attestant.io/posts/helping-client-diversity/) - _Jim McDonald 2022_ +- [Client diversity sa consensus layer ng Ethereum](https://mirror.xyz/jmcook.eth/S7ONEka_0RgtKTZ3-dakPmAHQNPvuj15nh0YGKPFriA) - _jmcook.eth 2022_ +- [Paano Dapat Gawin: Bumili ng Hardware para sa Ethereum Validator](https://www.youtube.com/watch?v=C2wwu1IlhDc) - _EthStaker 2022_ +- [Step by Step: Paano sumali sa Ethereum 2.0 Testnet](https://kb.beaconcha.in/guides/tutorial-eth2-multiclient) - _Butta_ +- [Mga Tip para sa Pag-iwas sa Slashing sa Eth2](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50) - _Raul Jordan 2020_ diff --git a/src/content/translations/fil/staking/withdrawals/index.md b/src/content/translations/fil/staking/withdrawals/index.md new file mode 100644 index 00000000000..af141e048f0 --- /dev/null +++ b/src/content/translations/fil/staking/withdrawals/index.md @@ -0,0 +1,218 @@ +--- +title: Mga pag-withdraw ng stake +description: Page na nagbubuod sa kung ano ang mga pag-push withdraw sa staking, paano ito gumagana, at kung ano ang dapat gawin ng mga staker para makuha ang mga reward nila +lang: fil +template: staking +image: ../../../../../assets/staking/leslie-withdrawal.png +alt: Ang rhino na si Leslie kasama ng mga natanggap niyang reward mula sa staking +sidebarDepth: 2 +summaryPoints: + - Binigyang-daan ng Shanghai/Capella upgrade ang mga pag-withdraw sa staking sa Ethereum + - Upang magamit ang serbisyo, kinakailangan ng mga operator ng validator na magbigay ng withdrawal address + - Ang mga reward ay awtomatikong ipinapamahagi kada ilang araw + - Matatanggap ng mga validator na ganap na aalis sa staking ang kanilang natitirang balanse +--- + + +Ang pag-withdraw sa staking ay in-enable kasabay ng Shanghai/Capella ugrade na naganap noong Abril 12, 2023. Iba pang detalye tungkol sa Shanghai/Capella + + +Ang **mga pag-withdraw sa staking** ay tumutukoy sa mga pag-transfer ng ETH mula sa validator account na nasa consensus layer ng Ethereum (ang Beacon Chain), papunta sa execution layer kung saan ito magagamit sa mga transaksyon. + +Ang **mga reward payment para sa sobrang balanse** na mahigit 32 ETH ay awtomatiko at regular na ipapadala sa withdrawal address na naka-link sa bawat validator, kapag ibinigay na ito ng user. Ang mga user ay puwede ring **ganap na umalis sa staking**, na nagbubukas ng kanilang buong balanse bilang validator. + +## Mga reward mula sa staking {#staking-rewards} + +Ang mga reward payment ay awtomatikong ipinoproseso para sa mga aktibong validator account na may maxed out na effective balance na 32 ETH. + +Ang anumang balanse na mahigit 32 ETH na nakamit sa pamamagitan ng mga reward ay hindi talaga nagdadagdag sa pangunahing balanse, o hindi nagpapataas ng weight ng validator sa network, kaya, awtomatiko itong iwi-withdraw bilang reward payment kada ilang araw. Maliban sa pagbibigay ng withdrawal address isang beses, hindi kinakailangan ng anumang aksyon mula sa operator ng validator para sa mga reward na ito. Ito ay nagsisimula sa consensus layer, kung kaya, walang gas (bayarin sa transaksyon) na kinakailangan sa kahit anong hakbang. + +### Paano tayo nakarating dito? {#how-did-we-get-here} + +Sa mga nakaraang taon, ang Ethereum ay sumailalim sa ilang pag-upgrade sa network at nag-transition sa network na pinoprotektahan ng ETH mismo, sa halip ng energy-intensive mining tulad ng dati. Ang paglahok sa consensus sa Ethereum ay kinikilala na ngayon bilang "staking", dahil ang mga kalahok ay boluntaryong naglalagay ng kanilang ETH sa isang "stake" upang magkaroon ng kakayahan na makilahok sa network. Ang mga user na sumusunod sa mga panuntunan ay mabibigyan ng gantimpala, habang ang mga magtatangkang mandaya ay maaaring parusahan. + +Mula nang ilunsad ang staking deposit contract noong Nobyembre 2020, boluntaryong naglagay ang ilang matapang na nanguna sa Ethereum ng mga pondo upang i-activate ang "mga validator", na mga espesyal na account na may karapatang pormal na patunayan ang at magmungkahi ng mga block, alinsunod sa mga panuntunan ng network. + +Bago ang Shanghai/Capella upgrade, hindi mo magamit o ma-access ang iyong staked ETH. Ngunit ngayon, maaari mong piliin awtomatikong matanggap ang iyong mga reward sa isang piling account, at mawi-withdraw mo rin ang iyong staked ETH kung kailan mo gusto. + +### Paano ako maghahanda? {#how-do-i-prepare} + + + +### Mahahalagang paunawa {#important-notices} + +Ang pagbibigay ng withdrawal address ay isang kinakailangang hakbang para sa anumang validator account bago ito maging eligible na mag-withdraw ng ETH mula sa balanse nito. + + + Ang bawat validator account ay maaari lang magkaroon ng isang withdrawal address, nang isang beses lang. Kapag nakapili na ng address at naisumite na ito sa consensus layer, hindi na ito maaaring bawiin o baguhin ulit. I-double check ang pagmamay-ari at katumpakan ng address na ibinigay bago ito isumite. + + +Sa ngayon, walang banta sa pondo mo kung hindi mo ito ibibigay, basta't nananatiling ligtas offline ang iyong mnemonic/seed phrase, at hindi ito nakompromiso sa anumang paraan. Kung hindi maipapakita ang mga kredensyal sa pag-withdraw, hindi makukuha ang ETH sa validator account hangga't hindi nagbibigay ng withdrawal address. + +## Ganap na pag-alis sa staking {#exiting-staking-entirely} + +Kailangang magbigay ng withdrawal address bago ma-transfer ang _anumang_ pondo mula sa balanse ng validator account. + +Ang mga user na nagnanais na ganap na umalis sa staking at i-withdraw ang kanilang buong balanse ay kinakailangan ding mag-sign at mag-broadcast ng mensahe ng "boluntaryong pag-alis" gamit ang mga key ng validator para masimulan ang proseso ng pag-alis sa staking. Ito ay ginagawa gamit ang iyong validator client at isinusumite sa iyong consensus node, at hindi nangangailangan ng gas. + +Ang proseso ng pag-alis ng isang validator sa staking ay gumugugol ng iba't ibang oras, depende sa kung ilan pang validator ang umaalis sa parehong panahon. Kapag tapos na, ang account na ito ay hindi na magiging responsable sa pagganap ng mga tungkulin sa validator network, hindi na eligibile para sa mga reward, at hindi na rin nagse-"stake" ng kanilang ETH. Sa oras na ito, ang account ay ituturing na ganap nang "withdrawable". + +Kapag ang isang account ay na-flag na bilang "withdrawable", at nagbigay na ng mga kredensyal sa pag-withdraw, wala nang kailangang gawin ang user kundi maghintay. Ang mga account ay awtomatiko at tuloy-tuloy na isi-sweep ng mga block proposer para sa mga eligible na exited fund, at ita-transfer ang buong balanse ng iyong account (kilala rin bilang "full withdrawal") sa susunod na sweep. + +## Kailan pinapagana ang mga pag-withdraw sa staking? {#when} + +Live na ang mga pag-withdraw sa staking! Ang functionality ng pag-withdraw ay in-enable bilang bahagi ng Shanghai/Capella upgrade na naganap noong Abril 12, 2023. + +Ang Shanghai/Capella upgrade ang nagbigay-daan para maibalik ang staked ETH sa mga regular na Ethereum account. Sinubaybayan nito ang pag-stake ng liquidity, at inilapit nito ang Ethereum sa layunin nitong bumuo ng sustainable, scalable, at secure na decentralized ecosystem. + +- [Iba pang detalye tungkol sa kasaysayan ng Ethereum](/history/) +- [Iba pang detalye tungkol sa roadmap ng Ethereum](/roadmap/) + +## Paano gumagana ang mga withdrawal payment? {#how-do-withdrawals-work} + +Ang pagiging eligible ng isang partikular na validator para sa pag-withdraw ay tinutukoy sa pamamagitan ng kalagayan mismo ng validator account. Hindi kailangan ng anumang user input anumang oras upang matukoy kung dapat magsimula ng pag-withdraw ang account o hindi—ang buong proseso ay awtomatikong ginagawa ng consensus layer sa isang tuloy-tuloy na loop. + +### More of a visual learner? {#visual-learner} + +Tingnan ang paliwanag ng Finematics tungkol sa mga pag-withdraw sa staking ng Ethereum: + + + +### "Pag-sweep" ng validator {#validator-sweeping} + +Kapag nakaiskedyul ang isang validator na magmungkahi ng susunod na block, kailangan nitong gumawa ng withdrawal queue ng hanggang 16 na eligible withdrawal. Ito ay ginagawa sa pamamagitan ng pagsisimula sa validator index 0, pagtukoy kung may eligible withdrawal para sa account na ito batay sa mga panuntunan ng protocol, at pagdadagdag nito sa queue kung mayroon man. Ang validator na nakatakda na mag-propose ng susunod na bloke ay magpapatuloy kung saan iniwan ng huling bloke, at magpapatuloy ito nang sunod-sunod ng walang katapusan. + + +Para lang itong analog na orasan. Itinuturo ng kamay sa orasan ang oras, umuusad ito sa isang direksyon, wala itong nilalaktawang anumang oras, at sa huli ay bumabalik ito sa simula kapag naabot na nito ang huling numero.

+Ngayon, sa halip na 1 hanggang 12, isipin na may 0 hanggang N (ang kabuuang bilang ng mga validator account na nairehistro sa consensus layer, na mahigit 500,000 mula noong Enero 2023).

+Ituturo ng kamay sa orasan ang susunod na validator na kailangang tingnan kung may mga eligible withdrawal. Nagsisimula ito sa, at umuusad paikot nang hindi nilalaktawan ang anumang account. Kapag naabot na ang huling validator, babalik ang sa simula ang cycle. +
+ +#### Pagtingin kung may mga withdrawal ang account {#checking-an-account-for-withdrawals} + +Habang sini-sweep ng isang proposer ang mga validator para sa mga posibleng withdrawal, inihahambing ang bawat sinusuring validator sa maikling serye ng mga tanong para tukuyin kung dapat mag-trigger ng withdrawal, at kung oo, kung gaano karaming ETH ang dapat i-withdraw. + +1. **Mayroon bang ibinigay na withdrawal address?** Kung wala pang withdrawal address na ibinigay, lalaktawan ang account at hindi magsisimula ng anumang withdrawal. +2. **Inalis at mawi-withdraw ba ang validator?** Kung ganap nang inalis ang validator, at naabot na natin ang epoch kung saan maituturing nang "mawi-withdraw" ang kanilang account, magpoproseso ng full withdrawal. Ita-transfer nito ang buong natitirang balanse sa withdrawal address. +3. **Umabot na ba sa 32 ang effective balance?** Kung ang account ay may mga kredensyal sa pag-withdraw, hindi pa ganap na naiaalis, at may nakatenggang mga reward na mahigit 32, magpoproseso ng isang partial withdrawal na nagta-transfer lang ng mga reward na mahigit 32 sa withdrawal address ng user. + +May dalawang aksyon lang na ginagawa ng mga validator operator sa buong life cycle ng isang validator na direktang nakakaapekto sa flow na ito: + +- Magbigay ng mga kredensyal sa pag-withdraw upang ma-enable ang anumang uri ng withdrawal +- Umalis sa network, na magti-trigger ng full withdrawal + +### Walang gas {#gas-free} + +Sa estratehiyang ito sa mga pag-withdraw sa staking, hindi hinihiling sa mga staker na manual na magsumite ng transaksyon na nagpapa-withdraw ng partikular na dami ng ETH. Ibig sabihin nito, **hindi kailangan ng gas (bayarin sa transaksyon)**, at hindi rin nakikipag-agawan ang mga withdrawal para sa kasalukuyang execution layer block space. + +### Gaano kadalas kong matatanggap ang aking mga staking reward? {#how-soon} + +Maaaring magproseso ng hanggang 16 na withdrawal sa isang block. Sa bilis na 'yon, puwedeng magproseso ng 115,200 validator withdrawal kada araw (kung walang nilaktawang slot). Tulad ng nabanggit sa itaas, lalaktawan ang mga validator na walang eligible na withdrawal, na magpapabilis sa pagtatapos ng sweep. + +Kapag pinalawak ang kalkulasyong ito, matatantya natin ang oras na kakailanganin upang magproseso ng partikular na bilang ng mga withdrawal: + + + +| Bilang ng mga withdrawal | Tagal bago makumpleto | +| :----------------------: | :-------------------: | +| 400,000 | 3.5 araw | +| 500,000 | 4.3 araw | +| 600,000 | 5.2 araw | +| 700,000 | 6.1 araw | +| 800,000 | 7.0 araw | + + + +Tulad ng nakikita mo, babagal ito habang dumarami ang mga validator sa network. Kapag dumami ang mga nilaktawang slot, babagal ito nang husto, pero karaniwan nitong kakatawanin ang mas mabagal na posibleng resulta. + +## Mga karaniwang itanong {#faq} + + +Hindi, ang proseso ng pagbibigay ng mga kredensyal sa pag-withdraw ay one-time process, at hindi na maaaring baguhin kapag naisumite na. + + + +Sa pamamagitan ng pagtatakda ng withdrawal address ng execution layer, permanente nang nabago ang mga kredensyal sa pag-withdraw ng validator na iyon. Ito ay nangangahulugan na hindi na gagana ang mga lumang kredensyal, at sa execution layer account didirekta ang mga bagong kredensyal. + +Ang mga withdrawal address ay maaaring maging smart contract (kontrolado ng code nito), o externally owned account (EOA, kontrolado ng pribadong key nito). Sa kasalukuyan, ang mga account na ito ay walang paraan para magpadala ng mensahe pabalik sa consensus layer na magpapahiwatig ng pagbabago sa mga kredensyal ng validator, at magiging kumplikado ang protocol kahit hindi naman dapat kapag idinagdag ang functionality na ito. + +Bilang alternatibo sa pagbabago ng withdrawal address para sa partikular na validator, maaaring piliin ng mga user na magtakda ng isang smart contract bilang kanilang withdrawal address na maaaring pangasiwaan ang pag-rotate ng key, tulad ng Safe. Ang mga user na nagtatakda ng kanilang pondo sa kanilang sariling EOA ay maaaring magsagawa ng ganap na pag-alis para i-withdraw ang lahat ng kanilang na-stake na pondo, at pagkatapos ay mag-stake ulit gamit ang mga bagong kredensyal. + + + + +Kung bahagi ka ng isang staking pool o may hawak kang mga staking token, dapat kang magtanong sa iyong provider ng iba pang detalye tungkol sa kung paano pinapangasiwaan ang mga pag-withdraw sa staking, dahil magkakaiba ang paraan ng pangangasiwa ng bawat serbisyo. + +Sa pangkalahatan, dapat malaya ang mga user na kunin ang kasalukuyan nilang staked ETH, o magpalit ng staking provider na ginagamit nila. Kung masyado nang nagiging malaki ang isang partikular na pool, puwedeng alisin, i-redeem, at i-stake ulit ang pondo sa mas maliit na provider. O, kung nakalikom ka na ng sapat na ETH, maaari kang mag-stake mula sa bahay. + + + + +Oo, basta't may ibinigay na withdrawal address ang iyong validator. Dapat itong ibigay nang isang beses para inisyal na ma-enable ang anumang withdrawal, pagkatapos ay awtomatikong mati-trigger kada ilang araw ang mga reward payment sa bawat validator sweep. + + + + +Hindi, kung ang iyong validator ay aktibo pa sa network, hindi magaganap nang awtomatiko ang full withdrawal. Para mangyari ito, kailangang manual na magsimula ng boluntaryong pag-alis. + +Kapag natapos na ng validator ang proseso ng pag-alis, at kung may mga kredensyal sa pag-withdraw ang account, ang natitirang balanse ay saka iwi-withdraw sa susunod na validator sweep. + + + + +Ang mga withdrawal ay idinisenyo upang awtomatikong maiproseso, at ililipat nito ang anumang ETH na hindi aktibong nagko-contribute sa stake. Kasama dito ang mga kumpletong balanse para sa mga account na natapos na ang proseso ng pag-alis. + +Hindi posibleng manual na hilingin ang partikular na halaga ng ETH na iwi-withdraw. + + + + +Inirerekomenda sa mga operator ng validator na bisitahin ang page na Mga Pag-withdraw sa Staking sa Launchpad kung saan ka makakakita ng iba pang detalye tungkol sa kung paano ihanda ang iyong validator para sa mga withdrawal. pagiging handa, timing ng mga event, at iba pang detalye tungkol sa kung paano gumagana ang mga withdrawal. + +Upang subukan muna ang iyong setup sa isang testnet, bisitahin ang Goerli Testnet Staking Launchpad para magsimula. + + + + +Hindi. Kapag umalis na ang isang validator at na-wtihdraw na ang kumpletong balanse nito, awtomatikong ita-transfer ang anumang karagdagang pondong idineposito sa validator na iyon sa withdrawal address sa susunod na validator sweep. Upang mag-stake ulit ng ETH, kailangang mag-activate ng bagong validator. + + +## Karagdagang pagbabasa {#further-reading} + +- [Mga Pag-withdraw sa Staking sa Launchpad](https://launchpad.ethereum.org/withdrawals) +- [EIP-4895: Mga Beacon chain push withdrawal bilang mga operasyon](https://eips.ethereum.org/EIPS/eip-4895) +- [Ethereum Cat Herders - Shanghai](https://www.ethereumcatherders.com/shanghai_upgrade/index.html) +- [PEEPanEIP #94: Pag-withdraw sa Staked ETH (Testing) kasama sina Potuz at Hsiao-Wei Wang](https://www.youtube.com/watch?v=G8UstwmGtyE) +- [PEEPanEIP#68: EIP-4895: Mga Beacon chain push withdrawal bilang mga operasyon kasama si Alex Stokes](https://www.youtube.com/watch?v=CcL9RJBljUs) +- [Pag-unawa sa Validator Effective Balance](https://www.attestant.io/posts/understanding-validator-effective-balance/) diff --git a/src/intl/fil/page-staking-deposit-contract.json b/src/intl/fil/page-staking-deposit-contract.json new file mode 100644 index 00000000000..a3426f1bd55 --- /dev/null +++ b/src/intl/fil/page-staking-deposit-contract.json @@ -0,0 +1,28 @@ +{ + "page-staking-deposit-contract-address": "Address ng deposit contract para sa staking", + "page-staking-deposit-contract-address-caption": "Nagdagdag kami ng mga space para mas madaling basahin ang mga address", + "page-staking-deposit-contract-address-check-btn": "Tingnan ang address ng deposit contract", + "page-staking-deposit-contract-checkbox1": "Ginamit ko na ang launchpad para i-set up ang aking Ethereum validator.", + "page-staking-deposit-contract-checkbox2": "Naiintindihan ko na kailangan kong gamitin ang launchpad para mag-stake. Hindi gagana ang mga simpleng pag-transfer sa address na ito.", + "page-staking-deposit-contract-checkbox3": "Ihahambing ko ang address ng deposit contract sa iba pang source.", + "page-staking-deposit-contract-confirm-address": "Kumpirmahin para malaman ang address", + "page-staking-deposit-contract-copied": "Nakopya ang address", + "page-staking-deposit-contract-copy": "Kopyahin ang address", + "page-staking-deposit-contract-etherscan": "Tingnan ang contract sa Etherscan", + "page-staking-deposit-contract-h2": "Hindi ka rito dapat mag-stake", + "page-staking-deposit-contract-launchpad": "Mag-stake gamit ang launchpad", + "page-staking-deposit-contract-launchpad-2": "Gamitin ang launchpad", + "page-staking-deposit-contract-meta-desc": "I-verify ang address ng deposit contract para sa Ethereum staking.", + "page-staking-deposit-contract-meta-title": "Address ng deposit contract para sa Ethereum staking", + "page-staking-deposit-contract-read-aloud": "Basahin nang malakas ang address", + "page-staking-deposit-contract-reveal-address-btn": "Ipakita ang address", + "page-staking-deposit-contract-staking": "Upang i-stake ang iyong ETH, kailangan mong gamitin ang espesyal na launchpad product at sundin ang mga tagubilin. Kapag ipinadala ang ETH sa address sa page na ito, hindi ka magiging staker at magreresulta ito sa isang hindi matagumpay na transaksyon.", + "page-staking-deposit-contract-staking-check": "Tingnan ang mga source na ito", + "page-staking-deposit-contract-staking-check-desc": "Inaasahan naming maraming pekeng address at scam na lumalabas. Upang maging ligtas, ihambing ang address ng staking contract na iyong ginagamit sa address sa page na ito. Inirerekomenda naming ihambing din ito sa iba pang mapagkakatiwalaang source.", + "page-staking-deposit-contract-staking-more-link": "Iba pa sa staking", + "page-staking-deposit-contract-stop-reading": "Itigil ang pagbabasa", + "page-staking-deposit-contract-subtitle": "Ito ang address para sa Ethereum staking contract. Gamitin ang page na ito upang kumpirmahing ipinapadala mo ang pondo sa tamang address kapag nagse-stake ka.", + "page-staking-deposit-contract-warning": "Tingnan nang mabuti ang bawat titik.", + "page-staking-deposit-contract-warning-2": "Hindi makakapagpadala ng pondo sa address na ito at hindi ka magiging staker kapag ginawa mo ito. Dapat mong sundin ang mga tagubilin sa launchpad.", + "page-staking-deposit-contract-title": "I-check ang deposit contract address" +} diff --git a/src/intl/fil/page-staking.json b/src/intl/fil/page-staking.json new file mode 100644 index 00000000000..2b11a3b6a2e --- /dev/null +++ b/src/intl/fil/page-staking.json @@ -0,0 +1,237 @@ +{ + "comp-withdrawal-comparison-current-title": "Mga kasalukuyang staker", + "comp-withdrawal-comparison-current-li-1": "Maaaring nagbigay na ng withdrawal address ang ilang user noong una nilang sine-set up ang kanilang deposit sa staking—wala nang kailangan pang gawin ang mga user na ito", + "comp-withdrawal-comparison-current-li-2": "Hindi nagbigay ang karamihan sa mga staker ng withdrawal address noong unang deposito, at kakailanganin nilang i-update ang kanilang mga kredensyal sa pag-withdraw. May mga tagubilin sa Staking Launchpad kung paano ito gawin", + "comp-withdrawal-comparison-current-p": "Puwede mong ilagay ang iyong validator index number dito para malaman kung kailangan mo pang i-update ang iyong mga kredensyal (makikita ito sa iyong client logs):", + "comp-withdrawal-comparison-new-title": "Mga bagong staker (hindi pa nagdedeposito)", + "comp-withdrawal-comparison-new-li-1": "Bilang default, ang mga bagong staker na gustong awtomatikong i-enable ang mga reward payment at ang withdrawal functionality ay dapat magbigay ng Ethereum withdrawal address na kinokontrol nila habang ginagawa ang kanilang mga key ng validator gamit ang Staking Deposit CLI tool", + "comp-withdrawal-comparison-new-li-2": "Hindi ito kinakailangan kapag nagdeposito, pero hindi na kakailanganing i-update ang mga key na ito sa ibang petsa para makuha ang pondo mo kapag ginawa na ito", + "comp-withdrawal-comparison-new-p": "Gagabayan ka ng Staking Launchpad sa buong onboarding sa staking.", + "comp-withdrawal-comparison-new-link": "Bisitahin ang Staking Launchpad", + "comp-withdrawal-credentials-placeholder": "Indeks ng Validator", + "comp-withdrawal-credentials-error": "Oops! I-double check ang validator index number at subukan ulit.", + "comp-withdrawal-credentials-upgraded-1": "Handa nang magsimulang tumanggap ng mga reward ang validator index {{validatorIndex}}!", + "comp-withdrawal-credentials-upgraded-2": "Mga kredensyal sa pag-withdraw na naka-link sa execution address:", + "comp-withdrawal-credentials-not-upgraded-1": "Kailangang i-upgrade ang validator na ito.", + "comp-withdrawal-credentials-not-upgraded-1-testnet": "Kailangang i-upgrade ang Goerli testnet validator.", + "comp-withdrawal-credentials-not-upgraded-2": "Kasalukuyang makikita ang mga tagubilin sa kung paano mag-upgrade sa Staking Launchpad", + "comp-withdrawal-credentials-verify-mainnet": "I-verify sa Mainnet", + "comp-withdrawal-credentials-verify-goerli": "I-verify sa Goerli", + "page-staking-withdrawals-when": "Shipped!", + "page-staking-image-alt": "Larawan ng Rhino mascot para sa staking launchpad.", + "page-staking-benefits-1-title": "Makakuha ng mga reward", + "page-staking-benefits-1-description": "Ibinibigay ang mga reward para sa mga pagkilos na tutulong sa network na maabot ang consensus. Makakatanggap ka ng mga reward para sa pagpapatakbo ng software na maaayos na nagba-batch ng mga transaksyon sa mga bagong block at sumusuri sa gawa ng iba pang validator dahil pinapanatili nitong tumatakbo nang secure ang chain.", + "page-staking-benefits-2-title": "Mas maigting na seguridad", + "page-staking-benefits-2-description": "Habang dumarami ang ETH na sine-stake, mas tumatatag ang network laban sa mga atake, dahil kailangan ng mas maraming ETH para kontrolin ang malaking bahagi ng network. Upang maging isang banta, kakailanganin mong pangasiwaan ang karamihan sa mga validator na nangangahulugang kakailanganin mong kontrolin ang malaking bahagi ng ETH sa system–ang dami no'n!", + "page-staking-benefits-3-title": "Mas napapanatiling", + "page-staking-benefits-3-description": "Hindi kailangang gumawa ng mga staker ng mga energy-intensive computation para sa patunay ng gawain para lumahok sa pag-secure sa network. Ibig sabihin nito, mapapatakbo ang mga staking node sa simpleng hardware na napakakaunti lang ang kinokonsumong enerhiya.", + "page-staking-benefits-3-link": "Iba pang detalye tungkol sa pagkonsumo ng enerhiya ng Ethereum", + "page-staking-description": "Ang staking ay tumutukoy sa pagdedeposito ng 32 ETH upang ma-activate ang software ng validator. Bilang validator, ikaw ang magiging responsable sa pag-store ng data, pagpoproseso ng mga transaksyon, at pagdadagdag ng mga bagong block sa blockchain. Papanatilihin nitong secure ang Ethereum para sa lahat at makakakuha ka ng bagong ETH habang isinasagawa ito.", + "page-staking-hero-title": "Paano i-stake ang iyong ETH", + "page-staking-hero-header": "Magkaroon ng mga reward habang sine-secure ang Ethereum", + "page-staking-hero-subtitle": "Ang staking ay public good para sa Ethereum ecosystem. Ang sinumang user na may kahit ilang ETH ay makakatulong na i-secure ang network at makakakuha ng mga reward habang isinasagawa ito.", + "page-staking-dropdown-home": "Staking home", + "page-staking-dropdown-solo": "Solo staking", + "page-staking-more-on-solo": "Iba pang detalye tungkol sa solo staking", + "page-staking-learn-more-solo": "Magbasa pa tungkol sa solo staking", + "page-staking-dropdown-saas": "Staking bilang serbisyo", + "page-staking-saas-with-abbrev": "Staking as a service (SaaS)", + "page-staking-more-on-saas": "Iba pang detalye tungkol sa staking as a service", + "page-staking-learn-more-saas": "Magbasa pa tungkol sa staking as a service", + "page-staking-dropdown-pools": "Pooled staking", + "page-staking-dropdown-withdrawals": "Tungkol sa mga withdrawal", + "page-staking-dropdown-dvt": "Distributed validator tech", + "page-staking-more-on-pools": "Iba pang detalye tungkol sa pooled staking", + "page-staking-learn-more-pools": "Magbasa pa tungkol sa pooled staking", + "page-staking-section-what-title": "Ano ang staking?", + "page-staking-section-what-link": "Alamin kung paano makakuha ng ETH", + "page-staking-section-why-title": "Bakit dapat i-stake ang iyong ETH?", + "page-staking-section-why-p1": "Nakadepende ito sa kung gaano kalaki ang kaya mong i-stake. Kailangan mo ng 32 ETH upang i-activate ang sarili mong validator, pero posible ring mag-stake ng mas kaunti dito.", + "page-staking-section-why-p2": "Tingnan ang mga opsyon sa ibaba at piliin ang pinakamainam para sa iyo, at para sa network.", + "page-staking-guide-title-coincashew-ethereum": "Gabay ng CoinCashew para sa Ethereum 2.0", + "page-staking-guide-title-somer-esat": "Somer Esat", + "page-staking-guide-title-rocket-pool": "Mga Node Operator ng Rocket Pool", + "page-staking-guide-description-linux": "Linux (CLI)", + "page-staking-guide-description-mac-linux": "Linux, macOS (CLI)", + "page-staking-hierarchy-solo-h2": "Solo home staking", + "page-staking-hierarchy-solo-pill-1": "Pinakamabisa", + "page-staking-hierarchy-solo-pill-2": "Ganap na kontrol", + "page-staking-hierarchy-solo-pill-3": "Kumpletong reward", + "page-staking-hierarchy-solo-pill-4": "Hindi Kailangang Umasa sa Third Party", + "page-staking-hierarchy-solo-p1": "Ang solo staking sa Ethereum ang pinakamainam na sitwasyon para sa staking. Ibinibigay nito ang kumpletong reward para sa pakikilahok, pinapaganda nito ang decentralization ng network, at hinding-hindi nito hihilinging ipaubaya sa iba ang pondo mo.", + "page-staking-hierarchy-solo-p2": "Ang mga nagpaplanong mag-solo staking ay dapat mayroong hindi bababa sa 32 ETH at nakalaang computer na nakakonekta sa internet ~24/7. Makakatulong kung may kaunting teknikal na kaalaman, pero mayroon nang mga madaling gamiting tool para tumulong na pasimplehin ang prosesong ito.", + "page-staking-hierarchy-saas-pill-1": "Ang Iyong 32 ETH", + "page-staking-hierarchy-saas-pill-2": "Ang mga key ng iyong validator", + "page-staking-hierarchy-saas-pill-3": "Ipinagkatiwalang operasyon ng node", + "page-staking-hierarchy-saas-p1": "Kung ayaw mo o hindi ka kumportableng mangasiwa ng hardware pero gusto mo pa ring i-stake ang iyong 32 ETH, binibigyang-daan ka ng mga opsyon sa staking-as-a-service na italaga ang mahirap na trabaho habang nakakakuha ka ng mga native na block reward.", + "page-staking-hierarchy-saas-p2": "Kadalasang ginagabayan ka ng mga opsyong ito sa paggawa ng set ng mga kredensyal ng validator, pag-upload ng iyong mga signing key sa mga ito, at pagdedeposito ng iyong 32 ETH. Binibigyang-daan nito ang serbisyo na mag-validate para sa iyo.", + "page-staking-hierarchy-saas-p3": "Sa paraang ito ng staking, kailangang magtiwala sa provider. Para malimitahan ang counter-party risk, kadalasang ikaw ang magtatabi ng mga key para ma-withdraw ang iyong ETH.", + "page-staking-hierarchy-pools-pill-1": "Mag-stake ng kahit anong halaga", + "page-staking-hierarchy-pools-pill-2": "Kumita ng mga gantimpala", + "page-staking-hierarchy-pools-pill-3": "Panatilih itong simple", + "page-staking-hierarchy-pools-pill-4": "Tinatangkilik", + "page-staking-hierarchy-pools-p1": "Mayroon na ngayong ilang pooling solution na tutulong sa mga user na wala o hindi kumportableng mag-stake ng 32 ETH.", + "page-staking-hierarchy-pools-p2": "Kasama sa mga opsyong ito ang kilala bilang 'liquid staking' na gumagamit ng ERC-20 liquidity token na kumakatawan sa iyong staked ETH.", + "page-staking-hierarchy-pools-p3": "Madaling makakaalis kahit kailan dahil sa liquid staking at ginagawa nitong kasing simple ng token swap ang staking. Pinapayagan din ng opsyong ito ang mga user na itabi ang kanilang mga asset sa sarili nilang Ethereum wallet.", + "page-staking-hierarchy-pools-p4": "Hindi native sa Ethereum network ang pooled staking. Mga third party ang gumagawa ng mga solution na ito, at may kanya-kanyang panganib ang mga ito.", + "page-staking-hierarchy-cex-h2": "Centralized exchanges", + "page-staking-hierarchy-cex-pill-1": "Pinakahindi mabisa", + "page-staking-hierarchy-cex-pill-2": "Pinakamatataas na trust assumption", + "page-staking-hierarchy-cex-p1": "Nagbibigay ang maraming centralized exchange ng mga serbisyo sa staking kung hindi ka pa kumportable sa pagtatabi ng ETH sa sarili mong wallet. Puwedeng gamiting fallback ang ito para kumita ka sa mga hawak mong ETH nang hindi masyadong nakatutok o napapagod.", + "page-staking-hierarchy-cex-p2": "Ang kapalit nito ay pinagsasama-sama ng mga centralized provider ang malalaking pool ng ETH para magpatakbo ng maraming validator. Ito ay maaaring mapanganib para sa network at sa mga user nito dahil gumagawa ito ng malaki at centralized na target at point of failure, at dahil dito, mas madaling mabibikitma ng mga atake o bug ang network.", + "page-staking-hierarchy-cex-p3": "Ayos lang kung hindi ka kumportableng pangasiwaan ang sarili mong mga key. Narito ang mga opsyong ito para sa iyo. Sa ngayon, tingnan ang aming wallets page, kung saan puwede mong simulang alamin kung paano mo magiging tunay na pagmamay-ari ang mga pondo mo. Kapag handa ka na, bumalik ka at i-level up ang staking game mo sa pamamagitan ng pagsubok sa isa sa mga serbisyo sa self-custody na pooled staking.", + "page-staking-hierarchy-subtext": "Kung napansin mo, maraming paraan para makilahok sa Ethereum staking. Iba't ibang user ang tina-target ng mga paraang ito, at sa pangkalahatan, natatangi ang lahat ng paraan at magkakaiba ang mga panganib, reward, at trust assumption ng mga ito. Mas decentralized, battle-tested at/o mapanganib ang ilan kaysa sa iba. Nagbibigay kami ng kaunting impormasyon sa mga tinatangkilik na page sa space, pero palaging mag-research bago magpadala ng ETH kahit saan.", + "page-staking-comparison-solo-saas": "Sa mga SaaS provider, kailangan mo pa ring magdeposito ng 32 ETH, pero hindi mo kailangang magpatakbo ng hardware. Karaniwang hindi ka mawawalan ng access sa mga key ng iyong validator, pero kailangan mo ring ibahagi ang iyong mga signing key para makakilos ang operator para sa iyong validator. Nagdaragdag ito ng tiwala na wala kapag nagpapatakbo ka ng sarili mong hardware, at hindi tulad ng solo staking sa tahanan hindi masyadong nakakatulong ang SaaS sa heograpikong distribusyon ng mga node. Kung hindi ka kumportableng magpatakbo ng hardware pero pinaplano mo pa ring mag-stake ng 32 ETH, maaaring mainam na opsyon para sa iyo ang paggamit ng SaaS provider.", + "page-staking-comparison-solo-pools": "Ang solo staking ay mas matrabaho kaysa sa staking gamit ang serbisyo ng pooling, pero nag-aalok ito ng ganap na access sa mga ETH reward at ganap na kontrol sa setup at seguridad ng iyong validator. Ang pooled staking ay mas madaling pasukin. Puwedeng mag-stake ang mga user ng kaunting ETH, hindi nila kailangang gumawa ng mga validator key, at hindi nila kailangan ng kahit anong hardware maliban sa standard na koneksyon sa internet. Sa tulong ng mga liquidity token, makakaalis sa staking bago ito i-enable sa antas ng protocol. Kung interesado ka sa mga feature na ito, maaaring bagay sa iyo ang pooled staking.", + "page-staking-comparison-saas-solo": "Kasama sa mga pagkakatulad ang pagkakaroon ng sarili mong mga key ng validator nang hindi kinakailangang mag-pool ng pondo, pero sa SaaS, magtitiwala ka sa third party, na posibleng kumilos sa mapaminsalang paraan o maging target ng atake o regulasyon. Kung nag-aalala ka sa mga trust assumption o panganib ng centralization na ito, ang pinakamainam na paraan ng self-sovereign staking ay solo staking.", + "page-staking-comparison-saas-pools": "Masasabing magkatulad ang mga ito dahil umaasa ka sa iba para patakbuhin ang validator client, pero hindi katulad ng SaaS, binibigyang-daan ka ng pooled staking na sumali gamit ang mas kaunting ETH. Kung pinaplano mong mag-stake ng wala pang 32 ETH, tingnan ang mga ito.", + "page-staking-comparison-pools-solo": "Sa pooled staking, mas madaling sumali kaysa sa solo staking, pero may kaakibat itong karagdagang panganib dahil ibinibigay ang lahat ng gawain sa third party, at magbabayad ka pa. Sa solo staking, ganap ang sovereignty at kontrol sa mga desisyon sa pagpili ng staking setup. Hindi kailangang ipaubaya ng mga staker ang kanilang mga key sa iba, at makakakuha sila ng mga kumpletong reward nang walang anumang middleman na makikihati.", + "page-staking-comparison-pools-saas": "Msasabing magkatulad ang mga ito dahil hindi ang mga staker ang mismong nagpapatakbo ng mga validator software, pero hindi tulad ng mga opsyon sa pooling, kailangan ng SaaS ang kumpletong deposito ng 32 ETH para mag-activate ng validator. Sa staker mapupunta ang mga reward, at karaniwang may bayarin kada buwan o ibang stake para magamit ang serbisyo. Kung gusto mo ng sarili mong mga key ng validator at pinaplano mong mag-stake ng hindi bababa sa 32 ETH, maaaring magandang opsyon para sa iyo ang paggamit ng SaaS provider.", + "page-staking-considerations-solo-1-title": "Buksan ang pinagmulan", + "page-staking-considerations-solo-1-description": "Ang essential code ay 100% open source at puwedeng i-fork at gamitin ng lahat", + "page-staking-considerations-solo-1-warning": "Closed source", + "page-staking-considerations-solo-2-title": "Sinuri", + "page-staking-considerations-solo-2-description": "Ang essential code ay sumailalim sa pormal na pagsusuri, at inilathala at mababasa ng lahat ang mga resulta nito", + "page-staking-considerations-solo-2-warning": "Wala", + "page-staking-considerations-solo-3-title": "Bug bounty", + "page-staking-considerations-solo-3-description": "Nagsagawa ng public bug bounty sa anumang essential code para gantimpalaan ang mga user para sa ligtas na pag-uulat at/o pag-aayos ng mga vulnerability", + "page-staking-considerations-solo-3-valid": "Kasalukuyang aktibo", + "page-staking-considerations-solo-3-caution": "Tapos na", + "page-staking-considerations-solo-4-title": "Battle tested", + "page-staking-considerations-solo-4-description": "Available at ginagamit ng publiko ang software sa loob ng nakasaad na panahon", + "page-staking-considerations-solo-4-valid": "Live > 1 taon", + "page-staking-considerations-solo-4-caution": "Live > 6 na buwan", + "page-staking-considerations-solo-4-warning": "Kaka-release lang", + "page-staking-considerations-solo-5-title": "Hindi Kailangang Umasa sa Third Party", + "page-staking-considerations-solo-5-description": "Hindi ipinagkakatiwala ang mga key ng validator sa sinupaman sa anumang pagkakataon sa lifecycle ng validator. Ang anumang smart contract na ginamit ay walang back door, hindi umaasa sa mga privileged na pahintulot para ma-execute.", + "page-staking-considerations-solo-5-warning": "Pagkakatiwalaan", + "page-staking-considerations-solo-6-title": "Permissionless", + "page-staking-considerations-solo-6-description": "Hindi kailangan ng mga user ng anumang espesyal na pahintulot para magpatakbo ng validator gamit ang software o serbisyo", + "page-staking-considerations-solo-6-valid": "Walang pahintulot", + "page-staking-considerations-solo-6-warning": "Kailangan ng pahintulot", + "page-staking-considerations-solo-7-title": "Multi-client", + "page-staking-considerations-solo-7-description": "Binibigyang-daan ng software ang mga user na pumili at magpalipat-lipat sa hindi bababa sa dalawa o higit pang execution client, at dalawa o higit pang consensus layer client", + "page-staking-considerations-solo-7-valid": "Madaling lumipat ng client", + "page-staking-considerations-solo-7-warning": "Limitado sa majority client", + "page-staking-considerations-solo-8-title": "Pag-iingat sa sarili", + "page-staking-considerations-solo-8-description": "Ang user ang magtatabi ng anumang kredensyal ng validator, kabilang ang mga signing at withdrawal key", + "page-staking-considerations-solo-8-warning": "Third-party custodian", + "page-staking-considerations-solo-9-title": "Ekonomikal", + "page-staking-considerations-solo-9-description": "Puwedeng magpatakbo ang mga user ng validator sa pamamagitan ng pag-stake ng wala pang 32 ETH, at paggamit ng pooled funds galing sa iba", + "page-staking-considerations-solo-9-valid": "< 32 ETH", + "page-staking-considerations-solo-9-warning": "32 ETH", + "page-staking-considerations-saas-4-description": "Available at ginagamit ng publiko ang serbisyo sa loob ng nakasaad na panahon", + "page-staking-considerations-saas-6-description": "Hindi kailangan ng mga user ng anumang espesyal na pahintulot, pag-sign up sa account, o KYC para sumali sa serbisyo", + "page-staking-considerations-saas-6-valid": "Puwedeng sumali ang kahit sino", + "page-staking-considerations-saas-6-warning": "Kailangan ng pahintulot", + "page-staking-considerations-saas-7-title": "Iba't ibang pagsasagawa", + "page-staking-considerations-saas-7-description": "Hindi dapat magpatakbo ang serbisyo ng mahigit 50% ng mga aggregate validator nito sa majority execution client", + "page-staking-considerations-saas-7-valid": "Wala pang 50%", + "page-staking-considerations-saas-7-caution": "Kasalukuyang hindi alam", + "page-staking-considerations-saas-7-warning": "Mahigit 50%", + "page-staking-considerations-saas-8-title": "Consensus diversity", + "page-staking-considerations-saas-8-description": "Hindi dapat magpatakbo ang serbisyo ng mahigit 50% ng mga aggregate validator nito sa majority consensus client", + "page-staking-considerations-saas-8-valid": "Wala pang 50%", + "page-staking-considerations-saas-8-caution": "Kasalukuyang hindi alam", + "page-staking-considerations-saas-8-warning": "Mahigit 50%", + "page-staking-considerations-pools-5-description": "Hindi kailangang umasa ng serbisyo sa sinumang tao para pangasiwaan ang iyong mga key o mamahagi ng mga reward", + "page-staking-considerations-pools-6-title": "Mga permissionless node", + "page-staking-considerations-pools-6-description": "Pinapayagan ng serbisyo ang kahit sino na sumali bilang node operator para sa pool, nang walang pahintulot", + "page-staking-considerations-pools-7-description": "Hindi dapat magpatakbo ang serbisyo ng mahigit 50% ng mga aggregate validator nito sa majority execution client", + "page-staking-considerations-pools-8-title": "Liquidity token", + "page-staking-considerations-pools-8-description": "Nag-aalok ng nate-trade na liquidity token na kumakatawan sa iyong staked ETH, na pinangangasiwaan sa sarili mong wallet", + "page-staking-considerations-pools-8-valid": "(Mga) liquidity token", + "page-staking-considerations-pools-8-warning": "Walang liquidity token", + "page-staking-considerations-pools-9-description": "Hindi dapat magpatakbo ang serbisyo ng mahigit 50% ng mga aggregate validator nito sa majority consensus client", + "page-staking-how-solo-works-item-1": "Kumuha ng hardware: Kailangan mong magpatakbo ng node para mag-stake", + "page-staking-how-solo-works-item-2": "Mag-sync ng execution layer client", + "page-staking-how-solo-works-item-3": "Mag-sync ng consensus layer client", + "page-staking-how-solo-works-item-4": "Gawin ang mga key mo at i-load ang mga ito sa iyong validator client", + "page-staking-how-solo-works-item-5": "I-monitor at pangalagaan ang iyong node", + "page-staking-launchpad-widget-testnet-label": "Goerli testnet", + "page-staking-launchpad-widget-testnet-start": "Magsimulang mag-stake sa Goerli testnet", + "page-staking-launchpad-widget-mainnet-label": "Mainnet", + "page-staking-launchpad-widget-mainnet-start": "Magsimulang mag-stake sa Mainnet", + "page-staking-launchpad-widget-span": "Pumili ng network", + "page-staking-launchpad-widget-p1": "Ang mga solo validator ay inaasahang i-test ang setup nila at mga kasanayan sa operasyon sa Goerli testnet bago itaya ang pondo. Tandaang mahalagang pumili ng minority client dahil pinapaigting nito ang seguridad ng network at nililimitahan nito ang posibilidad na manganib ka.", + "page-staking-launchpad-widget-p2": "Kung kumportable kang gawin ito, puwede mong i-set up ang lahat ng kailangan mula sa command line gamit lang ang Staking Launchpad.", + "page-staking-launchpad-widget-p3": "Para mas mapadali, tingnan ang ilan sa mga tool at gabay sa ibaba na makakatulong sa iyo, pati na rin ang Staking Launchpad para ma-set up ang iyong mga client nang walang kahirap-hirap.", + "page-staking-launchpad-widget-link": "Mga tool at gabay sa software", + "page-staking-products-get-started": "Get started", + "page-staking-dropdown-staking-options": "Mga Opsyon sa Staking", + "page-staking-dropdown-staking-options-alt": "Dropdown menu ng mga opsyon sa staking", + "page-staking-stats-box-metric-1": "Kabuuang halaga ng ETH na na-stake", + "page-staking-stats-box-metric-2": "Kabuuang bilang ng mga validator", + "page-staking-stats-box-metric-3": "Kasalukuyang APR", + "page-staking-stats-box-metric-1-tooltip": "Kabuuang halaga ng ETH na na-stake sa Beacon Chain, maliban sa mga balanseng mahigit 32 ETH", + "page-staking-stats-box-metric-2-tooltip": "Bilang ng mga validator account na kasalukuyang naka-activate sa Beacon Chain", + "page-staking-stats-box-metric-3-tooltip": "Average na annualized financial return kada validator sa nakalipas na 24 na oras", + "page-staking-section-comparison-subtitle": "Walang nag-iisang solution na babagay sa lahat pagdating sa staking, at natatangi ang bawat isa sa mga ito. Dito, ihahambing natin ang ilan sa mga panganib, reward, at kahingian ng iba't ibang paraan ng pag-stake.", + "page-staking-section-comparison-rewards-title": "Mga Reward", + "page-staking-section-comparison-solo-rewards-li1": "Maximum rewards - matanggap ang kumpletong reward nang direkta mula sa protocol", + "page-staking-section-comparison-solo-rewards-li2": "Makakatanggap ka ng mga reward para sa pag-batch ng mga transaksyon sa isang bagong block o pagsusuri sa gawa ng iba pang validator para panatilihing secure na tumatakbo ang chain", + "page-staking-section-comparison-solo-rewards-li3": "Matatanggap mo rin ang mga hindi nagamit na bayarin sa transaksyon para sa mga block na imumungkahi mo", + "page-staking-section-comparison-saas-rewards-li1": "Kadalasang makukuha dito ang kumpletong protocol reward nang ibinawas ang buwanang bayarin para sa operasyon ng node", + "page-staking-section-comparison-saas-rewards-li2": "Madalas na available ang mga dashboard para madali mong masubaybayan ang iyong validator client", + "page-staking-section-comparison-pools-rewards-li1": "Iba ang paraan ng pagkakamit ng mga reward ng mga pooled staker, depende sa paraan ng pooled staking na pinili", + "page-staking-section-comparison-pools-rewards-li2": "Maraming serbisyo sa staking ang nag-aalok ng isa o higit pang liquidity token na kumakatawan sa iyong staked ETH at sa iyong share ng mga validator reward", + "page-staking-section-comparison-pools-rewards-li3": "Ang mga liquidity token ay maaaring pangasiwaan sa sarili mong wallet, gamitin sa DeFi, at ibenta kung magpapasya kung umalis", + "page-staking-section-comparison-risks-title": "风险", + "page-staking-section-comparison-solo-risks-li1": "Naka-stake ang ETH mo", + "page-staking-section-comparison-solo-risks-li2": "May mga penalty na babayaran gamit ang ETH kapag nag-offline ka", + "page-staking-section-comparison-solo-risks-li3": "Maaaring magresulta ang mapaminsalang kagawian sa 'pag-slash' ng malalaking halaga ng ETH at puwersahang pagtatanggal sa network", + "page-staking-section-comparison-saas-risks-li1": "Kapareho ng mga panganib ng solo staking, at counter-party risk ng service provider", + "page-staking-section-comparison-saas-risks-li2": "Ipinagkakatiwala ang paggamit ng iyong mga signing key sa ibang taong puwedeng kumilos sa mapaminsalang paraan", + "page-staking-section-comparison-pools-risks-li1": "Nag-iiba-iba ang mga panganib depede sa paraang ginamit", + "page-staking-section-comparison-pools-risks-li2": "Sa pangkalahatan, ang mga panganib ay binubuo ng kumbinasyon ng counter-party, smart contract at execution risk", + "page-staking-section-comparison-requirements-title": "Mga Kahingian", + "page-staking-section-comparison-solo-requirements-li1": "Dapat kang magdeposito ng 32 ETH", + "page-staking-section-comparison-solo-requirements-li2": "Pangalagaan ang hardware na nagpapatakbo ng Ethereum execution client at consensus client habang nakakonekta sa internet", + "page-staking-section-comparison-solo-requirements-li3": "Gagabayan ka ng Staking Launchpad sa buong proseso at sa mga kahingian sa hardware", + "page-staking-section-comparison-saas-requirements-li1": "Magdeposito ng 32 ETH at gawin ang iyong mga key nang may tulong", + "page-staking-section-comparison-saas-requirements-li2": "I-store nang maayos ang iyong mga key", + "page-staking-section-comparison-saas-requirements-li3": "Hindi mo na kailangang problemahin ang iba pa, bagama't mag-iiba-iba ang mga partikular na serbisyo", + "page-staking-section-comparison-pools-requirements-li1": "Pinakamababang halaga ng ETH ang kinakailangan, 0.01 ETH lang ang kailangan sa ilang proyekto", + "page-staking-section-comparison-pools-requirements-li2": "Direktang magdeposito mula sa iyong wallet sa ibang mga pooled staking platform o i-trade lang para sa isa sa mga staking liquidity token", + "page-staking-faq-1-question": "Ano ang validator?", + "page-staking-faq-1-answer": "Ang validator ay isang virtual entity sa Ethereum at lumalahok sa consensus ng Ethereum protocol. Ang mga validator ay kinakatawan ng balanse, pampublikong key, at iba pang property. Ang validator client ang software na kumikilos para sa validator sa pamamagitan ng pangangasiwa at paggamit sa pribadong key nito. Puwedeng mangasiwa ng maraming pares ng key ang isang validator client, na nagkokontrol ng maraming validator.", + "page-staking-faq-2-question": "Bakit ko kailangang mag-stake ng pondo?", + "page-staking-faq-2-answer": "Ang validator ay may kakayahang magmungkahi at magpatunay sa mga block para sa network. Para maiwasan ang hindi matapat na kagawian, dapat i-stake ng mga user ang kanilang pondo. Binibigyang-daan nito ang protocol na parusahan ang mga mapaminsalang actor. Ang staking ay isang paraan para manatili kang matapat, dahil magkakaroon ng pinansyal na epekto ang iyong mga pagkilos.", + "page-staking-faq-3-question": "Maaari ba akong bumili ng 'Eth2'?", + "page-staking-faq-3-answer-p1": "Walang 'Eth2' token na native sa protocol, dahil hindi nagbago ang native token na ether (ETH) noong lumipat sa patunay ng stake ang Ethereum.", + "page-staking-faq-3-answer-p2": "May mga derivative token/ticker na puwedeng kumatawan sa staked ETH (ibig sabihin, rETH mula sa Rocket Pool, stETH mula sa Lido, ETH2 mula sa Coinbase). Magbasa pa tungkol sa mga staking pool", + "page-staking-faq-4-question": "Live na ba ang staking?", + "page-staking-faq-4-answer-p1": "Oo. Live na mula pa noong Disyembre 1, 2020 ang staking", + "page-staking-faq-4-answer-p2": "Ito ay nangangahulugang kasalukyang live ang staking para magawa ng mga user na ideposito ang kanilang ETH, magpatakbo ng validator client, at magsimulang makakuha ng mga reward.", + "page-staking-faq-4-answer-p3": "Ang Shanghai/Capella upgrade ay natapos noong Abril 12, 2023. Dahil dito, puwede nang mag-withdraw sa staking, na siyang nagpakumpleto sa liquidity ng staking.", + "page-staking-faq-5-question": "Kailan ko puwedeng i-withdraw ang aking staked ETH?", + "page-staking-faq-5-answer-p1": "Ngayon na! Malaya ang mga staker na i-withdraw ang kanilang mga reward at/o principle deposit \n sa kanilang validator balance kung gusto nila itong gawin.", + "page-staking-faq-5-answer-p2": "Makakakuha rin ang mga staker ng mga reward sa anyo ng mga bayarin at MEV kapag nagmumungkahi ng mga block, na agad na magiging available sa pamamagitan ng itinakdang address na tatanggap ng bayarin.", + "page-staking-faq-5-answer-link": "Iba pang detalye tungkol sa mga pag-withdraw sa staking", + "page-staking-further-reading-1-link": "Bakit Dapat Gamitin ang Patunay ng Stake (Nob 2020)", + "page-staking-further-reading-author-vitalik-buterin": "Vitalik Buterin", + "page-staking-further-reading-2-link": "Serenity Design Rationale", + "page-staking-further-reading-3-link": "FAQ sa Patunay ng Stake (Dis 2017)", + "page-staking-further-reading-4-link": "Balita tungkol sa Eth2", + "page-staking-further-reading-4-author": "Ben Edgington", + "page-staking-further-reading-5-link": "Finalized no. 33, ang Ethereum consensus-layer (Enero 2022)", + "page-staking-further-reading-5-author": "Danny Ryan", + "page-staking-further-reading-6-link": "Mga Post na Patunay", + "page-staking-further-reading-7-link": "Knowledge Base ng Beaconcha.in", + "page-staking-further-reading-8-link": "Mga Edukasyonal na Materyal mula sa Komunidad ng Beaconcha.in", + "page-staking-further-reading-9-link": "FAQ sa Ethereum Staking Launchpad", + "page-staking-further-reading-10-link": "Knowledge base ng EthStaker", + "page-staking-toc-how-to-stake-your-eth": "Paano i-stake ang iyong ETH", + "page-staking-toc-comparison-of-options": "Paghahambing ng opsyon sa staking", + "page-staking-toc-faq": "FAQ", + "page-staking-toc-further": "Karagdagang pagbabasa", + "page-staking-dom-info-title": "Staking gamit ang Ethereum", + "page-staking-join-community": "Sumali sa komunidad ng staker", + "page-staking-join-community-desc": "Ang EthStaker ay isang komunidad kung saan mapag-uusapan at matututunan ng lahat ang staking sa Ethereum. Samahan ang libo-libong miyembro mula sa iba't ibang bahagi ng mundo para sa payo, suporta, at para mapag-usapan ang lahat ng bagay tungkol sa staking.", + "page-staking-meta-description": "Pangkalahatang-ideya ng Ethereum staking: ang mga panganib, reward, kahingian, at kung saan ito dapat gawin.", + "page-staking-meta-title": "Ethreum staking", + "page-staking-withdrawals-important-notices": "Mahahalagang paunawa", + "page-staking-withdrawals-important-notices-desc": "Hindi pa available ang mga withdrawal. Basahin ang Eth2 FAQ sa merge at post-merge para sa iba pang impormasyon.", + "page-upgrades-merge-btn": "Dagdag impormasyon tungkol sa The Merge", + "subscribe-to-ef-blog": "Mag-subscribe sa EF Blog para makatanggap ng mga email notification para sa mga pinakabagong anunsyo tungkol sa protocol." +} From 3716585bb855da204f575182ebfb80ec0e28abc6 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 27 Sep 2023 11:55:46 -0600 Subject: [PATCH 23/55] Hungarian content buckets (Homepage, Essentials, Exploring, Use Ethereum) --- src/content/translations/hu/dao/index.md | 165 +++++++++ src/content/translations/hu/nft/index.md | 341 ++---------------- src/intl/hu/common.json | 76 +++- src/intl/hu/page-dapps.json | 8 + src/intl/hu/page-developers-index.json | 24 +- .../hu/page-developers-learning-tools.json | 33 +- .../hu/page-developers-local-environment.json | 8 +- src/intl/hu/page-get-eth.json | 3 + src/intl/hu/page-index.json | 16 +- src/intl/hu/page-languages.json | 13 +- src/intl/hu/page-layer-2.json | 128 +++++++ src/intl/hu/page-run-a-node.json | 135 +++++++ src/intl/hu/page-stablecoins.json | 12 +- src/intl/hu/page-wallets-find-wallet.json | 88 ++++- src/intl/hu/page-wallets.json | 28 +- src/intl/hu/page-what-is-ethereum.json | 79 ++-- src/intl/hu/template-usecase.json | 2 + 17 files changed, 775 insertions(+), 384 deletions(-) create mode 100644 src/content/translations/hu/dao/index.md create mode 100644 src/intl/hu/page-run-a-node.json diff --git a/src/content/translations/hu/dao/index.md b/src/content/translations/hu/dao/index.md new file mode 100644 index 00000000000..e5d05700901 --- /dev/null +++ b/src/content/translations/hu/dao/index.md @@ -0,0 +1,165 @@ +--- +title: Decentralizált autonóm szervezetek (DAO-k) +description: Az Ethereumon működő DAO-k áttekintése +lang: hu +template: use-cases +emoji: ":handshake:" +sidebarDepth: 2 +image: ../../../../assets/use-cases/dao-2.png +alt: Egy javaslatra történő DAO-szavazat ábrázolása. +summaryPoint1: Tagtulajdonú közösségek központi vezetők nélkül. +summaryPoint2: Biztonságos módja az interneten történő, ismeretlenekkel való együttműködésnek. +summaryPoint3: Egy biztonságos hely, ahol pénzét adott célokra fordíthatja. +--- + +## Mik azok a DAO-k? {#what-are-daos} + +A DAO egy kollektívan tulajdonolt, blokklánc által irányított szervezet, amely egy közös cél megvalósítására törekszik. + +A DAO-k lehetőséget biztosítanak számunkra, hogy hozzánk hasonló elhivatottságú emberekkel dolgozzunk a világ minden tájáról anélkül, hogy egy központi vezetőre bíznánk a pénzügyi és operatív működtetést. Nincs olyan vezérigazgató, aki a kedve szerint költhetné el az alapokat, vagy olyan pénzügyi vezető, aki manipulálhatná a könyvelést. Helyette a kódba épített, blokkláncon alapuló szabályok határozzák meg, hogyan működik a szervezet és kerülnek elköltésre az alapok. + +Beépített pénztárakkal rendelkeznek, amelyekhez a csoport jóváhagyása nélkül senkinek sincs jogosultsága hozzáférni. A döntéseket szavazatokkal és javaslatokkal hozzák meg, így biztosítva, hogy mindenki hangot adhasson véleményének a szervezeten belül és minden nyomon követhető legyen a blokkláncon. + +## Miért van szükségünk DAO-kra? {#why-dao} + +Egy pénzügyi forrásokat és pénzt igénylő szervezet indítása nagyon sok bizalmat igényel azon emberek vonatkozásában, akikkel együtt dolgozunk. Azonban nehéz megbízni valakiben, akivel csak az interneten keresztül léptünk kapcsolatba. A DAO-k esetében nem kell megbíznia a csoport többi tagjában, kizárólag a DAO kódjában, mely 100%-ban átlátható és bárki által ellenőrizhető. + +Ennek köszönhetően rengeteg lehetőség nyílik meg a globális együttműködésre és koordinációra. + +### Összehasonlítás {#dao-comparison} + +| DAO | Egy hagyományos szervezet | +| --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| Általában lapos és teljesen demokratizált. | Rendszerint hierarchikus. | +| Bármely változtatás végrehajtásához a tagok szavazata szükséges. | A felépítésen alapszik, egyetlen tagtól is követelhető változás, vagy szavazásra is bocsátható a kérdés. | +| A szavazatokat összeszámolják, a szavazás eredményét pedig automatikusan végrehajtják egy megbízott közvetítő nélkül. | Ha megengedett a szavazás, akkor a szavazatokat a szervezeten belül összeszámolják, a szavazás eredményét pedig manuálisan végrehajtják. | +| A szolgáltatásokat automatikusan, decentralizált módon kezelik (például a humanitárius források elosztása). | Emberi közbenjárást igényel, vagy egy központilag irányított automata mechanizmus működteti, mely visszaélésre adhat lehetőséget. | +| Minden tevékenység átlátható és teljesen nyilvános. | A tevékenység jellemzően nem nyilvános, így korlátozott betekintést ad a nyilvánosság számára. | + +### Példák a DAO-ra {#dao-examples} + +Annak érdekében, hogy még érthetőbbé tegyük a DAO-k működését, az alábbiakban néhány példán keresztül bemutatjuk, mire is használhatók: + +- Adománygyűjtés – adományokat fogadhat a világ minden tájáról, és szavazás alapján eldönthető, hogy azokat mire fordítsák. +- Közös tulajdonlás – fizikai vagy digitális eszközöket szerezhet be, melyek felhasználásáról a tagok szavaznak. +- Kockázati tőke és támogatás – létrehozhat egy kockázatitőke-alapot, mely befektetési tőkét gyűjt, és szavazással válaszhatók ki a támogatandó vállalkozások. A visszaérkező összegeket pedig később szétoszthatják a DAO tagjai között. + +## Hogyan működnek a DAO-k? {#how-daos-work} + +A DAO szíve az az okosszerződés, mely meghatározza a szervezet szabályait és kezeli a csoport vagyonát. Amint a szerződés életbe lép az Ethereumon, csakis szavazás útján lehet módosítani a szabályokat. Ha valaki olyat próbál tenni, ami nem szerepel a szabályokban és a programlogikában, az meghiúsul. Mivel a társaság pénzügyeit is az okosszerződés határozza meg, ezért a csoport jóváhagyása nélkül senki sem költheti el a pénzösszegeket. Tehát a DAO-nak nincs szüksége központi hatóságra. Ehelyett a csoport közösen hoz döntéseket, a kifizetések pedig automatikusan jóváhagyásra kerülnek a szavazás eredményeként. + +Mindez azért lehetséges, mert az okosszerződést nem lehet önkényesen megváltoztatni vagy meghamisítani, amikor már életbe lépett az Ethereumon. Senki sem tudja módosítani a programkódot (a DAO szabályait) anélkül, hogy mások azt észre ne vennék, mivel minden nyilvános. + + + Többet az okos szerződésekről + + +## Az Ethereum és a DAO-k {#ethereum-and-daos} + +Az Ethereum tökéletes alapot szolgáltat a DAO-knak számtalan okból kifolyólag: + +- Az Ethereum saját konszenzusmechanizmusa kellőképpen kiterjedt és megalapozott ahhoz, hogy a szervezetek megbízzanak a hálózatban. +- Az okosszerződés tartalmát nem lehet módosítani, miután életbe lépett, még a tulajdonosok módosíthatják azt. Ennek következtében a DAO a meghatározott szabályok alapján fog működni. +- Az okosszerződések képesek pénzeszközöket küldeni és fogadni. Enélkül szükség lenne egy megbízható közvetítőre, aki a csoport eszközeit kezelné. +- Az Ethereum közössége bizonyítottan együttműködő, nem versenyszellemű, így a bevált gyakorlatok és a támogatórendszerek gyorsan kialakulnak. + +## A DAO irányítása {#dao-governance} + +A DAO irányításakor számtalan szempontot figyelembe kell venni, mint például a szavazás menete és a javaslatok kezelése. + +### Delegáció {#governance-delegation} + +A delegáció vagy felhatalmazás a DAO verziója a képviselőalapú demokráciának. A tokenek birtokosai átadják szavazati jogaikat olyan felhasználóknak, akik vállalják, hogy felügyelik a protokollt és tájékozódnak az ügyeket illetően. + +#### Egy híres példa {#governance-example} + +[ENS](https://claim.ens.domains/delegate-ranking) – az ENS-szel rendelkezők delegálhatják szavazati jogaikat a közösség elkötelezett tagjainak, hogy képviseljék őket. + +### Automatikus tranzakciókon alapuló irányítás {#governance-example} + +Számos DAO-nál a tranzakciók automatikusan végrehajtódnak, ha a tagok határozatképes létszámban megszavazzák azt. + +#### Egy híres példa {#governance-example} + +[Nouns](https://nouns.wtf) – A Nouns DAO-ban a tranzakciók automatikusan végbemennek, ha határozatképes létszám van jelen, a szavazatok többsége igenlő, illetve az alapítók nem vétózzák meg. + +### Több aláírásos irányítás {#governance-example} + +Miközben a DAO-knak ezernyi szavazattal rendelkező tagja lehet, az alapítványoknál lehetséges, hogy 5–20 aktív közösségi tag tartozik egy tárcához, akik az alapítvány megbízottjai, a személyazonosságukat pedig általában ismeri a közösség (doxxed). A szavazás után a kijelölt aláírók hajtják végre a közösség akaratát. + +## A DAO törvényei {#dao-laws} + +1977-ben Wyoming megalkotta a korlátolt felelősségű társasági formát, mely megvédi a vállalkozót és behatárolja a felelősségi körüket. Nemrég elsőként hozták létre a DAO-kra vonatkozó törvényt, mely jogi státuszt ad a DAO-knak. Jelenleg Wyoming, Vermont és a Virgin-szigetek rendelkeznek DAO-törvénnyel valamilyen formában. + +#### Egy híres példa {#law-example} + +[CityDAO](https://citydao.io) – A CityDAO 40 hektár földet vett a Yellowstone Nemzeti Park közelében Wyoming DAO-törvényével élve. + +## DAO-tagság {#dao-membership} + +A DAO-tagságra különféle modellek léteznek. A tagság meghatározza a szavazás menetét, illetve a DAO más kulcsfontosságú részleteit. + +### Tokenalapú tagság {#token-based-membership} + +Általában teljesen engedélymentes, a használt tokenen alapszik. Ezekkel az irányítási tokenekkel többnyire engedély nélkül lehet kereskedni a decentralizált tőzsdén. Más tokenek megszerzéséhez likviditást kell biztosítani vagy más munkaigazolás (proof-of-work) szükséges. Bármelyik módon is jut hozzá, a token maga biztosítja a szavazati jogot. + +_Főleg arra használják, hogy kiterjedt, decentralizált protokollokat és/vagy magukat a tokeneket irányítsák ezáltal._ + +#### Egy híres példa {#token-example} + +[MakerDAO](https://makerdao.com) – A MakerDAO tokenje, az MKR, széles körben elérhető a decentralizált tőzsdéken, s bárki beszerezheti azokat, hogy szavazati jogot nyerjen a Maker protokoll jövőjére vonatkozóan. + +### Részesedésalapú tagság {#share-based-membership} + +A részesedésalapú DAO-k sokkal inkább engedélyhez kötöttek, de még mindig elég nyitottak. Bármelyik leendő tag beadhat egy csatlakozási kérvényt, melyben általában felajánl valamilyen értéket tokenek vagy elvégzendő munka (például számítási kapacitás) formájában. A részesedés közvetlen szavazati és tulajdonjogot jelent. A tagok bármikor kiléphetnek az arányos részesedésükkel együtt. + +_Főleg a szorosabb szerveződésű, emberközpontú szervezetek használják, mint az adománygyűjtők, munkaközösségek és befektetési klubok. Ezt is használhatják protokollok és tokenek irányítására._ + +#### Egy híres példa {#share-example} + +[MolochDAO](http://molochdao.com/) – A MolochDAO az Ethereum-projektek támogatásával foglalkozik. A tagságot kérvényezni kell, melynek alapján a csoport eldönti, vajon az új tag rendelkezik a szükséges szakértelemmel és tőkével, hogy megfelelő döntést tudjon hozni a lehetséges támogatottakról. Nem lehetséges megvásárolni a DAO-tagságot a piacon. + +### Reputációalapú tagság {#reputation-based-membership} + +A reputáció a részvételt igazolja és szavazati jogot biztosít a DAO-ban. A token- és részesedésalapú tagsággal ellentétben a reputációalapú DAO nem ad tulajdonjogot a közreműködőknek. A reputációt nem lehet megvenni, átadni vagy delegálni; a DAO tagok a részvételükkel nyerik el azt. A láncon belüli szavazás nem engedélyhez kötött, a leendő tagok szabadon kérvényezhetik a DAO-hoz való csatlakozást, illetve azt, hogy a közreműködésükért cserébe reputációt és tokent kapjanak. + +_Főleg a protokollok és decentralizált alkalmazások (dapp) decentralizált fejlesztésére és irányítására használják, de ugyanúgy jól alkalmazható a különféle szervezeteknél, mint adománygyűjtés, munkaközösségek, befektetési klubok stb._ + +#### Egy híres példa {#reputation-example} + +[DXdao](https://DXdao.eth.link) – A DXdao egy független globális csoportosulás, amely 2019 óta épít és irányít decentralizált protokollokat és alkalmazásokat. Reputációalapú irányítást és holografikus konszenzust (szavazási módszer) használ arra, hogy forrásokat koordináljon és menedzseljen, tehát senki sem tudja megvásárolni a tagságot azért, hogy befolyásolja a DAO működését. + +## Csatlakozás DAO-hoz / DAO indítása {#join-start-a-dao} + +### DAO-hoz csatlakozás {#join-a-dao} + +- [Az Ethereum-közösséghez tartozó DAO-k](/community/get-involved/#decentralized-autonomous-organizations-daos) +- [DAOHaus által listázott DAO-k](https://app.daohaus.club/explore) +- [Tally.xyz által listázott DAO-k](https://www.tally.xyz) + +### DAO indítása {#start-a-dao} + +- [Indítson DAO-t a DAOHaus-szal](https://app.daohaus.club/summon) +- [Indítson irányító DAO-t a Tally-vel](https://www.tally.xyz/add-a-dao) +- [Hozzon létre egy Aragon által működtetett DAO-t](https://aragon.org/product) +- [Hozzon létre csoportot a Colony-val](https://colony.io/) +- [Indítson DAO-t a DAOstack által biztosított holografikus konszenzussal](https://alchemy.daostack.io/daos/create) + +## További információ {#further-reading} + +### DAO-ról szóló cikkek {#dao-articles} + +- [Mi az a DAO?](https://aragon.org/dao) – [Aragon](https://aragon.org/) +- [A DAO kézikönyv](https://daohandbook.xyz) +- [DAO-k háza](https://wiki.metagame.wtf/docs/great-houses/house-of-daos) – [Metagame](https://wiki.metagame.wtf/) +- [Mi az a DAO és mire jó?](https://daohaus.substack.com/p/-what-is-a-dao-and-what-is-it-for) – [DAOhaus](https://daohaus.club/) +- [Hogyan lehet létrehozni egy DAO által működtetett digitális közösséget](https://daohaus.substack.com/p/four-and-a-half-steps-to-start-a) – [DAOhaus](https://daohaus.club/) +- [Mi az a DAO?](https://coinmarketcap.com/alexandria/article/what-is-a-dao) – [Coinmarketcap](https://coinmarketcap.com) +- [Mi az a holografikus konszenzus?](https://medium.com/daostack/holographic-consensus-part-1-116a73ba1e1c) – [DAOstack](https://daostack.io/) +- [A DAO-k nem vállalatok: hol van a legnagyobb jelentősége a decentralizációnak az autonóm szervezetekben – Vitalik](https://vitalik.ca/general/2022/09/20/daos.html) +- [DAO, DAC, DA és mások: egy nem teljes terminológiai útmutató](https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide) – [Ethereum Blog](https://blog.ethereum.org) + +### Videók {#videos} + +- [Mit jelent a DAO a kripto világában?](https://youtu.be/KHm0uUPqmVE) +- [Felépíthet egy várost egy DAO?](https://www.ted.com/talks/scott_fitsimones_could_a_dao_build_the_next_great_city) – [TED](https://www.ted.com/) diff --git a/src/content/translations/hu/nft/index.md b/src/content/translations/hu/nft/index.md index 8c935942d17..7f9dd4a4782 100644 --- a/src/content/translations/hu/nft/index.md +++ b/src/content/translations/hu/nft/index.md @@ -12,326 +12,69 @@ summaryPoint2: Az NFT-k minden korábbinál nagyobb hatalmat adnak a tartalomgy summaryPoint3: Az Ethereum blokklánc okosszerződései által működtetve. --- -Az NFT-k viharként söpörnek végig a digitális művészeti alkotások és gyűjthető tárgyak világán. Sok digitális művész élete vesz teljes fordulatot az új, kriptoközönségnek történő eladásoknak köszönhetően. Már a hírességek is elkezdtek beszállni, hiszen a technológiában új lehetőséget látnak a rajongókkal való kapcsolattartásra. De a digitális művészet csak egy az NFT-k felhasználási módjai közül. Valójában akármilyen egyedi dolog tulajdonjogának kifejezésére használhatók: az NFT-k a digitális vagy fizikai tárgyak tulajdoni lapjaként szolgálnak. +## Mik azok a nem helyettesíthető tőkenek (NFT)? {#what-are-nfts} -Ha Andy Warhol a kilencvenes évek végén született volna, valószínűleg NFT-ként tette volna közzé a Campbell's Soup Cans-sorozatot. Csak idő kérdése, hogy a Nike kiadjon egy Jordans-sorozatot az Ethereumon. Egy nap talán azt is NFT-vel bizonyíthatjuk, hogy egy autó tényleg a mi tulajdonunk. +Az NFT-k olyan tokenek, melyek teljesen egyediek. Minden egyes NFT más jellemzőkkel bír (nem helyettesíthető) és bizonyítottan véges. Különbözik más tokenektől, mint amilyen az ERC-20 is, ahol egy adott tokenszett minden eleme azonos és ugyanolyan jellemzőkkel bír (helyettesíthető). Nem számít, hogy az ember pénztárcájában konkrétan melyik bankjegy található, mert mindegyik azonos és ugyanolyan értékű. Az azonban _valóban_ számít, hogy Ön melyik NFT-t birtokolja, mert egyedi jellemzőik megkülönböztetik azokat egymástól (nem helyettesíthető). -## Mik azok az NFT-k? {#what-are-nfts} - -Az NFT-k olyan tokenek, amelyek használatával egyedi dolgok tulajdonjogát igazolhatjuk. Segítségükkel műalkotásokat, gyűjthető tárgyakat vagy akár ingatlanokat is tokenizálhatunk. Egy eszköz tulajdonjogát az Ethereum blokklánc biztosítja – senki sem módosíthatja a tulajdonjog igazolását, vagy hozhat lére új NFT-t másolással és beillesztéssel. - -Az NFT jelentése nem helyettesíthető token (Non-Fungible Token). A „nem helyettesíthető” egy gazdasági kifejezés, amellyel olyan dolgokat írhatunk le, mint például egy bútor az otthonunkban, egy mp3-dal vagy a számítógépünk. Ezek a dolgok nem cserélhetőek ki egy másikra, mert egyedi tulajdonságokkal bírnak. - -A helyettesíthető dolgok viszont kicserélhetőek, mivel nem egyedi tulajdonságaik határozzák meg őket, hanem az értékük. Példaául az ETH vagy a dollár helyettesíthető, mivel 1 ETH vagy 1 dollár kicserélhető egy másik ETH-re vagy dollárra. +Az NFT-k egyedisége révén akár műtárgyak, gyűjthető tárgyak vagy ingatlanok is tokenné alakíthatók. Ekkor egy adott egyedi NFT egy specifikus, egyedi, valós vagy digitális tárgyat képvisel. Egy eszköz tulajdonjogát az Ethereum-blokklánc biztosítja – senki sem módosíthatja a tulajdonjog igazolását, vagy hozhat létre új NFT-t másolással és beillesztéssel. ## Az eszközök internete {#internet-of-assets} -Az NFT-k és az Ethereum megold néhány, az interneten napjainkban jelenlévő problémát. Ahogy minden egyre digitálisabbá válik, egyre inkább szükség van a fizikai tárgyak bizonyos tulajdonságaira, mint például a ritkaság, az egyediség és a tulajdonjog bizonyítása. Arról nem is beszélve, hogy a digitális javak gyakran csak az adott termékkel együtt működnek. Például nem adhatod el a megvásárolt iTunes mp3-at, vagy nem cserélheted el a hűségpontjaidat egy másik kibocsájtó pontjaira – még akkor sem, ha van rá kereslet. +Az NFT-k és az Ethereum megoldást jelent néhány, napjainkban az interneten jelen lévő problémára. Ahogy minden egyre digitálisabbá válik, egyre inkább szükség van a fizikai tárgyak bizonyos tulajdonságainak replikálására, mint például a ritkaság, az egyediség és a tulajdonjog bizonyítása. oly módon, hogy azt ne egy központi szervezet irányítsa. Például az NFT révén bárki birtokolhat olyan mp3 zenét, mely nem egy cég specifikus zenei alkalmazásához kötődik, illetve egy olyan oldalt a közösségi médiában, melyet eladhat vagy elcserélhet, de azt nem veheti el önkényesen a platform szolgáltatója. -Így néz ki az NFT-k internete ahhoz az internethez képest, amit a többségünk manapság használ... +Így néz ki az NFT-k internete ahhoz az internethez képest, amelyet a többségünk minden nap használ... ### Összehasonlítás {#nft-comparison} -| Az NFT-k internete | Az internet ma | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Az NFT-k digitálisan egyediek, nincs két azonos NFT. | Egy adatállomány (mint az .mp3 vagy a .jpg) másolata megegyezik az eredetivel. | -| Minden NFT-nek van egy tulajdonosa, és az nyilvános volta miatt bárki által könnyen ellenőrizhető. | A digitális javak tulajdonjogi nyilvántartását intézmények által ellenőrzött szervereken tárolják – az ő szavukra kell hagyatkoznunk. | -| Az NFT-k mindennel kompatibilisek, ami az Ethereum felhasználásával készült. Egy rendezvényre szóló NFT-jegy értékesíthető bármely Ethereum- piactéren, akár egy teljesen másfajta NFT-ért. Akár egy műalkotás is elcserélhető egy belépőre! | A digitális eszközöket használó cégeknek saját infrastruktúrát kell kiépíteniük. Például egy digitális belépőjegyeket létrehozó alkalmazásnak szüksége lenne egy saját kereskedőplatformra is. | -| A tartalomkészítők bárhol eladhatják munkáikat, és hozzáférhetnek a világpiachoz. | Az alkotók csak annak a felületnek a hálózatára és disztribúciójára támaszkodhatnak, amelyet használnak. Ezeknek gyakran felhasználási feltételei és földrajzi korlátai vannak. | -| Az alkotók rendelkeznek a munkájuk tulajdonosi jogai felett, a követő jogdíjakat pedig közvetítő nélkül kapják meg. | Az online zeneszolgáltatók és a hasonló platformok megtartják a haszon túlnyomó részét. | -| Egészen meglepő felhasználási módjai is vannak. A digitális műalkotások például fedezetként is felhasználhatóak decentralizált hitelekhez. | | - -### Példák NFT-re {#nft-examples} - -Az NFT-k világa viszonylag újnak mondható. Elméletileg az NFT-k körébe tartozik minden olyan egyedi dolog, amelynek birtoklását igazolni kell. A megértéshez segítségül íme néhány, már létező NFT: - -- [Egyedi digitális műalkotás](https://foundation.app/artworks) -- [Egyedi tornacipő korlátozott példányszámú kollekcióból](https://www.metagrail.co/auctions/91cf83fb-3477-4155-aae8-6dcb9b853397) -- [Videójátékban használható tárgy](https://market.decentraland.org/) -- [Egy esszé](https://zora.co/0x517bab7661C315C63C6465EEd1b4248e6f7FE183/145) -- [Digitális gyűjthető alkotás](https://www.larvalabs.com/cryptopunks/details/1) -- [Domainnév](https://app.ens.domains/name/ethereum.eth) -- [Rendezvényre szóló jegy, vagy kupon](https://www.yellowheart.io/) -- [Létező tárgyak vásárlása](https://www.tangible.store/) -- [Tulajdonrész ingatlanban](https://realt.co/) -- [Diploma](https://www.degreecert.com/) -- [Zenéből származó jogdíjak NFT-n keresztül](https://opulous.org/) -- [Pénzkeresés mozgás által](https://yeticoineth.com/about.html) -- [Digitális személyazonosság](https://photochromic.io/) - -### ethereum.org példák {#ethereum-org-examples} - -Az NFT-ket arra használjuk, hogy segítsük a támogatóinkat, és még saját NFT-domainnevünk is van. - -#### POAP-ok (Proof-of-attendance protocol, azaz részvételt tanúsító protokoll) {#poaps} - -Ha Ön hozzájárul az ethereum.org felülethez, egy POAP NFT-t igényelhet. Ezek olyan gyűjthető javak, amelyek bizonyítják, hogy részt vett egy eseményen. Néhány kriptotalálkozó a POAP-okat egyfajta belépőjegyként használta az eseményeikre. [Tudjon meg többet a hozzájárulásról](/contributing/#poap). - -![ethereum.org POAP](./poap.png) - -#### ethereum.eth {#ethereum-dot-eth} - -Ez a weboldal egy alternatív, NFT-k által működtetett domainnévvel rendelkezik – ez az **ethereum.eth**. Az `.org` címünket központilag egy domainnévrendszer (DNS) szolgáltató kezeli, míg az ethereum`.eth` cím az Ethereum Name Service (ENS) szolgáltatáson keresztül van regisztrálva az Ethereumra. Ez a mi tulajdonunkban van, és mi kezeljük. [Tekintse meg az ENS-adatainkat](https://app.ens.domains/name/ethereum.eth) - -[Bővebben az ENS-ről](https://app.ens.domains) +| Az NFT-k internete | Az internet ma | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Ön birtokolja az eszközeit! Egyedül Ön adhatja vagy cserélheti el azokat. | Eszközt bérel valamelyik szervezettől. | +| Az NFT-k digitálisan egyediek, nincs két azonos NFT. | Egy adott entitás másolatát gyakran nem lehet megkülönböztetni az eredetitől. | +| Az NFT tulajdonjogát a blokklánc tárolja, így bárki beazonosíthatja azt. | A digitális javak tulajdonjogi nyilvántartását intézmények által ellenőrzött szervereken tárolják – az ő szavukra kell hagyatkoznunk. | +| Az NFT-k okosszerződések az Ethereum hálózatán. Ez azt jelenti, hogy így könnyen fel lehet azokat használni más okosszerződésekben és alkalmazásokban az Ethereumon! | A digitális eszközöket birtokló vállalatoknak általában saját, falakkal védett infrastruktúrát kell kialakítaniuk. | +| A tartalomkészítők bárhol eladhatják munkáikat, és hozzáférhetnek a világpiachoz. | Az alkotók csak annak a felületnek a hálózatára és disztribúciójára támaszkodhatnak, amelyet használnak. Ezeknek gyakran felhasználási feltételei és földrajzi korlátai vannak. | +| Az NFT létrehozói megtarthatják tulajdonjogaikat saját munkájukat illetően, valamint belefoglalhatják a jogdíjfizetést az NFT szerződésbe. | Az online zeneszolgáltatók és a hasonló platformok megtartják a haszon túlnyomó részét. | ## Hogyan működnek az NFT-k? {#how-nfts-work} -Az NFT-k abban különböznek az ERC-20 tokenektől, mint például a DAI vagy a LINK, hogy minden egyes token teljesen egyedi és nem osztható. Az NFT-k lehetővé teszik bármely egyedi digitális adat tulajdonjogának hozzárendelését vagy igénylését, amely az Ethereum blokkláncának nyilvános főkönyvként való használatával követhető nyomon. Az NFT-t digitális objektumokból hozzák létre, digitális vagy nem digitális dolgok leképezéseként. Egy NFT például a következőket képviselheti: - -- Digitális művészet: - - GIF-ek - - Gyűjthető tárgyak - - Zene - - Videók -- Valóélet-beli elemek: - - Egy autó iratai - - Jegyek egy valós eseményre - - Tokenizált számlák - - Jogi dokumentumok - - Aláírások -- Rengeteg további lehetőség a kreativitásra! - -Az NFT-k tulajdonjogát az egyedi azonosító és a metaadatok kezelik, amelyeket más token nem tud lemásolni. Az NFT-ket okosszerződéseken keresztül bocsátják ki, amelyek tulajdonjogot rendelnek hozzá, és kezelik az NFT-k átruházhatóságát. Amikor valaki NFT-t hoz létre vagy bocsát ki, olyan, okosszerződésekben tárolt kódot hajt végre, amely megfelel különböző szabványoknak, köztük az [ERC-721](/developers/docs/standards/tokens/erc-721/) szabványnak. Ez az információ bekerül a blokkláncba, ahol az NFT-t kezelik. A kibocsátási folyamat a következő főbb lépéseken megy keresztül: - -- Új blokk létrehozása -- Az információ hitelesítése -- Információk rögzítése a blokkláncba - -Az NFT-k rendelkeznek néhány különleges tulajdonsággal: - -- Minden egyes kibocsátott token egyedi azonosítóval rendelkezik, amely közvetlenül egy Ethereum-címhez kapcsolódik. -- Ezek nem cserélhetők fel közvetlenül egy az egyben más tokenekkel. Például 1 ETH pontosan ugyanolyan, mint egy másik ETH. Az NFT-k esetében ez nem így van. -- Minden tokennek van egy tulajdonosa, és ez az információ könnyen ellenőrizhető. -- Ezek az Ethereumon léteznek, és bármely Ethereum-alapú NFT-piacon vásárolhatók és eladhatók. - -Más szóval, ha Ön NFT _ tulajdonos_: - -- Könnyen bizonyítani tudja, hogy Ön a tulajdonos. - - Az NFT tulajdonjogának bizonyítása nagyon hasonlít annak bizonyításához, hogy rendelkezik ETH-val a számláján. - - Tegyük fel például, hogy Ön vásárol egy NFT-t, és az egyedi token tulajdonjoga a nyilvános címén keresztül kerül a tárcájába. - - A token bizonyítja, hogy a digitális fájl Önnél lévő verziója az eredeti. - - Az Ön privát kulcsa az eredeti tulajdonjogának bizonyítéka. - - A tartalom létrehozójának nyilvános kulcsa az adott digitális műtárgy hitelességi tanúsítványaként szolgál. - - Az alkotó nyilvános kulcsa lényegében a token történetének állandó része. Az alkotó nyilvános kulcsa bizonyíthatja, hogy a birtokában lévő tokent egy adott személy hozta létre, ami hozzájárul a piaci értékéhez (a hamisítványokkal szemben). - - Egy másik mód az NFT tulajdonjogának bizonyítására az üzenetek aláírása, amellyel bizonyíthatja, hogy a cím mögötti privát kulcs a tulajdonában van. - - Ahogy fent említettük, a privát kulcs az eredeti tulajdonjogának bizonyítéka. Ez azt jelenti, hogy az adott cím mögötti privát kulcsok irányítják az NFT-t. - - Az aláírt üzenet bizonyítékként szolgálhat arra, hogy Ön birtokolja a privát kulcsait anélkül, hogy azokat bárkinek is felfedné, és így bizonyítja, hogy az NFT is az Öné. -- Senki sem tudja manipulálni semmilyen módon. -- Eladhatja, és bizonyos esetekben ez az eredeti alkotónak követő jogdíjat jelent. -- Vagy örökre megtarthatja, és nyugodt lehet abban, hogy tulajdonának biztonságáról az Ön Ethereum-tárcája gondoskodik. - -Ha pedig Ön NFT-t _hoz létre_: - -- Könnyen bebizonyíthatja, hogy Ön az alkotó. -- Ön határozza meg a mennyiséget. -- Minden egyes eladás után jogdíjat kaphat. -- Bármelyik NFT-piacon vagy társközi (peer-to-peer) piacon eladhatja. Nincs egyetlen platformhoz sem kötve, és nincs szüksége közvetítőkre. - -### Korlátozott mennyiség {#scarcity} - -Az NFT létrehozója dönthet az adott dologból elérhető mennyiségről. - -Vegyünk például egy sporteseményre szóló jegyet. Ahogyan egy rendezvény szervezője eldöntheti, hogy hány jegyet ad el, úgy az NFT létrehozója is eldöntheti, hogy hány másolat létezik. Néha ezek pontos másolatok, mint például 5000 darab nem helyre szóló belépőjegy. Néha több olyan jegyet is kiállítanak, amelyek nagyon hasonlóak, de mindegyik kissé különbözik, mint például a kijelölt ülőhelyre szóló jegyek. Az is előfordulhat, hogy az alkotó egy olyan NFT-t szeretne létrehozni, amelyből csak egy példányt bocsátanak ki különleges, ritka gyűjtői darabként. +Ahogy az Ethereumon létrehozott többi tokent, az NFT-ket is okosszerződések kreálják. Az okosszerződés a számos NFT-standard egyikét (általában ERC-721 vagy ERC-1155) alkalmazza, mely meghatározza a szerződés funkcióit. A szerződés létrehozza (minteli) az NFT-t, és egy adott tulajdonoshoz rendeli. A tulajdonjogot úgy határozza meg a szerződés, hogy az adott NFT-t adott címhez köti. Az NFT rendelkezik egy azonosítóval (ID) és jellemzően metaadatok kapcsolódnak hozzá, melyek egyedivé teszik az adott tokent. -Ezekben az esetekben az egyes NFT-k továbbra is rendelkeznének egyedi azonosítóval (mint a hagyományos „jegyek” vonalkódjai), és csak egy tulajdonosuk lenne. Az NFT tervezett mennyiségi korlátozásának fontos szerepe van, amely csakis az alkotótól függ. Előfordulhat, hogy az alkotó minden egyes NFT-t teljesen egyedivé szeretne tenni a ritkaság érdekében, de az is lehet, hogy az adott esetben több ezer másolat készítése az indokolt. Ne feledje, hogy ezek az információk nyilvánosak. - -### Jogdíjak {#royalties} - -Egyes NFT-k eladásakor az alkotók automatikusan megkapják a jogdíjat. Ez egy folyamatosan fejlődő koncepció, ám egyben az egyik legerősebb. Az [EulerBeats Originals](https://eulerbeats.com/) eredeti tulajdonosai 8% jogdíjat kapnak minden alkalommal, amikor az NFT-t értékesítik. Néhány platform, mint például a [Foundation](https://foundation.app) és a [Zora](https://zora.co/) támogatja a művészek jogdíjának kifizetését. - -Ez teljesen automatikus, így az alkotók hátradőlve élvezhetik a jogdíjakat, amit minden egyes értékesítés után megkapnak. Jelenleg a jogdíjak kiszámítása manuálisan történik, és nem elég pontos – sok alkotó nem azt kapja, amit megérdemel. Ha az Ön NFT-jébe be van programozva a jogdíj, akkor soha nem marad le róla. +Amikor valaki létrehozza vagy minteli az NFT-t, akkor valójában az okosszerződés egy funkcióját indítja el, mely a címéhez rendeli az adott NFT-t. Ezt az információt a szerződés tárhelye őrzi a blokklánc részeként. A szerződés létrehozója egyéb logikát is belevehet a szerződésbe, mint például a kínálat korlátozása, illetve jogdíjfizetés az alkotónak minden alkalommal, amikor a token tulajdonost vált. ## Mire használják az NFT-ket? {#nft-use-cases} -Itt talál további információkat az Ethereumon működő NFT-k néhány jobban kidolgozott felhasználási módjáról és elképzeléséről. - -- [Digitális tartalom](#nfts-for-creators) -- [Videójáték elemek](#nft-gaming) -- [Domainnevek](#nft-domains) -- [Fizikai elemek](#nft-physical-items) -- [Befektetések és fedezet](#nfts-and-defi) -- [Tokengating, vagy tokenzárolás](#tokengating) - - - -### Az alkotók jövedelmének maximalizálása {#nfts-for-creators} - -Az NFT-ket ma leginkább a digitális tartalomgyártás területén használják. Ezért az iparág jelenlegi rossz működése okolható. A tartalomkészítők profitjait és kereseti lehetőségeit elnyelik a különböző platformok. - -A közösségi hálózaton publikáló művész pénzt keres a platformnak, amely hirdetéseket ad el a művész követőinek. Cserébe hírnevet kapnak, a hírnévből azonban nem lehet számlákat fizetni. - -Az NFT-k egy új alkotói gazdaságot működtetnek, ahol az alkotók nem adják át a tartalmuk tulajdonjogát a platformoknak, amelyeken közzéteszik műveiket. A tulajdonjog magába a tartalomba van beépítve. - -Amikor eladják az adott tartalmat, a pénz közvetlenül hozzájuk kerül. Ha az új tulajdonos ezután eladja az NFT-t, az eredeti alkotó akár automatikusan is kaphat jogdíjat. Ez minden egyes eladáskor garantált, mivel a létrehozó címe a token metaadatainak része – ezek pedig nem módosíthatók. - - -
Fedezzen fel, vásároljon vagy készítsen saját NFT-műalkotásokat/gyűjthető tárgyakat...
- - Fedezzen fel NFT-műalkotásokat - -
- -#### A másolás/beillesztés problémája {#nfts-copy-paste} - -Az NFT ellenzői gyakran hivatkoznak arra, hogy az NFT-k „értelmetlenek”, általában egy kép mellett, amelyen egy NFT-műalkotásról készítenek képernyőképet. „Nézd, most már ingyen az enyém ez a kép!” – mondják önelégülten. +Az NFT-ket számtalan esetben használják, ilyen például: -Nos, igen. De vajon Picasso Guernicájának egy képére guglizva egy több millió dolláros művészeti alkotás büszke új tulajdonosai leszünk? - -Végső soron egy dolog olyan értékes, amilyenné a piac teszi. Minél többször nézik, osztják meg és használják a tartalmat, annál értékesebb lesz. - -Az igazolhatóan valódi dolgok birtoklása mindig nagyobb értéket képvisel, mint a nem valódiaké. - - - -### A játékélmény növelése {#nft-gaming} - -Az NFT-k iránt nagy az érdeklődés a játékfejlesztők részéről. Az NFT-k biztosíthatják a játékbeli tárgyak tulajdonjogának nyilvántartását, táplálhatják a játékbeli gazdaságot, és számos előnnyel járhatnak a játékosok számára. - -Sok egyszerű játékban vásárolhatunk olyan elemeket, amelyeket felhasználhatunk a játékban. De ha ez a tárgy egy NFT lenne, akkor visszanyerhetnénk a pénzt, ha eladnánk, amikor befejeztük a játékot. Még nyereséget is szerezhetnénk, ha az adott termék népszerűbbé válik. - -A játékfejlesztők – mint NFT-kibocsátók – jogdíjat kaphatnának minden egyes alkalommal, amikor egy elemet újból értékesítenek a nyílt piacon. Ez egy kölcsönösen előnyösebb üzleti modellt hoz létre, ahol mind a játékosok, mind a fejlesztők keresnek az NFT-piacokon. - -Ez azt is jelenti, hogy ha egy játékot a fejlesztők már nem tartanak fenn, az összegyűjtött tárgyak Önnél maradnak. - -Végső soron a játékon belül megszerzett tárgyak túlélhetik magukat a játékokat. Még ha egy játékot már nem is tartanak fenn, a tárgyai mindig az Ön ellenőrzése alatt maradnak. Ez azt jelenti, hogy a játékbeli tárgyak digitális emléktárgyakká válnak, és a játékon kívül is értéket képviselnek. - -A Decentraland nevű virtuális valóságjáték még azt is lehetővé teszi, hogy virtuális földterületeket jelentő NFT-ket vásároljon, amelyeket tetszés szerint használhat. - - -
Tekintse meg az NFT-k által üzemeltetett Ethereum-játékokat...
- - Fedezze fel az NFT-játékokat - -
- - +- egy eseményen való részvétel igazolása +- egy elvégzett képzés bizonyítványa +- a játékokban birtokolható dolgok +- digitális művészet +- valós tárgyak tokenizálása +- online személyazonosság bizonyítása +- hozzáférés bizonyos tartalmakhoz +- jegyek +- decentralizált internetes domainnevek +- fedezet a decentralizált pénzügyekben (DeFi) -### Az Ethereum-címek megjegyezhetőbbé tétele {#nft-domains} +Tegyük fel, hogy Ön egy művész, aki szeretné NFT-ként megosztani az alkotását, anélkül hogy elveszítené az ellenőrzést felette és közvetítőkre áldozná a profitját. Létrehozhat egy új szerződést, melyben megadja az NFT-k számát, jellemzőiket, és hozzákapcsolja az adott műalkotást. Beleírhatja az okosszerződésbe az Önnek járó jogdíjakat (pl. az eladási ár 5%-át utalják a szerződés tulajdonosának minden alkalommal, amikor az NFT gazdát cserél). Mindig képes lesz bizonyítani, hogy Ön hozta létre az NFT-ket, mert a birtokában van az a tárca, mely létrehozta a szerződést. A vásárlók is könnyedén bizonyíthatják, hogy eredeti NFT-vel rendelkeznek az Ön kollekciójából, mert a tárcáik címe hozzá van rendelve egy tokenhez az okosszerződésben. Az egész Ethereum-ökoszisztémában használhatják az NFT-t, teljes bizonyossággal az eredetiségét illetően. -Az Ethereum Name Service szolgáltatás NFT-ket használ arra, hogy az Ethereum-címét egy könnyebben megjegyezhető névvel lássa el, például `mywallet.eth`. Ez azt jelenti, hogy a `0x123456789.....` helyett a `mywallet.eth` címre kérheti az Önnek küldött ETH-et. +Vagy vegyünk például egy sporteseményre szóló jegyet. Ahogyan egy rendezvény szervezője eldöntheti, hogy hány jegyet ad el, úgy az NFT létrehozója is eldöntheti, hogy hány másolat létezhet. Néha ezek pontos másolatok, mint például 5000 darab nem helyre szóló belépőjegy. Néha több olyan jegyet is kiállítanak, amelyek nagyon hasonlóak, de mindegyik kissé különbözik, mint például kijelölt ülőhelyekre szóló jegyek. Ezeket vehetik és adhatják egymás között (peer-to-peer) anélkül, hogy fizetni kellene a jegyárusoknak, a vevő pedig a szerződés címét ellenőrizve mindig meggyőződhet a jegyek eredetiségéről. -Ez hasonlóan működik, mint egy weboldal domainneve, ami az IP-címet könnyebben megjegyezhetővé teszi. A domainekhez hasonlóan az ENS-neveknek is van értékük, amelyet általában a hosszúság és a relevancia alapján határoznak meg. Az ENS segítségével nincs szüksége domainnyilvántartásra a tulajdonjog átruházásának megkönnyítéséhez. Ehelyett az ENS-nevekkel egy NFT-piactéren kereskedhet. +Az ethereum.org portálon NFT-t használunk arra, hogy igazoljuk a tagok közreműködését a Github gyűjteményhez (repóhoz) vagy a részvételüket bizonyos konferenciabeszélgetéseken, sőt, saját NFT domainnévvel is rendelkezünk. Ha Ön hozzájárul az ethereum.org felülethez, egy POAP NFT-t igényelhet. Bizonyos kriptotalálkozók POAP-ot (részvételt tanúsító protokollt) használnak jegy gyanánt. [Tudjon meg többet a hozzájárulásról](/contributing/#poap). -Az ENS-nevét a következőkre használhatja: - -- Kriptovaluták és egyéb NFT-k fogadása. -- Átirányíthat egy decentralizált weboldalra, például az [ethereum.eth](https://ethereum.eth.link)-re. [További információ a webhely decentralizálásáról](https://docs.ipfs.io/how-to/websites-on-ipfs/link-a-domain/#domain-name-service-dns) -- Bármilyen tetszőleges információ tárolása, beleértve a profilinformációkat, például az e-mail-címeket és a Twitter-felhasználóneveket. - - - -### Fizikai tárgyak {#nft-physical-items} - -A fizikai tárgyak tokenizálása még nem olyan fejlett, mint digitális társaiké. De rengeteg olyan projekt van, amely az ingatlanok, egyedi divatcikkek és egyéb termékek tokenizációjával foglalkozik. - -Mivel az NFT-k lényegében okiratok, egy nap akár autót vagy házat is vásárolhatna ETH-el, és cserébe (ugyanabban a tranzakcióban) megkaphatná az okiratot NFT-ként. Ahogy a dolgok egyre inkább a modern technológiák irányába mozdulnak, nem nehéz elképzelni egy olyan világot, ahol az Ethereum-tárcája lesz az autója vagy az otthona kulcsa – az ajtót pedig a tulajdonjog kriptográfiai bizonyítéka nyitja ki. - -Az Ethereumban reprezentálható értékes javakkal, például autókkal és ingatlanokkal az NFT-ket használhatja fedezetként decentralizált hiteleknél. Ez különösen akkor hasznos, ha nem készpénzzel vagy kriptovalutával rendelkezik, hanem fizikai értéktárgyakkal. [Tudjon meg többet a DeFi-ről](/defi/) - - - -### NFT-k és DeFi {#nfts-and-defi} - -Számos érdekes együttműködés látszik kibontakozni az NFT-k és a [decentralizált pénzügyek (DeFi)](/defi/) világa között. - -#### NFT-alapú hitelek {#nft-backed-loans} - -Vannak olyan DeFi-alkalmazások, amelyekkel fedezet segítségével kölcsönt vehet fel. Például 10 ETH-et használhat fedezetként, hogy 5000 DAI ([egy stabilcoin](/stablecoins/)) összegű kölcsönt vegyen fel. Ez garantálja, hogy a hitelezőt visszafizetik – ha az adós nem fizeti vissza a DAI-t, a hitelező megkapja a fedezetet. Azonban nem mindenki rendelkezik elegendő kriptovalutával, amelyet fedezetként használhatna. - -A projektek kezdik felfedezni, hogy az NFT-ket hogyan lehet fedezetként használni. Képzelje el, ha egy ritka CryptoPunk NFT-t vett volna annak idején – ez a mai árakon akár 1000 dollárt is érhet. Ezt fedezetként felajánlva ugyanezzel a szabályrendszerrel juthatna hitelhez. Ha nem fizeti vissza a DAI-t, a CryptoPunkot elküldik a hitelezőnek fedezetként. Ez végső soron bármi mással is működhet, amit NFT-ként tokenizál. - -Az Ethereumon pedig mindez könnyen megvalósítható, mert mindkét világ (NFT és DeFi) ugyanazt az infrastruktúrát használja. - -#### Részleges tulajdonjog {#fractional-ownership} - -Az NFT-alkotók „részvényeket” is létrehozhatnak az NFT-khez. Ez lehetőséget ad a befektetőknek és a rajongóknak, hogy egy NFT egy részét birtokolják anélkül, hogy az egészet meg kellene venniük. Ez még több lehetőséget kínál az NFT-kibocsátok és gyűjtők számára. - -- A részleges NFT-kel nemcsak az [NFT-piactereken](/dapps?category=collectibles) lehet kereskedni, hanem a [DEX-eken](/defi/#dex), köztük a Uniswapon is. Ez több vevőt és eladót jelent. -- Egy NFT teljes árát az egyes részek árával lehet meghatározni. -- Így nagyobb lehetősége van arra, hogy birtokolja és profitáljon az Önnek fontos tárgyakból. Nehezebb az NFT-k birtoklásából kiszorulni. - -Ez még kísérleti jellegű, de a következő tőzsdéken többet megtudhat a részleges NFT-tulajdonlásról: - -- [NIFTEX](https://landing.niftex.com/) -- [NFTX](https://gallery.nftx.org/) - -Elméletileg ez lehetővé tenne olyan dolgokat, mint például egy Picasso-alkotás egy darabjának birtoklása. Így Ön egy Picasso NFT részvényesévé válna, ami azt jelenti, hogy beleszólása lenne olyan dolgokba, mint a bevételek megosztása. Nagyon valószínű, hogy egy nap az NFT-részek tulajdonosai beléphetnek egy decentralizált autonóm szervezetbe (DAO), amely az adott dolog kezelését végzi. - -Ezek olyan Ethereum-alapú szervezetek, amelyek lehetővé teszik, hogy idegenek – például egy dolog globális részvényesei –biztonságosan koordináljanak anélkül, hogy feltétlenül meg kellene bízniuk a többi emberben. Ez azért van, mert egyetlen fillért sem lehet elkölteni a csoport jóváhagyása nélkül. - -Mint említettük, ez egy fejlődő terület. Az NFT-k, a DAO-k, a részleges tokenek mind különböző ütemben fejlődnek. De az összes infrastruktúra létezik, és könnyen tudnak együttműködni, mert mindannyian ugyanazt a nyelvet beszélik: az Ethereum nyelvét. Ezért is megéri figyelemmel kísérni ezt a teret. - -[További információk a DAO-król](/dao/) - -### Eredetiségigazolások {#certificates} - -Az egyetemi diplomákat hamisító cégek a jelentések szerint milliárd dolláros iparágat jelentenek, az NFT-k pedig segíthetnek felvenni ellenük a harcot. Az NFT technológia biztonságos és gyors módja lehet a diplomák ellenőrzésének. - -[Dél-Koreában az egyik egyetem már NFT-ként állítja ki a diplomákat](https://forkast.news/headlines/south-korea-nfts-graduates-hoseo/), abban a reményben, hogy az NFT-k javítják az adminisztratív szolgáltatásokhoz való hozzáférést, és megakadályozzák a diplomák hamisítását vagy megváltoztatását. [Az írországi Trinity Business School (TBS) is azt tervezi, hogy 2023-tól bevezeti az NFT-ket](https://trinitynews.ie/2022/04/business-school-to-offer-degree-nfts/). - - - -### Tokengating, vagy tokenzárolás {#tokengating} - -A tokengating, vagy tokenzárolás egy módja annak, hogy korlátozzuk a hozzáférést valamihez, a hozzáférés feloldására pedig az NFT-ket használjuk. Ezek a dolgok a platformtól függően nagyon eltérőek lehetnek, de népszerű példák a zárolt tartalmak, a privát csevegőszerverek és – az e-kereskedelem világában – az exkluzív termékek. - -A tokenzárolást végző platformok általában megkérik Önt, hogy csatlakoztassa a tárcáját, így bizonyítva, hogy rendelkezik a szükséges NFT-vel. Ha rendelkezik a szükséges NFT-vel, megkapja a hozzáférést. Ha nem, az adott dolog zárolás alatt marad. Az NFT-k kiválóan alkalmasak erre az egyediségük miatt – nem lehet tulajdonjogot hamisítani, hogy megszerezze az adott dolgot. - -Mivel az Ethereumon elérhetőek NFT-k, ezek használhatóak az Ethereum tokenzárak feloldására minden azokat használó felületen. Egyetlen NFT birtoklásával zárolt tartalmakhoz, privát csevegőszerverekhez és exkluzív termékekhez férhet hozzá számos különböző weboldalon és alkalmazásban. - -Ha az NFT-k kibocsátása és terjesztése a közösség létrehozásáról vagy a közösségi digitalizálásról szól, akkor a tokenzárolás a közösség ápolásáról. Ebben az értelemben az NFT-ket inkább a tagság vagy a hűség eszközeként használják, amely nagyszerű módja annak, hogy a velük járó előnyöket megbízhatóan biztosítsák. +![ethereum.org POAP](./poap.png) -#### Példák +Ez a weboldal egy alternatív, NFT-k által működtetett domainnévvel is rendelkezik: **ethereum.eth**. Az `.org` címünket központilag egy domainnévrendszer (DNS) szolgáltató kezeli, míg az ethereum`.eth` cím az Ethereum Name Service (ENS) szolgáltatáson keresztül van regisztrálva az Ethereumra. Ezt a mi tulajdonunkban van, és mi kezeljük. [Tekintse meg az ENS-adatainkat](https://app.ens.domains/name/ethereum.eth) -- [Collab.land](https://collab.land/) tokenzárak, Discord csevegőszerverek vagy Telegram-csoportok -- [A feloldási protokoll](https://unlock-protocol.com/) egy tokenzárolásra használt protokoll -- [A Shopify](https://help.shopify.com/en/manual/products/digital-service-product/nfts) egyre több olyan alkalmazással rendelkezik, amelyek lehetővé teszik a kereskedők számára a termékekhez és kedvezményekhez való hozzáférés tokenzárolását +[Bővebben az ENS-ről](https://app.ens.domains) -## Ethereum és az NFT-k {#ethereum-and-nfts} - -Az Ethereum több okból is lehetővé teszi az NFT-k működését: - -- A tranzakciós előzmények és a token metaadatok nyilvánosan ellenőrizhetők – a tulajdonosi előzmények bizonyítása egyszerű. -- Miután egy tranzakciót megerősítettek, szinte lehetetlen manipulálni az adatokat és ezáltal „ellopni” a tulajdonjogot. -- Az NFT-kkel peer-to-peer módon lehet kereskedni, anélkül, hogy olyan platformokra lenne szükség, amelyek nagy összegű díjakat számolnak fel a tranzakciók után. -- Minden Ethereum termék ugyanazt a „backend"-et használja. Másképpen fogalmazva, az Ethereum összes terméke könnyen megérti egymást – ez teszi az NFT-ket hordozhatóvá az egyes termékek között. Az egyik termékért könnyen vásárolhat NFT-t, és eladhatja egy másik termékért. Alkotóként egyszerre több terméken is feltüntetheti NFT-it – minden terméken a legfrissebb tulajdonosi információk lesznek feltüntetve. -- Az Ethereum sosem áll le, ami azt jelenti, hogy a tokenjei mindig eladhatók lesznek. - -## Az NFT-k környezeti hatása {#environmental-impact-nfts} - -Az NFT-k létrehozása és átadása csak Ethereum-tranzakció: az NFT-k kibocsátása, vásárlása, cseréje vagy az NFT-kkel való interakció nem fogyaszt közvetlenül energiát. A [beolvadás](/roadmap/merge) óta az Ethereum alacsony energiafelhasználású blokklánc, ami azt jelenti, hogy az NFT-k használatának környezeti hatása elhanyagolható. - -[Bővebben az Ethereum energiafelhasználásáról](/energy-consumption/). - -### Ne hibáztassa az NFT-ket {#nft-qualities} +### Az NFT-k biztonsága {#nft-security} -Az egész NFT-ökoszisztéma azért működik, mert az Ethereum decentralizált és biztonságos. - -A decentralizált azt jelenti, hogy Ön és mindenki más is ellenőrizheti, hogy Ön a tulajdonosa valaminek. Mindezt anélkül, hogy a felügyeletet egy harmadik félre bíznánk, aki tetszés szerint saját szabályokat szabhat meg. Ez azt is jelenti, hogy az Ön NFT-je számos különböző termékre és piacra átvihető. - -A biztonságos azt jelenti, hogy senki sem tudja másolni vagy ellopni az NFT-jét. - -Az Ethereum ezen tulajdonságai lehetővé teszik az egyedi tárgyak digitális birtoklását és a tartalomért járó tisztességes árat. Az Ethereum a javakat egy decentralizált konszenzusmechanizmus segítségével védi, amely ['letéti bizonyítékot, azaz proof-of-stake-t'](/developers/docs/consensus-mechanisms/pos)-t használ. Ez egy alacsony szén-dioxid-kibocsátású módszer annak meghatározására, hogy ki adhat hozzá egy tranzakcióblokkot a lánchoz, és biztonságosabbnak tekinthető, mint az energiaigényes ['munka igazolása, azaz proof-of-work'](/developers/docs/consensus-mechanisms/pow). Az NFT-k régebben nagy energiaráfordítással jártak, mivel az Ethereumot korábban proof-of-work segítségével biztosították. Ez ma már nincs így. - -#### NFT-k kibocsátása {#minting-nfts} - -Egy NFT kibocsátása során van néhány dolog, amelynek meg kell történnie: - -- Az NFT-t egy dologként meg kell erősíteni a blokkláncon. -- A tulajdonos számlaegyenlegét frissíteni kell, hogy tartalmazza az adott dolgot. Ez lehetővé teszi, hogy aztán kereskedni lehessen vele, vagy igazolhatóan „birtokba lehessen venni”. -- A fentieket megerősítő tranzakciókat hozzá kell adni egy blokkhoz, és „halhatatlanná kell tenni” a láncban. -- A blokkot a hálózatban mindenkinek meg kell erősítenie „helyes”-ként. Ez a konszenzus megszünteti a közvetítők szükségességét, mivel a hálózat egyetért abban, hogy az Ön NFT-je létezik és Önhöz tartozik. Ez láncon belüli ügylet, így bárki ellenőrizheti. Ez az egyik mód, amivel az Ethereum segít az NFT-alkotóknak maximalizálni a bevételüket. - -Mindezeket a feladatokat a blokkgyártók és a validátorok végzik. A blokkelőterjesztők hozzáadják az NFT-tranzakciót egy blokkhoz, és továbbítják azt a hálózat többi részének. A validátorok ellenőrzik, hogy a tranzakció érvényes-e, majd hozzáadják az adatbázisukhoz. Számos kriptogazdasági tényező van érvényben annak érdekében, hogy a validátorok becsületesen járjanak el. Ellenkező esetben bárki egyszerűen azt állíthatná, hogy az Ön által épp most kibocsátott NFT tulajdonosa, és csalárd módon átruházhatná a tulajdonjogot. - -#### NFT biztonság {#nft-security} - -Az Ethereum biztonságát a letét bizonyítéka, vagyis a proof-of-stake adja. A rendszert úgy tervezték, hogy gazdaságilag visszatartson a rosszindulatú cselekedetektől, így az Ethereum hamisíthatatlan. Ez teszi lehetővé az NFT-ket. Ha az NFT-tranzakciót tartalmazó blokk véglegesítetté válik, egy támadónak több millió ETH-ba kerülne megváltoztatni azt. Bárki, aki Ethereum-szoftvert futtat, azonnal képes lenne észlelni az NFT tisztességtelen manipulálását, és a csalárd szereplőt gazdaságilag megbüntetnék és kizárnák. +Az Ethereum biztonságát a letét bizonyítéka (vagyis a proof-of-stake) adja. A rendszert úgy tervezték, hogy gazdaságilag visszatartson a rosszindulatú cselekedetektől, így az Ethereum hamisíthatatlan. Ennek köszönhetően létezhetnek az NFT-k. Ha az NFT-tranzakciót tartalmazó blokk véglegesítetté válik, egy támadónak több millió ETH-ba kerülne megváltoztatni azt. Bárki, aki Ethereum-szoftvert futtat, azonnal képes lenne észlelni az NFT tisztességtelen manipulálását, és a csalárd szereplőt gazdaságilag megbüntetnék és kizárnák. Az NFT-kel kapcsolatos biztonsági problémák leggyakrabban adathalász csalásokhoz, okosszerződések sebezhetőségéhez vagy felhasználói hibákhoz (például a privát kulcsok véletlen felfedéséhez) kapcsolódnak, így a megfelelő tárcabiztonság kritikus fontosságú az NFT-tulajdonosok számára. @@ -339,17 +82,13 @@ Az NFT-kel kapcsolatos biztonsági problémák leggyakrabban adathalász csalás Bővebben a biztonságról -## Építkezés az NFT-kkel {#build-with-nfts} - -A legtöbb NFT az [ERC-721](/developers/docs/standards/tokens/erc-721/) néven ismert egységes szabványt használja. Vannak azonban más szabványok is, amelyeket érdemes figyelembe venni. Az [ERC-1155](https://blog.enjincoin.io/erc-1155-the-crypto-item-standard-ac9cf1c5a226) szabvány lehetővé teszi a félig helyettesíthető tokenek használatát, ami különösen hasznos a szerencsejátékok területén. Nemrégiben pedig az [EIP-2309](https://eips.ethereum.org/EIPS/eip-2309) szabvánnyal tettek javaslatot arra, hogy az NFT-k kibocsátását sokkal hatékonyabbá tegyék. Ez a szabvány lehetővé teszi, hogy egy tranzakcióban annyi NFT-t bocsásson ki, amennyit csak szeretne. - ## További olvasnivaló {#further-reading} -- [Crypto art data](https://cryptoart.io/data) – _Richard Chen, automatikusan frissítve_ -- [OpenSea: the NFT Bible](https://opensea.io/blog/guides/non-fungible-tokens/) – _Devin Fizner, 2020. január 10._ -- [A beginner's guide to NFTs](https://linda.mirror.xyz/df649d61efb92c910464a4e74ae213c4cab150b9cbcc4b7fb6090fc77881a95d) – _Linda Xie, 2020. január_ -- [Everything you need to know about the metaverse](https://foundation.app/blog/enter-the-metaverse) – _A Foundation csapata, foundation.app_ -- [No, CryptoArtists Aren’t Harming the Planet](https://medium.com/superrare/no-cryptoartists-arent-harming-the-planet-43182f72fc61) -- [Ethereum's energy consumption](/energy-consumption/) +- [A beginner's guide to NFTs](https://linda.mirror.xyz/df649d61efb92c910464a4e74ae213c4cab150b9cbcc4b7fb6090fc77881a95d) – _Linda Xie, 2020. január _ +- [EtherscanNFT trekker](https://etherscan.io/nft-top-contracts) +- [ERC-721 tokenszabvány](/developers/docs/standards/tokens/erc-721/) +- [ERC-1155 tokenszabvány](/developers/docs/standards/tokens/erc-1155/) + + diff --git a/src/intl/hu/common.json b/src/intl/hu/common.json index 4aa68a5185c..22ba7ddbcb8 100644 --- a/src/intl/hu/common.json +++ b/src/intl/hu/common.json @@ -1,30 +1,55 @@ { + "account-abstraction": "Számlaabsztrakció", "about-ethereum-org": "Az ethereum.org-ról", "about-us": "Rólunk", "aria-toggle-search-button": "Keresés bekapcsolása gomb", "aria-toggle-menu-button": "Menü bekapcsolása gomb", "beacon-chain": "Beacon Chain", "bridges": "Blokkláncösszekötők", + "clear": "Törlés", "close": "Bezárás", "community": "Közösség", "community-hub": "Közösségi központ", "community-menu": "Közösségi menü", "contact": "Kapcsolat", + "content-standardization": "Tartalomegységesítés", "contributing": "Közreműködők", "contributors": "Hozzájárulók", "contributors-thanks": "Akik hozzájárultak ehhez az oldalhoz – köszönjük!", "cookie-policy": "Süti (Cookie) szabályzat", "copied": "Lemásolva", "copy": "Másolás", + "danksharding": "Dank-féle párhuzamos futtatás (Danksharding)", + "dao-page": "Decentralizált autonóm szervezetek (DAO-k)", "dark-mode": "Sötét", "data-provided-by": "Adatforrás:", "decentralized-applications-dapps": "Decentralizált alkalmazások (dapps)", + "decentralized-identity": "Decentralizált identitás", + "decentralized-social-networks": "Decentralizált közösségi hálózatok", "decentralized-science": "Nem központosított kutatás (DeSci)", + "defi-page": "Decentralizált pénzügy (DeFi)", "devcon": "Devcon", "developers": "Fejlesztők", "developers-home": "Fejlesztői kezdőlap", "docs": "Dokumentáció", + "docsearch-to-select": "Kiválasztás", + "docsearch-to-navigate": "Navigálás", + "docsearch-to-close": "Bezárás", + "docsearch-search-by": "Keresési szempont", + "docsearch-start-recent-searches-title": "Előzmények", + "docsearch-start-no-recent-searches": "Nincsenek keresési előzmények", + "docsearch-start-save-recent-search": "Keresés mentése", + "docsearch-start-remove-recent-search": "Keresés eltávolítása az előzményekből", + "docsearch-start-favorite-searches": "Kedvencek", + "docsearch-start-remove-favorite-search": "Keresés eltávolítása a kedvencek közül", + "docsearch-no-results-text": "Nincs találat a következőre:", + "docsearch-no-results-suggested-query": "Próbálja meg a következőt", + "docsearch-no-results-missing": "Úgy gondolja, hogy ennek a lekérdezésnek eredményt kellene adnia?", + "docsearch-no-results-missing-link": "Tudassa velünk.", + "docsearch-error-title": "Nem sikerült lekérni az eredményeket", + "docsearch-error-help": "Ellenőrizze a hálózati kapcsolatot.", "documentation": "Dokumentáció", + "down": "Le", "ecosystem": "Ökoszisztéma", "edit-page": "Oldal szerkesztése", "ef-blog": "Ethereum Foundation Blog", @@ -34,6 +59,7 @@ "enterprise-menu": "Vállalati menü", "esp": "Ecosystem Támogatási Program", "eth-current-price": "Jelenlegi ETH árfolyam (USD)", + "ethereum-basics": "Ethereum alapok", "ethereum-bug-bounty": "Ethereum bugvadász program", "consensus-when-shipping": "Mikor lesz kész?", "ethereum-upgrades": "Az Ethereum fejlesztései", @@ -45,6 +71,8 @@ "ethereum-glossary": "Ethereum szógyűjtemény", "ethereum-governance": "Ethereum-felügyelet", "ethereum-logo": "Ethereum logo", + "ethereum-roadmap": "Ethereum-ütemterv", + "ethereum-protocol": "Ethereum-protokoll", "ethereum-security": "Ethereum-biztonság és átverés elleni védelem", "ethereum-support": "Ethereum támogatás", "ethereum-wallets": "Ethereum tárcák", @@ -59,15 +87,22 @@ "feedback-widget-thank-you-timing": "2–3 perc", "feedback-widget-thank-you-cta": "Rövid kérdőív megnyitása", "find-wallet": "Tárca keresése", + "future-proofing": "Időtállóság", "get-eth": "ETH beszerzése", "get-involved": "Kapcsolódjon be", "get-started": "Kezdjünk bele", "grants": "Támogatások", "grant-programs": "Ökoszisztéma-támogatási program", - "guides-and-resources": "Közösségi útmutatók és erőforrások", + "guides": "Útmutatók", + "guides-hub": "Útmutatóközpont", "history-of-ethereum": "Az Ethereum története", "home": "Kezdőlap", "how-ethereum-works": "Hogy működik az Ethereum", + "how-to-register-an-ethereum-account": "Hogyan lehet létrehozni Ethereum-számlát", + "how-to-revoke-token-access": "Hogyan vonható vissza, hogy az okosszerződés hozzáférjen a kriptoeszközeihez", + "how-to-swap-tokens": "Hogyan lehet átváltani a tokeneket", + "how-to-use-a-bridge": "Hogyan lehet áthelyezni a tokeneket a második blokkláncrétegbe (L2)", + "how-to-use-a-wallet": "Hogyan használja a tárcát", "image": "kép", "in-this-section": "Ebben a részben", "individuals": "Magánszemélyek", @@ -81,6 +116,7 @@ "layer-2": "2. réteg", "learn": "Ismerje meg", "learn-by-coding": "Tanulás programozással", + "learn-hub": "Tanulási központ", "learn-menu": "Tanulási menü", "learn-more": "Bővebben", "less": "Kevesebb", @@ -89,28 +125,47 @@ "loading": "Betöltés...", "loading-error": "Betöltési hiba.", "loading-error-refresh": "Hiba, kérjük frissítsen.", + "loading-error-try-again-later": "Nem sikerült az adatok betöltése. Kérjük, próbálja meg később.", "logo": "logo", "mainnet-ethereum": "Mainnet Ethereum", "more": "Több", "nav-developers": "Fejlesztők", "nav-developers-docs": "Fejlesztői dokumentumok", "nav-primary": "Elsődleges", + "nft-page": "Nem felcserélhető tokenek (NFT-k)", + "nfts": "NFT-k", "no": "Nem", "on-this-page": "Ezen az oldalon", "open-research": "Nyílt kutatás", + "page-developers-aria-label": "Fejlesztői Menü", + "page-index-meta-title": "Kezdőlap", "page-last-updated": "Oldal legutoljára frissítve", + "pbs": "Javaslattevő-építő szétválasztása", + "pools": "Készletezett letétbe helyezés", "privacy-policy": "Adatvédelmi szabályzat", "private-ethereum": "Privát Ethereum", + "product-disclaimer": "A termékek és szolgáltatások az Ethereum-közösség kényelmét szolgálják. Egy termék vagy szolgáltatás felvétele nem jelent támogatást az ethereum.org webhely csapatától vagy az Ethereum Alapítványtól.", + "quizzes-title": "Kvízközpont", + "quizzes": "Kvízek", "refresh": "Kérjük, frissítsd az oldalt.", "return-home": "vissza a kezdőlapra", + "roadmap": "Ethereum-ütemterv", + "resources": "Fordítási erőforrások", + "regenerative-finance": "Regeneratív pénzügyek (ReFi)", "run-a-node": "Csomópont futtatása", "rollup-component-website": "Honlap", "rollup-component-developer-docs": "Fejlesztői dokumentumok", "rollup-component-technology-and-risk-summary": "Technológiai és kockázati összegzés", + "scaling": "Méretezés", + "saas": "Letétbe helyezés mint szolgáltatás", "search": "Keresés", + "search-ethereum-org": "Keresés az ethereum.org oldalon", + "secret-leader-election": "Titkos vezetőválasztás", "search-box-blank-state-text": "Keresés indítása!", "search-eth-address": "Ez úgy néz ki, mint egy Ethereum cím. Mi nem szolgáltatunk címspecifikus adatot. Próbálj meg rákeresni egy blokkfelfedezőn, mint például", "search-no-results": "Nincs találat a keresésre", + "single-slot-finality": "Egyhelyes véglegesség", + "statelessness": "Hontalanság", "see-contributors": "Hozzájárulók megtekintése", "set-up-local-env": "Helyi környezet beállítása", "sharding": "Sharding", @@ -121,10 +176,11 @@ "skip-to-main-content": "Ugrás a fő tartalomra", "smart-contracts": "Okosszerződések", "stablecoins": "Stabil érmék", + "stake-eth": "ETH letétbe helyezése", "staking": "Letétbe helyezés", + "start-here": "Kezdje itt", + "style-guide": "Style guide", "solo": "Egyéni letétbe helyezés", - "saas": "Letétbe helyezés mint szolgáltatás", - "pools": "Készletezett letétbe helyezés", "terms-of-use": "Felhasználási feltételek", "translation-banner-body-new": "Ezt az oldalt angol nyelven látja, mert még nem fordítottuk le. Segítsen lefordítani ezt a tartalmat.", "translation-banner-body-update": "Az oldal új verziója jelenleg csak angolul érhető el. Segítsen nekünk a fordításban.", @@ -137,21 +193,19 @@ "translation-banner-no-bugs-dont-show-again": "Ne jelenjen meg többször", "try-using-search": "Használja a keresőt, hogy megtalálja, amit keres vagy", "tutorials": "Oktatóanyagok", + "up": "Fel", "use-ethereum": "Az Ethereum használata", "use-ethereum-menu": "Az Ethereum menü használata", + "user-experience": "Felhasználói tapasztalat", + "verkle-trees": "Verkle-fák", "wallets": "Tárcák", "we-couldnt-find-that-page": "Ezt az oldalt nem találtuk meg", "web3": "Mi az a Web3?", + "web3-title": "Web3", "website-last-updated": "Weboldal utoljára frissítve", "what-is-ether": "Mi az ether (ETH)?", "what-is-ethereum": "Mi az Ethereum?", - "defi-page": "Decentralizált pénzügy (DeFi)", - "dao-page": "Decentralizált autonóm szervezetek (DAO-k)", - "nft-page": "Nem felcserélhető tokenek (NFT-k)", - "decentralized-social-networks": "Decentralizált közösségi hálózatok", - "decentralized-identity": "Decentralizált identitás", + "withdrawals": "A letétbe helyezés visszavonása", "yes": "Igen", - "zero-knowledge-proofs": "Felfedés nélküli bizonyítás", - "page-index-meta-title": "Kezdőlap", - "page-developers-aria-label": "Fejlesztői Menü" + "zero-knowledge-proofs": "Felfedés nélküli bizonyítás" } diff --git a/src/intl/hu/page-dapps.json b/src/intl/hu/page-dapps.json index 2db09fec1bc..6bd01235a54 100644 --- a/src/intl/hu/page-dapps.json +++ b/src/intl/hu/page-dapps.json @@ -1,5 +1,6 @@ { "page-dapps-1inch-logo-alt": "1inch logó", + "page-dapps-dexguru-logo-alt": "DexGuru-logó", "page-dapps-aave-logo-alt": "Aave logó", "page-dapps-add-button": "Dapp ajánlása", "page-dapps-add-title": "Dapp hozzáadása", @@ -86,6 +87,8 @@ "page-dapps-dapp-description-token-sets": "Kripto befektetési stratégiák, melyek automatikusan kiegyensúlyozódnak.", "page-dapps-dapp-description-tornado-cash": "Küldjön névtelen tranzakciókat az Ethereumon.", "page-dapps-dapp-description-uniswap": "Cseréljen tokeneket egyszerűen, vagy biztosítson tokeneket egy bizonyos kamatért cserébe.", + "page-dapps-dapp-description-dexguru": "Nem felügyelt kereskedelmi platform DeFi kereskedőknek", + "page-dapps-dapp-description-synthetix": "A Synthetix egy szintetikus eszközöket létrehozó és azokkal kereskedő protokoll", "page-dapps-docklink-dapps": "Bevezetés a dappok világába", "page-dapps-docklink-smart-contracts": "Okosszerződések", "page-dapps-dark-forest-logo-alt": "Dark Forest logo", @@ -97,6 +100,7 @@ "page-dapps-zerion-logo-alt": "Zerion logó", "page-dapps-rotki-logo-alt": "Rotki logó", "page-dapps-krystal-logo-alt": "Krystal logó", + "page-dapps-synthetix-logo-alt": "Synthetix-logó", "page-dapps-desc": "Keressen Ethereum applikációt, amit szívesen kipróbálna.", "page-dapps-doge-img-alt": "Illusztráció egy számítógépet használó doge-kutyáról", "page-dapps-editors-choice-dark-forest": "Játsszon más játékosok ellen a bolygók meghódításában és próbáld ki a legkorszerűbb Ethereum méretezési/adatvédelmi technológiát. Inkább azoknak, akik már járatosak az Ethereumban.", @@ -210,6 +214,10 @@ "page-dapps-more-on-nft-gaming-button": "Bővebben a tokenizált, játékokhoz kapcsolódó dolgokról", "page-dapps-dapp-description-pwn": "Hitelek könyedén, amelyek mögött bármilyen, az Ethereumon elérhető token vagy NFT áll.", "page-dapps-pwn-image-alt": "PWN logó", + "page-dapps-dapp-description-yearn": "A Yearn Finance egy hozamokat aggregáló projekt, mely lehetővé teszi, hogy egyének, DAO-k és más protokollok letétbe helyezzék digitális eszközeiket és arra hozamot kapjanak.", + "page-dapps-yearn-image-alt": "Yearn-logó", + "page-dapps-dapp-description-convex": "A Convex lehetővé teszi, hogy a Curve-nek likviditást biztosító egyének kereskedelmi díjakat kapjanak, valamint boosted CRV-t kapjanak anélkül, hogy a saját CRV-jük zárolásra kerülne.", + "page-dapps-convex-image-alt": "Convex-logó", "foundation": "Alapítvány", "transaction-fees": "Mik azok a tranzakciós díjak?", "page-wallets-get-some": "Szerezz valamennyi ETH-et" diff --git a/src/intl/hu/page-developers-index.json b/src/intl/hu/page-developers-index.json index 232bd659b17..e652c132022 100644 --- a/src/intl/hu/page-developers-index.json +++ b/src/intl/hu/page-developers-index.json @@ -32,13 +32,15 @@ "page-developers-improve-ethereum": "Segíts jobbá tenni az ethereum.org-ot", "page-developers-improve-ethereum-desc": "Hasonlóképpen az ethereum.org-hoz ezek a dokumentumok a közösség erejével készülnek. Hozz létre PR-t, ha hibát, fejlesztési lehetőséget vagy új lehetőségeket látsz, és segítsd az Ethereum fejlesztőket.", "page-developers-into-eth-desc": "Bevezetés a blokkláncba és az Ethereumba", + "page-developers-intro-ether-desc": "Bevezetés a kriptovaluták és az ether világába", "page-developers-intro-dapps-desc": "Bevezetés a decentralizált alkalmazásokba", "page-developers-intro-dapps-link": "Bevezetés a dapps-ok világába", "page-developers-intro-eth-link": "Bevezetés az Ethereum-ba", + "page-developers-intro-ether-link": "Bevezetés az Ether-be", "page-developers-intro-stack": "Bevezetés a stack-be", "page-developers-intro-stack-desc": "Bevezetés az Ethereum stack-be", - "page-developers-js-libraries-desc": "JavaScript használata az okosszerződésekkel való interakcióra", - "page-developers-js-libraries-link": "JavaScript könyvtárak", + "page-developers-js-libraries-desc": "JavaScript használata az okosszerződésekkel való interakciókhoz", + "page-developers-js-libraries-link": "JavaScript-könyvtárak", "page-developers-language-desc": "Ethereum használata az ismerős nyelvekkel", "page-developers-languages": "Programozási nyelvek", "page-developers-learn": "Az Ethereum fejlesztés tanulása", @@ -47,8 +49,12 @@ "page-developers-learn-tutorials-cta": "Oktatóanyagok megtekintése", "page-developers-learn-tutorials-desc": "Tanuld meg lépésről lépésre az Ethereum fejlesztését azoktól, akik már csináltak ilyet.", "page-developers-meta-desc": "Dokumentáció, oktatóanyagok és eszközök fejlesztőknek, akik Ethereum-on építenek.", - "page-developers-mining-desc": "Hogyan jönnek létre az új blokkok, és hogyan érünk el konszenzust", + "page-developers-mev-desc": "Bevezetés a bányászattal kitermelhető maximális érték (MEV) fogalmába", + "page-developers-mev-link": "Bányászattal kitermelhető maximális érték (MEV)", + "page-developers-mining-desc": "Hogyan jönnek létre az új blokkok és hogyan jutnak konszenzusra a proof-of-work, vagyis a munkaigazolás segítségével", "page-developers-mining-link": "Bányászat", + "page-developers-mining-algorithms-desc": "Információ az Ethereum bányászati algoritmusairól", + "page-developers-mining-algorithms-link": "Bányászati algoritmusok", "page-developers-networks-desc": "A mainnet és a teszthálózat áttekintése", "page-developers-networks-link": "Hálózatok", "page-developers-node-clients-desc": "Hogyan ellenőrizhetők a blokkok és tranzakciók a hálózatban", @@ -59,8 +65,8 @@ "page-developers-read-docs": "Olvasd el a dokumentumokat", "page-developers-scaling-desc": "Megoldások a gyorsabb tranzakciókért", "page-developers-scaling-link": "Méretezés", - "page-developers-smart-contract-security-desc": "Biztonsági intézkedések, amelyeket célszerű megfontolni a fejlesztés során", - "page-developers-smart-contract-security-link": "Biztonság", + "page-developers-smart-contract-security-desc": "Megfontolandó biztonsági óvintézkedések az okosszerződések fejlesztése során", + "page-developers-smart-contract-security-link": "Okosszerződés biztonság", "page-developers-set-up": "Helyi környezet beállítása", "page-developers-setup-desc": "Készítsd elő stack-ed az építésre egy fejlesztői környezet konfigurálásával.", "page-developers-smart-contracts-desc": "A dapp-ok mögött meghúzódó logika – önmagukat érvénybe léptető megállapodások", @@ -80,6 +86,12 @@ "page-developers-transactions-link": "Tranzakciók", "page-developers-web3-desc": "Miben más a web3 fejlesztői világ", "page-developers-web3-link": "Web2 vs Web3", - "alt-eth-blocks": "A blokkok ábrázolása úgy van elrendezve, hogy egy ETH szimbólumot formázzon", + "page-developers-networking-layer": "Hálózati réteg", + "page-developers-networking-layer-link": "Hálózati Réteg", + "page-developers-networking-layer-desc": "Bevezetés az Ethereum-hálózati rétegbe", + "page-developers-data-structures-and-encoding": "Adatszerkezetek és kódolás", + "page-developers-data-structures-and-encoding-link": "Adatszerkezetek és kódolás", + "page-developers-data-structures-and-encoding-desc": "Az Ethereum-veremben használt adatszerkezetek és kódolási séma bemutatása", + "alt-eth-blocks": "A blokkok ábrázolása úgy van elrendezve, hogy egy ETH-szimbólumot formázzon", "page-assets-doge": "Doge dappokat használ" } diff --git a/src/intl/hu/page-developers-learning-tools.json b/src/intl/hu/page-developers-learning-tools.json index 44d6c4ded4e..16d8c16b171 100644 --- a/src/intl/hu/page-developers-learning-tools.json +++ b/src/intl/hu/page-developers-learning-tools.json @@ -1,12 +1,19 @@ { + "page-learning-tools-bloomtech-description": "A BloomTech Web3 kurzus megtanítja azokat a készségeket, amelyeket a munkáltatók keresnek a mérnökökben.", + "page-learning-tools-bloomtech-logo-alt": "BloomTech-logó", "page-learning-tools-bootcamps": "Fejlesztői bootcampek", "page-learning-tools-bootcamps-desc": "Fizettet online kurzusok, hogy gyorsan sebességbe kerülj.", "page-learning-tools-browse-docs": "Dokumentációk böngészése", + "page-learning-tools-capture-the-ether-description": "A Capture the Ether egy játék, melyben Ethereum-okosszerződéseket hackelhet meg, miközben a biztonságról tanul.", + "page-learning-tools-capture-the-ether-logo-alt": "Capture the Ether-logó", + "page-learning-tools-chainshot-description": "Távoktatásos, oktató által vezetett Ethereum fejlesztői bootcamp és további tanfolyamok.", "page-learning-tools-chainshot-logo-alt": "ChainShot logo", "page-learning-tools-coding": "Tanulás programozással", "page-learning-tools-coding-subtitle": "Ezek az eszközök segítenek, hogy az Ethereummal kísérletezz, ha egy interaktívabb tanulási élményt szeretnél.", "page-learning-tools-consensys-academy-description": "Online Ethereum fejlesztő bootcamp.", "page-learning-tools-consensys-academy-logo-alt": "ConsenSys Academy logo", + "page-learning-tools-buildspace-description": "Tanuljon a kriptóról menő projektek építésével.", + "page-learning-tools-buildspace-logo-alt": "_buildspace logó", "page-learning-tools-cryptozombies-description": "Tanulj Solidity-t miközben létrehozod a saját Zombie játékodat.", "page-learning-tools-cryptozombies-logo-alt": "CryptoZombies logo", "page-learning-tools-documentation": "Tanulj dokumentációval", @@ -15,17 +22,37 @@ "page-learning-tools-eth-dot-build-logo-alt": "Eth.build logo", "page-learning-tools-ethernauts-description": "Teljesítsd a szinteket okosszerződések meghackelésével.", "page-learning-tools-ethernauts-logo-alt": "Ethernauts logo", + "page-learning-tools-metaschool-description": "Váljon Web3-fejlesztővé decentralizált alkalmazások (dapp) építése és megvalósítása révén.", + "page-learning-tools-metaschool-logo-alt": "_metaschool logó", "page-learning-tools-game-tutorials": "Interaktív játék útmutatók", "page-learning-tools-game-tutorials-desc": "Tanulj játék közben. Ezek az útmutatók megtanítják az alapokat játék közben.", "page-learning-tools-meta-desc": "Web-alapú programozási eszközök és interaktív tanulási élmények, hogy segítsenek az Ethereum fejlesztéssel való kísérletezésben.", "page-learning-tools-meta-title": "Fejlesztői tanulási eszközök", - "page-learning-tools-remix-description": "Fejlessz, telepítsd és kezelj okosszerződéseket Ethereumra. Kövess útmutatókat a Learneth pluginnal.", - "page-learning-tools-remix-description-2": "A Remix nem csak egy sandbox. Sok fejlesztő Remixet használ okosszerződések írására, fordítására és telepítésre.", + "page-learning-tools-questbook-description": "Saját tempóban végezhető oktatóanyagok a Web 3.0 elsajátításához építéssel", + "page-learning-tools-questbook-logo-alt": "Questbook-logó", + "page-learning-tools-remix-description": "Fejlesszen, telepítsen és adminisztráljon okosszerződéseket az Ethereumra. Kövesse az útmutatókat a LearnEth beépülő modul segítségével.", + "page-learning-tools-remix-description-2": "A Remix, Replit és a ChainIDE nem csak sandboxok – a fejlesztők írhatják, fordíthatják és telepíthetik is saját okosszerződéseiket ezek használatával.", + "page-learning-tools-replit-description": "Testre szabható fejlesztői környezet az Ethereum számára, gyors újratöltéssel, hibaellenőrzéssel és első osztályú testnet-támogatással.", + "page-learning-tools-chainIDE-description": "Kezdje Web3-as útját okosszerződések készítésével az Ethereumra ChainIDE segítségével. Használja a beépített sablonokat, hogy tanuljon, és időt takarítson meg.", + "page-learning-tools-chainIDE-logo-alt": "ChainIDE-logó", + "page-learning-tools-tenderly-description": "A Tenderly Sandbox egy prototípus-készítő környezet, ahol megírhatja, elindíthatja és debuggolhatja az okosszerződéseket a böngészőben Solidity és JavaScript segítségével.", + "page-learning-tools-tenderly-logo-alt": "Tenderly-logó", + "page-learning-tools-replit-logo-alt": "Replit-logó", "page-learning-tools-remix-logo-alt": "Remix logo", "page-learning-tools-sandbox": "Kód sandboxok", "page-learning-tools-sandbox-desc": "Ezek a sandboxot helyet adnak, hogy kísérletezhess az okosszerződés írással és megérthesd az Ethereumot.", + "page-learning-tools-speed-run-ethereum-description": "A Speed Run Ethereum olyan feladványok tárhelye, ahol Scaffold-ETH használatával tesztelheti a Solidity-val kapcsolatos tudását", + "page-learning-tools-speed-run-ethereum-logo-alt": "Speed Run Ethereum-logó", "page-learning-tools-studio-description": "Egy web-alapú IDE, ahol útmutatók alapján készíthetsz és tesztelhetsz okosszerződéseket és frontendet is építhetsz.", "page-learning-tools-vyperfun-description": "Tanuld meg a Vypert egy Pokémon játék építésével.", "page-learning-tools-vyperfun-logo-alt": "Vyper.fun logo", - "alt-eth-blocks": "A blokkok ábrázolása úgy van elrendezve, hogy egy ETH szimbólumot formázzon" + "page-learning-tools-nftschool-description": "Fedezze fel a nem helyettesíthető tokenek, vagyis az NFT-k technikai oldalát.", + "page-learning-tools-nftschool-logo-alt": "NFT school-logó", + "page-learning-tools-pointer-description": "Sajátítson el web3-fejlesztői készségeket szórakoztató interaktív oktatóanyagokon keresztül. Közben szerezzen kriptojutalmakat", + "page-learning-tools-pointer-logo-alt": "Pointer-logó", + "page-learning-tools-platzi-description": "Sajátítsa el a decentralizált alkalmazások (dapp) Web3 platformon való építését, és fejlessze blokkláncfejlesztői képességeit.", + "page-learning-tools-platzi-logo-alt": "Platzi-logó", + "page-learning-tools-alchemy-university-description": "Lépjen előre a web3 karrierlétráján képzések, projektek és kódolás révén.", + "page-learning-tools-alchemy-university-logo-alt": "Alchemy University-logó", + "alt-eth-blocks": "A blokkok ábrázolása úgy van elrendezve, hogy egy ETH-szimbólumot formázzon" } diff --git a/src/intl/hu/page-developers-local-environment.json b/src/intl/hu/page-developers-local-environment.json index 5d91370ea21..8a2e5395555 100644 --- a/src/intl/hu/page-developers-local-environment.json +++ b/src/intl/hu/page-developers-local-environment.json @@ -1,10 +1,14 @@ { "page-local-environment-brownie-desc": "Egy Python-alapú fejlesztői és tesztelési környezet okos szerződéseknek, melyek az Ethereum Virtuális Gépre fókuszálnak.", "page-local-environment-brownie-logo-alt": "Brownie logo", - "page-local-environment-epirus-desc": "Egy platform blokklánc alkalmazások fejlesztésére, telepítésére és monitorozására a Java Virtuális Gépen", + "page-local-environment-kurtosis-desc": "Egy tárolóalapú eszköztár, mellyel könnyedén konfigurálhat és elindíthat egy többklienses Ethereum-teszthálózatot a gyors, lokális dapp-fejlesztés, prototípuskészítés és tesztelés érdekében.", + "page-local-environment-kurtosis-logo-alt": "Kurtosis-logó", + "page-local-environment-epirus-desc": "Egy platform blokklánc alkalmazások fejlesztésére, telepítésére és monitorozására a Java virtuális gépen.", "page-local-environment-epirus-logo-alt": "Epirus logo", "page-local-environment-eth-app-desc": "Készíts Ethereumon működő appokat egy paranccsal. Ezenkívül UI keretrendszerek és DeFi sablonok széles skálájából választhatsz.", "page-local-environment-eth-app-logo-alt": "Create Eth App logo", + "page-local-environment-foundry-desc": "Egy rendkívül gyors, átvihető és moduláris eszköztár Ethereum-alkalmazások fejlesztésére, amelyet Rust nyelven írtak.", + "page-local-environment-foundry-logo-alt": "Foundry-logó", "page-local-environment-framework-feature-1": "Felállíthatsz vele egy helyi blokkláncot.", "page-local-environment-framework-feature-2": "Eszközök az okos szerződéseid fordítására és tesztelésére.", "page-local-environment-framework-feature-3": "Kliens fejlesztési addonok, hogy ugyanabban a projektben/repóban fejleszthess felhasználói alkalmazásokat.", @@ -17,7 +21,7 @@ "page-local-environment-hardhat-logo-alt": "Hardhat logo", "page-local-environment-openZeppelin-desc": "Több órányi fejlesztési időt spórolhatsz meg, ha a CLI-nket használod fordításra, frissítésre, telepítésre és okos szerződés interakciókra.", "page-local-environment-openZeppelin-logo-alt": "OpenZeppelin logo", - "page-local-environment-scaffold-eth-desc": "Hardhat + Create Eth App: minden amire szükséged van, hogy elkezdhess okos szerződés alapú decentralizált alkalmazásokat építeni", + "page-local-environment-scaffold-eth-desc": "Ethers + Hardhat + React: minden, amire csak szüksége van ahhoz, hogy okosszerződés-alapú, decentralizált alkalmazásokat építsen.", "page-local-environment-scaffold-eth-logo-alt": "scaffold-eth logo", "page-local-environment-setup-meta-desc": "Segédlet hogy hogyan válaszd ki a szoftver stackedet Ethereum fejlesztéshez.", "page-local-environment-setup-meta-title": "Ethereum helyi fejlesztői beállítás", diff --git a/src/intl/hu/page-get-eth.json b/src/intl/hu/page-get-eth.json index 99a2d62d0dc..4eeacf9eb4d 100644 --- a/src/intl/hu/page-get-eth.json +++ b/src/intl/hu/page-get-eth.json @@ -2,6 +2,9 @@ "page-get-eth-article-keeping-crypto-safe": "Így gondoskodhat a kriptója biztonságáról", "page-get-eth-article-protecting-yourself": "Védje magát és a forrásait", "page-get-eth-article-store-digital-assets": "Hogyan lehet digitális eszközöket tárolni az Ethereumon", + "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": "Centralizált tőzsdék", "page-get-eth-cex-desc": "A tőzsdék olyan vállalkozások, melyek lehetővé teszik kriptó vásárlását hagyományos valutákkal. Ők rendelkeznek az Ön által vásárolt ETH felett, amíg ki nem utalja egy tárcába, amit Ön irányít.", "page-get-eth-checkout-dapps-btn": "Nézd meg a dappokat", diff --git a/src/intl/hu/page-index.json b/src/intl/hu/page-index.json index fcd32a7e0b4..e816555fc01 100644 --- a/src/intl/hu/page-index.json +++ b/src/intl/hu/page-index.json @@ -39,7 +39,7 @@ "page-index-developers-button": "Fejlesztői portál", "page-index-developers-code-examples": "Kódpéldák", "page-index-developers-code-example-title-0": "Az Ön saját bankja", - "page-index-developers-code-example-description-0": "Felépíthet egy bankot az Ön által programozott logika alapján.", + "page-index-developers-code-example-description-0": "Létrehozhat egy bankot az Ön által programozott logika alapján.", "page-index-developers-code-example-title-1": "Saját pénznem", "page-index-developers-code-example-description-1": "Létrehozhat tokeneket, amelyeket átvihet és használhat az alkalmazások között.", "page-index-developers-code-example-title-2": "JavaScript Ethereum-pénztárca", @@ -48,8 +48,10 @@ "page-index-developers-code-example-description-3": "A meglévő szolgáltatásokból decentralizált, nyitott alkalmazásokat készíthet.", "page-index-network-stats-title": "Az Ethereum ma", "page-index-network-stats-subtitle": "A legfrissebb hálózati statisztika", + "page-index-network-stats-total-eth-staked": "A letétbe helyezett ETH teljes összege", "page-index-network-stats-eth-price-description": "ETH-ár (USD)", "page-index-network-stats-eth-price-explainer": "1 ether legutóbbi ára. Akár 0,000000000000000001 ETH-t is vásárolhat – nem kell 1 egészet vennie.", + "page-index-network-stats-total-eth-staked-explainer": "A jelenleg letétbe helyezett és a hálózatot biztosító ETH teljes mennyisége.", "page-index-network-stats-tx-day-description": "A mai tranzakciók", "page-index-network-stats-tx-day-explainer": "A hálózaton sikeresen feldolgozott tranzakciók száma az elmúlt 24 órában.", "page-index-network-stats-value-defi-description": "A DeFiben zárolt érték (USD)", @@ -73,5 +75,15 @@ "page-index-nft": "Az eszközök internete", "page-index-nft-description": "Az Ethereum nem csak digitális pénz. Bármi, amit birtokolhat, helyettesíthető, cserélhető és felhasználható nem cserélhető tokenként (NFT). Tokenizálhatja műalkotásait, és automatikusan megkapja a jogdíjat minden újraértékesítéskor. Vagy használja a tokeneket valamire, ami a tulajdonában áll, hogy kölcsönt vegyen fel. A lehetőségek köre folyamatosan bővül.", "page-index-nft-button": "Bővebben az NFT-kről", - "page-index-nft-alt": "Egy Eth-logó, amely hologramon keresztül jelenik meg." + "page-index-nft-alt": "Egy Eth-logó, amely hologramon keresztül jelenik meg.", + "community-events-content-heading": "Csatlakozzon az ethereum.org közösséghez", + "community-events-content-1": "Csatlakozzon a közel 40 000 taghoz a Discord szerveren.", + "community-events-content-2": "Csatlakozzon a havi közösségi konferenciabeszélgetésekhez, hogy érdekes újdonságokat tudjon meg az Ethereum.org fejlesztéseiről, illetve ökoszisztémánkról is fontos híreket közlünk. Tegye fel kérdéseit, ossza meg ötleteit, adjon visszajelzést – ez egy remek lehetőség, hogy tagja legyen a virágzó Ethereum-közösségnek.", + "community-events-next-event": "Következő esemény", + "community-events-no-events-planned": "Nincs tervezett esemény", + "community-events-upcoming-calls": "Következő konferenciabeszélgetések", + "community-events-no-upcoming-calls": "Nincs tervezett konferenciabeszélgetés", + "community-events-previous-calls": "Korábbi konferenciabeszélgetések", + "community-events-there-are-no-past-calls": "Nincsenek korábbi konferenciabeszélgetések", + "community-events-add-to-calendar": "Hozzáadás a naptárhoz" } diff --git a/src/intl/hu/page-languages.json b/src/intl/hu/page-languages.json index 7e0d0dd4a31..d78b1eab67a 100644 --- a/src/intl/hu/page-languages.json +++ b/src/intl/hu/page-languages.json @@ -6,9 +6,12 @@ "page-languages-meta-title": "ethereum.org Nyelvi Fordítások", "page-languages-p1": "Az Ethereum egy globális projekt, kritikus fontosságú, hogy az ethereum.org mindenki számára elérhető legyen, nemzetiségétől és nyelvtől függetlenül. Közösségünk keményen dolgozott az elképzelés megvalósításán.", "page-languages-translations-available": "az ethereum.org a következő nyelveken érhető el", + "page-languages-resources-paragraph": "Az ethereum.org tartalmának fordítása mellett", + "page-languages-resources-link": "egy több nyelven is elérhető válogatott listát készítettünk a válogatott Ethereum-anyagokból", "page-languages-want-more-header": "Szeretnéd az ethereum.org oldalt egy másik nyelven olvasni?", "page-languages-want-more-link": "Fordítási Program", "page-languages-want-more-paragraph": "az ethereum.org fordítók mindig a lehető legtöbb nyelvre igyekeznek lefordítani az oldalakat. Hogy megnézd mivel foglalkoznak jelenleg, vagy csatlakozz munkájukhoz, olvasd el az", + "page-languages-filter-placeholder": "Szűrő", "language-ar": "Arab", "language-az": "Azerbajdzsáni", "language-bg": "Bolgár", @@ -24,6 +27,8 @@ "language-fi": "Finn", "language-fr": "Francia", "language-gl": "Galíciai", + "language-gu": "Gudzsaráti", + "language-he": "Héber", "language-hi": "Hindi", "language-hr": "Horvát", "language-hu": "Magyar", @@ -36,11 +41,12 @@ "language-km": "Khmer", "language-ko": "Koreai", "language-lt": "Litván", - "language-ml": "Maláj", + "language-ml": "Malajálam", "language-mr": "Maráthi", "language-ms": "Maláj", "language-nb": "Norvég", "language-nl": "Holland", + "language-pcm": "Nigériai pidzsin", "language-fil": "Filippínó", "language-pl": "Lengyel", "language-pt": "Portugál", @@ -56,8 +62,9 @@ "language-ta": "Tamil", "language-tr": "Török", "language-uk": "Ukrán", + "language-ur": "Urdu", "language-uz": "Üzbég", "language-vi": "Vietnámi", - "language-zh": "Egyszerűsített Kínai", - "language-zh-tw": "Hagyományos Kínai" + "language-zh": "Egyszerűsített kínai", + "language-zh-tw": "Hagyományos kínai" } diff --git a/src/intl/hu/page-layer-2.json b/src/intl/hu/page-layer-2.json index 4be6ff97fdf..cd855aa7cc8 100644 --- a/src/intl/hu/page-layer-2.json +++ b/src/intl/hu/page-layer-2.json @@ -1,3 +1,131 @@ { + "layer-2-arbitrum-note": "A hibavizsgálat csak az engedélyezőlistán szereplő felhasználók számára elérhető, az engedélyezőlista még nincs megnyitva", + "layer-2-boba-note": "Az állapotvalidálás fejlesztés alatt áll", + "layer-2-optimism-note": "A hibavizsgálat fejlesztés alatt áll", + "layer-2-hero-title": "2. réteg", + "layer-2-hero-header": "Ethereum mindenkinek", + "layer-2-hero-subtitle": "Az Ethereum skálázása a tömeges használat érdekében.", + "layer-2-hero-alt-text": "Annak illusztrációja, ahogyan a tranzakciók a második blokkláncrétegen (L2) összevonódnak, majd felkerülnek az Ethereum főhálózatára", + "layer-2-hero-button-1": "Mi az a második blokkláncréteg (L2)", + "layer-2-hero-button-2": "A második blokkláncréteg (L2) használata", + "layer-2-hero-button-3": "Áthelyezés a második blokkláncrétegre (L2)", + "layer-2-statsbox-1": "A második blokkláncrétegen (L2) lévő teljes letétbe helyezett érték (USD)", + "layer-2-statsbox-2": "Átlagos ETH átviteli díj a második blokkláncrétegre (L2) (USD)", + "layer-2-statsbox-3": "A második blokkláncrétegen (L2) lévő teljes letétbe helyezett érték változása (30 nap)", + "layer-2-what-is-layer-2-title": "Mi az a második blokkláncréteg (L2)?", + "layer-2-what-is-layer-2-1": "A második blokkláncréteg (L2) egy gyűjtőfogalom, amit az Ethereum különböző skálázási megoldásainak egy meghatározott csoportjára használunk. A második blokkláncréteg (L2) egy különálló blokklánc, ami kiterjeszti az Ethereumot, és az Ethereum biztonsági garanciáit örökli.", + "layer-2-what-is-layer-2-2": "Most ássuk bele egy kicsit jobban magunkat, amihez meg kell értenünk az első blokkláncréteget (L1).", + "layer-2-what-is-layer-1-title": "Mi az az első blokkláncréteg (L1)?", + "layer-2-what-is-layer-1-1": "Az L1 az alap blokklánc. Az Ethereum és a Bitcoin is L1 blokkláncok, mert ezek alkotják az alapot, amelyre a különböző, második blokkláncréteget (L2) képző hálózatok épülnek. L2-projektnek minősülnek például az összevont tranzakciók (rollup) az Ethereumon, illetve a Bitcoinonra épült Lighting Network. Minden felhasználói tevékenység, ami ezeken az L2 projekteken történik, végül felkerül az L1 blokkláncra.", + "layer-2-what-is-layer-1-2": "Az Ethereum adatelérhetőségi rétegként is szolgál a második blokkláncrétegeken (L2). Az L2 projektek az Ethereumon lévő adatokra támaszkodva teszik közzé tranzakciós adataikat az Ethereumon. Ezek az adatok felhasználhatók az L2 státuszának lekérésére vagy az L2-n lévő tranzakciók vitatására.", + "layer-2-what-is-layer-1-list-title": "Az Ethereum, mint első blokkláncréteg (L1) a következőket foglalja magában:", + "layer-2-what-is-layer-1-list-1": "Csatlakozásipont-operátorok hálózata, amely biztosítja és validálja a hálózatot", + "layer-2-what-is-layer-1-list-2": "Blokk-készítők hálózata", + "layer-2-what-is-layer-1-list-3": "A blokklánc maga és az összes tranzakciós adat", + "layer-2-what-is-layer-1-list-4": "A hálózat konszenzusmechanizmusa", + "layer-2-what-is-layer-1-list-link-1": "Van még olyan dolog, ami nem egyértelmű az Ethereum kapcsán?", + "layer-2-what-is-layer-1-list-link-2": "Ismerje meg az Ethereumot.", + "layer-2-why-do-we-need-layer-2-title": "Miért van szükség második blokkláncrétegre (L2)?", + "layer-2-why-do-we-need-layer-2-1": "A blokkláncok három kívánatos tulajdonsága, hogy decentralizáltak, biztonságosak és skálázhatók legyenek. A blokklánc-trilemma szerint egy egyszerű blokklánc-architektúra csak kettőt képes egyszerre biztosítani a háromból. Biztonságos és decentralizált blokkláncot szeretne? Akkor fel kell áldoznia a skálázhatóságot.", + "layer-2-why-do-we-need-layer-2-2": "Az Ethereum jelenleg több mint 1 millió tranzakciót kezel naponta. A felhasználói kereslet miatt a tranzakciós díjak megnövekedhetnek. Itt jönnek a képbe a második blokkláncréteges (L2) hálózatok.", + "layer-2-why-do-we-need-layer-2-scalability": "Skálázhatóság", + "layer-2-why-do-we-need-layer-2-scalability-1": "Az L2 fő célja a tranzakcióátvitel növelése (több tranzakció másodpercenként) a decentralizáció vagy a biztonság feláldozása nélkül.", + "layer-2-why-do-we-need-layer-2-scalability-2": "Az Ethereum főhálózata (L1) másodpercenként nagyjából 15 tranzakciót tud feldolgozni. Amikor sokan akarják használni a hálózatot, akkor feltorlódnak az ügyletek, megnövelve a tranzakciós díjat, és ezzel kizárva azokat a felhasználókat, akik azt már nem tudják megfizetni. Az L2 hálózatok képesek csökkenteni ezeket a díjakat azáltal, hogy a tranzakciókat az L1 blokkláncon kívül dolgozzák fel.", + "layer-2-why-do-we-need-layer-2-scalability-3": "Bővebben az Ethereum jövőképéről", + "layer-2-benefits-of-layer-2-title": "A második blokkláncréteg (L2) előnyei", + "layer-2-lower-fees-title": "Alacsonyabb díjak", + "layer-2-lower-fees-description": "Azáltal, hogy számos láncon kívüli tranzakciót összevonnak és egyetlen tranzakcióként kerül be az L1 blokkláncba, a tranzakciós díjak jelentősen csökkennek, így az Ethereum mindenki számára elérhetőbbé válik.", + "layer-2-maintain-security-title": "Biztonság fenntartása", + "layer-2-maintain-security-description": "Az L2 blokkláncok az Ethereum főhálózatára küldik be tranzakcióikat, így a felhasználók részesülnek az Ethereum-hálózat biztonságából.", + "layer-2-expand-use-cases-title": "Több felhasználási lehetőség", + "layer-2-expand-use-cases-description": "A másodpercenkénti több tranzakció, az alacsonyabb díjak és az új technológia révén a projektek jobb felhasználói élményt nyújtó alkalmazásokká bővülnek.", + "layer-2-how-does-layer-2-work-title": "Hogyan működik a második blokkláncréteg (L2)?", + "layer-2-how-does-layer-2-work-1": "Ahogy fentebb említettük, az L2 egy gyűjtőfogalom azokra az Ethereum-skálázási megoldásokra, amelyek az Ethereum L1-rétegén kívül kezelik a tranzakciókat, miközben továbbra is kihasználják annak szilárd decentralizált biztonságát. Az L2 egy különálló blokklánc, amely kiterjeszti az Ethereumot. Hogyan működik?", + "layer-2-how-does-layer-2-work-2": "Különféle L2-megoldások léteznek, egyedi kompromisszumokkal és biztonsági modellekkel. A második blokkláncrétegek (L2) átveszik a tranzakciókezelés terhét az L1-től, hogy az kevésbé legyen túlterhelt, így pedig minden sokkal inkább skálázhatóbbá válik.", + "layer-2-rollups-title": "Összegzők", + "layer-2-rollups-1": "Az összevont tranzakciók (rollup) sok száz tételt tudnak egyetlen L1 tranzakcióba összerendezni. Ezáltal az L1 tranzakciós díja eloszlik a felhasználók között, és minden ügylet olcsóbb lesz.", + "layer-2-rollups-2": "Az összevont tranzakciók az L1-en kívül jönnek létre, de azokat is beküldik az L1-be. Ennek következtében a rollup megörökli az Ethereum biztonságát. Amint az adat feltöltésre kerül az L1-be, a rollup módosításához az Ethereumot kell megváltoztatni. Kétféle megoldás létezik: az optimista és a zero-knowledge (ZK, nulla tudású), melyek elsősorban abban különböznek, hogy miként adják át az adatot az L1-nek.", + "layer-2-optimistic-rollups-title": "Optimista összegzők", + "layer-2-optimistic-rollups-description": "A optimista rollupok lényege, hogy alapvetően azt feltételezik a tranzakciókról, hogy érvényesek, de szükség esetén kétségbe vonhatók. Érvénytelen tranzakció gyanúja esetén hibavizsgálatot hajtanak végre annak ellenőrzésére, hogy valóban erről van-e szó.", + "layer-2-optimistic-rollups-childSentance": "Bővebben az optimista rollupokról", + "layer-2-zk-rollups-title": "Zero-knowledge összegzők", + "layer-2-zk-rollups-description": "A zero-knowledge rollupok érvényességi igazolásokat használnak, amikor a tranzakciókat a láncon kívül számítják ki, majd tömörítve továbbítják az adatokat az Ethereum főhálózatának, hogy igazolják az ügyletek érvényességét.", + "layer-2-zk-rollups-childSentance": "Bővebben a ZK-rollupokról", + "layer-2-dyor-title": "Mindig nézzen utána Ön is: az L2-re vonatkozó kockázatok", + "layer-2-dyor-1": "Számos L2 projekt viszonylag újkeletű, és a felhasználóknak a működtetők őszinte magatartásában kell bízniuk, miközben azok igyekeznek decentralizálni a hálózataikat. Mindig mérlegelje, hogy az esetleges kockázatokat el tudja-e fogadni.", + "layer-2-dyor-2": "Az L2 hálózatok technológiájával, kockázataival és bizalmi feltételezéseivel kapcsolatban nézze meg az L2BEAT-et, amely minden projekthez átfogó kockázatelemzési keretrendszert biztosít.", + "layer-2-dyor-3": "Ugrás az L2BEAT oldalára", + "layer-2-use-layer-2-title": "2. réteg használata", + "layer-2-use-layer-2-1": "Most, hogy egyértelművé vált, miért létezik a második blokkláncréteg (L2) és hogyan működik, vágjunk bele a használatába!", + "layer-2-contract-accounts": "Amennyiben okosszerződéses tárcát használ, mint a Safe vagy az Argent, ennek címe felett nem rendelkezik kontrollal az L2-n addig, amíg a szerződéses számláját nem aktiválja újra az adott címen az L2-n. A hagyományos számlák, melyek visszaállítási jelszóval rendelkeznek, automatikusan rendelkeznek az adott számla felett minden L2 hálózaton.", + "layer-2-use-layer-2-generalized-title": "Általános L2 hálózatok", + "layer-2-use-layer-2-generalized-1": "Az általános L2 hálózatok ugyanúgy viselkednek, mint az Ethereum – csak olcsóbbak. Amit az Ethereum L1-en meg lehet tenni, azt az L2-n is. Számtalan decentralizált alkalmazás (dapp) már elkezdett áttelepülni ezekre a hálózatokra, vagy teljesen kihagyta a főhálózatot, és közvetlenül az L2-re épült.", + "layer-2-use-layer-2-application-specific-title": "Alkalmazásspecifikus L2-hálózatok", + "layer-2-use-layer-2-application-specific-1": "Az alkalmazásspecifikus L2-projektek egy adott alkalmazási terület optimalizálására specializálódtak, és ezáltal jobb teljesítményt nyújtanak.", + "layer-2-sidechains-title": "Megjegyzés a mellékláncokról, validiumokról és alternatív blokkláncokról", + "layer-2-sidechains-1": "A mellékláncok és validiumok olyan blokkláncok, amelyek lehetővé teszik az eszközök Ethereumról való áthidalását és egy másik blokkláncon való felhasználását. A mellékláncok és a validiumok párhuzamosan futnak az Ethereummal, és hidakon keresztül lépnek interakcióba az Ethereummal, de nem az Ethereumtól származtatják biztonságukat vagy az adatok elérhetőségét.", + "layer-2-sidechains-2": "Mindkettő skálázási képessége az L2-megoldásokhoz hasonló – alacsonyabb tranzakciós díjakat és nagyobb tranzakciós átviteli sebességet kínálnak –, de eltérő bizalmi feltételezésekkel járnak.", + "layer-2-more-on-sidechains": "További információk a mellékláncokról", + "layer-2-more-on-validiums": "További információk a validiumokról", + "layer-2-sidechains-4": "Néhány L1 blokklánc az Ethereumhoz képest magasabb tranzakcióátvitelt és alacsonyabb díjakat tud kínálni, de általában más területeken kompromisszumokra kényszerülnek (például a csomópontok futtatásához komolyabb hardverre van szükség).", + "layer-2-onboard-title": "Hogyan lehet átkerülni az L2-re", + "layer-2-onboard-1": "Két fő módja van annak, hogy eszközeit áthelyezze a második blokkláncrétegre (L2): egy okosszerződésen keresztül áthidalhatja a pénzeszközeit az Ethereumról, vagy egy kriptotőzsdéről közvetlenül egy L2 hálózatra utalja ki pénzeszközeit.", + "layer-2-onboard-wallet-title": "A pénzeszközei a tárcájában vannak?", + "layer-2-onboard-wallet-1": "Ha már van ETH a tárcájában, akkor egy híd vagy összekötő segítségével tudja áthelyezni az Ethereum-főhálózatról egy L2 hálózatra.", + "layer-2-more-on-bridges": "További információk a hidakról", + "layer-2-onboard-wallet-input-placeholder": "Válassza ki az L2-t, amelyikre szeretne áthelyezni", + "layer-2-onboard-wallet-selected-1": "A következőképpen tud kapcsolódni az L2-höz", + "layer-2-onboard-wallet-selected-2": "ezen tárcák használatával:", + "layer-2-bridge": "Híd", + "layer-2-onboard-exchange-title": "A pénzeszközei kriptotőzsdén vannak?", + "layer-2-onboard-exchange-1": "Egyes centralizált tőzsdéken már lehetséges a közvetlen pénzkiutalás és befizetés az L2 hálózatokra. Ellenőrizze, hogy melyik tőzsdék támogatják az L2-re való kiutalást, illetve hogy melyik L2-t támogatják.", + "layer-2-onboard-exchange-2": "Emellett szüksége van egy tárcára is, ahova a pénzeszközeit kiutaltatja.", + "layer-2-onboard-find-a-wallet": "Válasszon magának egy Ethereum-tárcát.", + "layer-2-onboard-exchange-input-placeholder": "Nézze meg az L2-t támogató tőzsdéket", + "layer-2-deposits": "Letétbe helyezés", + "layer-2-withdrawals": "Letétkivonás", + "layer-2-go-to": "Ugrás ide:", + "layer-2-tools-title": "Hasznos eszközök a második blokkláncrétegen (L2)", + "layer-2-tools-l2beat-description": "Az L2BEAT nagyszerű eszköz az L2 projektek technikai kockázatértékelésének tanulmányozására. Tekintse meg az oldalon található információkat, amikor bizonyos L2 projekteket vizsgál.", + "layer-2-tools-l2fees-description": "Az L2 Fees oldalon megnézheti a különböző L2 hálózatok aktuális tranzakciós díjait (USD-ban kifejezve).", + "layer-2-tools-chainlist-description": "A Chainlist nagyszerű eszköz a hálózati RPC-k támogatott tárcákba való importálásához. Itt találja az L2 projektekhez tartozó RPC-ket, melyek révén kapcsolatot tud létrehozni.", + "layer-2-tools-zapper-description": "Kezelje a teljes web3-portfólióját a DeFi-tól kezdve az NFT-kig, és bármit, ami ezután következik. Fektessen be a legújabb lehetőségekbe egyetlen kényelmes helyről.", + "layer-2-tools-zerion-description": "Építse fel és kezelje a teljes DeFi portfólióját egyetlen helyről. Fedezze fel a decentralizált pénzügyek világát még ma.", + "layer-2-tools-debank-description": "Kövesse nyomon a web3 világ minden fontos eseményét", + "layer-2-faq-title": "GYIK", + "layer-2-faq-question-1-title": "Miért nincs „hivatalos” Ethereum L2?", + "layer-2-faq-question-1-description-1": "Ahogyan nincs „hivatalos” Ethereum-kliens, úgy nincs „hivatalos” Ethereum L2 sem. Az Ethereum nem engedélyhez kötött – gyakorlatilag bárki létrehozhat L2 hálózatot! Számos csapat építi a második blokkláncréteg saját verzióját, és az ökoszisztéma egésze profitál a különféle felhasználási esetekre optimalizált tervezési megközelítések sokféleségéből. Hasonlóan ahhoz, ahogy több Ethereum-kliensünk is van, amelyet több csapat fejlesztett ki a hálózat sokszínűsége érdekében, a jövőben az L2 hálózatok is így fognak fejlődni.", + "layer-2-faq-question-2-title": "Mi a különbség az optimista és a zero-knowledge rollupok között?", + "layer-2-faq-question-2-description-1": "Mind az optimista, mind a zero-knowledge rollupok tranzakciók százait vonják össze egyetlen tranzakcióba az L1-en. Az összesített tranzakciók az L1-en kívül kerülnek végrehajtásra, de a tranzakciós adatok az L1-en is közzétételre kerülnek.", + "layer-2-faq-question-2-description-2": "Az elsődleges különbség az, hogy milyen adatok kerülnek az L1-be, és hogyan történik az adatok ellenőrzése. Az érvényességi igazolásokhoz (a zero-knowledge rollupok esetében) a láncon kívül futnak a számítások, melyek egy igazolást tesznek közzé, míg a hibabizonyításoknál (az optimista rollupoknál) csak akkor futtatják le a számításokat a láncon belül, ha hiba gyanítható, és ellenőrizni kell.", + "layer-2-faq-question-2-description-3": "Jelenleg a legtöbb zero-knowledge (ZK) rollup alkalmazásspecifikus, miközben az optimista rollupok nagyrészt általánosan alkalmazhatók.", + "layer-2-more-info-on-optimistic-rollups": "További információk az optimista rollupokról", + "layer-2-more-info-on-zk-rollups": "További információk a zero-knowledge rollupokról", + "layer-2-faq-question-4-title": "Milyen kockázatokkal jár az L2?", + "layer-2-faq-question-4-description-1": "A második blokkláncréteg (L2) projektjei további kockázatot jelentenek ahhoz képest, ha Ön az Ethereum főhálózatán tartja eszközeit és közvetlenül ott indít tranzakciókat. Például a szekvenszerek leállása esetén várakoznia kell ahhoz, hogy hozzáférjen pénzeszközeihez.", + "layer-2-faq-question-4-description-2": "Mindenképpen érdemes megvizsgálni az adott projektet, mielőtt jelentős összegeket helyez át az L2-re. Az L2 hálózatok technológiájával, kockázataival és bizalmi feltételezéseivel kapcsolatban nézze meg az L2BEAT oldalát, amely minden projekthez átfogó kockázatelemzési keretrendszert biztosít.", + "layer-2-faq-question-4-description-3": "A blokklánchidak, melyek az eszközök L2-re való áthelyezését teszik lehetővé, még a fejlesztés korai szakaszában vannak, és valószínűleg még ki kell alakítani az optimális dizájnt. A közelmúltban történtek támadások a hidak ellen.", + "layer-2-faq-question-5-title": "Miért nem jelennek meg bizonyos L2 projektek itt?", + "layer-2-faq-question-5-description-1": "Szeretnénk a felhasználók számára a lehető legjobb eszközöket adni, hogy biztonságosan és magabiztosan tudjanak navigálni az L2 világában. Egy kritériumrendszer segítségével értékeljük a projekteket, hogy bekerülhetnek-e.", + "layer-2-faq-question-5-view-listing-policy": "Itt találja az L2-listázási szabályzatot.", + "layer-2-faq-question-5-description-2": "Bárki javasolhatja, hogy egy adott L2 megjelenjen az ethereum.org portálon. Ha Ön hiányolja valamelyik L2-t, akkor itt jelezze.", + "layer-2-further-reading-title": "További olvasnivaló", + "a-rollup-centric-ethereum-roadmap": "A rollupközpontú Ethereum ütemterve", + "an-incomplete-guide-to-rollups": "Hiányos útmutató a rollupokhoz", + "polygon-sidechain-vs-ethereum-rollups": "A Polygon melléklánc és az Ethereum-rollupok összehasonlítása: L2 skálázási megközelítések | Vitalik Buterin és Lex Fridman", + "rollups-the-ultimate-ethereum-scaling-strategy": "Rollupok – A Ethereum végső skálázási stratégiája? Az Arbitrum és Optimism bemutatása", + "scaling-layer-1-with-shard-chains": "Az L1 skálázása párhuzamos futtatású (shard) láncokkal", + "understanding-rollup-economics-from-first-principals": "A rollupok gazdasági vonatkozásainak megértése az alapelvektől kezdve", + "arbitrum-description": "Az Arbitrum One egy olyan optimista rollup, melynek célja, hogy az ügyletek során olyan érzése legyen a felhasználónak, mintha az Ethereumot használná. Ugyanakkor a tranzakció költsége az L1 díj töredéke.", + "optimism-description": "Az Optimism egy gyors, egyszerű és biztonságos, az Ethereum-virtuális géppel (EVM) ekvivalens optimista rollup. A Ethereum technológiáját skálázza, miközben annak értékét is növeli a visszamenőleges közjó-finanszírozással.", + "boba-description": "A Boba egy optimista rollup, mely eredetileg az Optimism projektből ágazott ki. Egy olyan skálázási megoldás, mely törekszik a díjak csökkentésére, a tranzakcióátvitel növelésére, és kiterjeszti az okosszerződések funkcióit.", + "loopring-description": "A Loopring zero-knowledge rollup L2 megoldása arra törekszik, hogy az Ethereum főhálózatával megegyező biztonsági garanciákat nyújtsa rendkívüli skálázási növekménnyel együtt: a tranzakcióátvitel 1000-szeres megnövelésével és a költség csökkentésével, ami az L1 díjának 0,1%-a.", + "zksync-description": "A zkSync egy felhasználó-központú zero-knowledge rollup platform, amelyet a Matter Labs dolgozott ki. Egy Ethereum-skálázási megoldás, amely már elérhető az Ethereum főhálózatán. Támogatja a kifizetéseket, a tokenátváltást és az NFT-k létrehozását.", + "zkspace-description": "A ZKSpace platform három fő részből áll: az L2 AMM DEX (automatikus piackészítőként működő decentralizált tőzsde), mely ZK-rollup technológát használ, és ZKSwapnak nevezik; a kifizetési rendszer, melynek ZKSquare a neve; és az NFT-piactér, amely ZKSea néven fut.", + "aztec-description": "Az Aztec Network az első privát ZK-rollup az Ethereumon, mely lehetővé teszi, hogy a decentralizált alkalmazások élvezhessék az adatvédelmet és a skálázást.", + "layer-2-note": "Megjegyzés:", + "layer-2-ecosystem-portal": "Ökoszisztéma portál", + "layer-2-token-lists": "Tokenlisták", + "layer-2-explore": "Felfedezés", "page-dapps-ready-button": "Ugrás" } diff --git a/src/intl/hu/page-run-a-node.json b/src/intl/hu/page-run-a-node.json new file mode 100644 index 00000000000..c6665760ebd --- /dev/null +++ b/src/intl/hu/page-run-a-node.json @@ -0,0 +1,135 @@ +{ + "page-run-a-node-build-your-own-title": "Építse fel maga", + "page-run-a-node-build-your-own-hardware-title": "1. lépés – Hardver", + "page-run-a-node-build-your-own-minimum-specs": "Minimális követelmények", + "page-run-a-node-build-your-own-min-ram": "4–8 GB RAM", + "page-run-a-node-build-your-own-ram-note-1": "Nézze meg a letétbe helyezéssel kapcsolatos megjegyzést", + "page-run-a-node-build-your-own-ram-note-2": "Nézze meg a Raspberry Pi-jal kapcsolatos megjegyzést", + "page-run-a-node-build-your-own-min-ssd": "2 TB SSD", + "page-run-a-node-build-your-own-ssd-note": "Az SSD elengedhetetlen az előírt írási sebesség teljesítéséhez.", + "page-run-a-node-build-your-own-recommended": "Ajánlott", + "page-run-a-node-build-your-own-nuc": "7. generációs vagy újabb Intel NUC", + "page-run-a-node-build-your-own-nuc-small": "x86 processzor", + "page-run-a-node-build-your-own-connection": "Vezetékes internetkapcsolat", + "page-run-a-node-build-your-own-connection-small": "Nem kötelező, de egyszerűbb beállítást biztosít és a legkonzisztensebb kapcsolatot teszi lehetővé", + "page-run-a-node-build-your-own-peripherals": "Kijelző és billentyűzet", + "page-run-a-node-build-your-own-peripherals-small": "Hacsak nem DAppNode-ot vagy ssh/headless beállítást használ", + "page-run-a-node-build-your-own-software": "2. lépés – Szoftver", + "page-run-a-node-build-your-own-software-option-1-title": "1. opció – DAppNode", + "page-run-a-node-build-your-own-software-option-1-description": "Ha készen áll a hardver, a DAppNode operációs rendszer bármely számítógépre letölthető, és egy USB-meghajtón keresztül friss SSD-re telepíthető.", + "page-run-a-node-build-your-own-software-option-1-button": "A DAppNode beállítása", + "page-run-a-node-build-your-own-software-option-2-title": "2. opció – Parancssor", + "page-run-a-node-build-your-own-software-option-2-description-1": "A maximális irányítás érdekében a tapasztalt felhasználók inkább a parancssor használatát részesítik előnyben.", + "page-run-a-node-build-your-own-software-option-2-description-2": "Nézze át a fejlesztőknek szóló dokumentumainkat az kliensek kiválasztásával kapcsolatos további információkért.", + "page-run-a-node-build-your-own-software-option-2-button": "Parancssor beállítása", + "page-run-a-node-buy-fully-loaded-title": "Vásárolja meg teljesen konfigurálva", + "page-run-a-node-buy-fully-loaded-description": "Rendeljen plug and play opciót a gyártóktól, hogy az indulás a lehető legegyszerűbb legyen.", + "page-run-a-node-buy-fully-loaded-note-1": "Nincs szükség összeszerelésre.", + "page-run-a-node-buy-fully-loaded-note-2": "Alkalmazásszerű beállítás grafikus felhasználói felülettel.", + "page-run-a-node-buy-fully-loaded-note-3": "Nincs szükség parancssorra.", + "page-run-a-node-censorship-resistance-title": "Cenzúrarezisztens", + "page-run-a-node-censorship-resistance-preview": "Bármikor hozzáférhet, amikor szüksége van rá, és nem engedi a cenzúrát.", + "page-run-a-node-censorship-resistance-1": "A harmadik fél csomópontja dönthet úgy, hogy megtagadja az adott IP-címekről érkező tranzakciókat, vagy olyan tranzakciókat, amelyek bizonyos fiókokat érintenek, és ezzel potenciálisan blokkolja Önt a hálózat használatában, amikor szüksége lenne rá. ", + "page-run-a-node-censorship-resistance-2": "Ha saját csomóponttal rendelkezik a tranzakciók benyújtásához, az garantálja, hogy a tranzakciót bármikor továbbíthatja a peer-to-peer hálózat többi részére.", + "page-run-a-node-community-title": "Keressen segítőket", + "page-run-a-node-community-description-1": "Az olyan online platformok, mint a Discord vagy a Reddit, számos közösségépítőnek adnak otthont, akik szívesen segítenek az esetlegesen felmerülő kérdésekben.", + "page-run-a-node-community-description-2": "Nincs egyedül. Ha kérdése van, valószínűleg valaki tud segíteni megtalálni a választ.", + "page-run-a-node-community-link-1": "Csatlakozzon a DAppNode Discord közösségéhez", + "page-run-a-node-community-link-2": "Online közösségek keresése", + "page-run-a-node-choose-your-adventure-title": "Válassza ki a kalandját", + "page-run-a-node-choose-your-adventure-1": "A kezdéshez szüksége lesz némi hardverre. Bár a csomóponti szoftver futtatása személyi számítógépen is lehetséges, egy erre kijelölt gép nagymértékben növelheti a csomópont teljesítményét, miközben minimálisra csökkenti az elsődleges számítógépre gyakorolt hatást.", + "page-run-a-node-choose-your-adventure-2": "A hardver kiválasztásakor vegye figyelembe, hogy a lánc folyamatosan növekszik, és elkerülhetetlenül szükség lesz karbantartásra. A teljesítmény növelése késleltetheti a csomópontok karbantartásának szükségességét.", + "page-run-a-node-choose-your-adventure-build-1": "Olcsóbb és jobban testre szabható lehetőség a kicsit műszakibb felhasználók számára.", + "page-run-a-node-choose-your-adventure-build-bullet-1": "Szerezze be saját maga az alkatrészeket.", + "page-run-a-node-choose-your-adventure-build-bullet-2": "Telepítse a DAppNode alkalmazást.", + "page-run-a-node-choose-your-adventure-build-bullet-3": "Vagy válassza ki a saját operációs rendszerét és klienseit.", + "page-run-a-node-choose-your-adventure-build-start": "Kezdjen el építeni", + "page-run-a-node-decentralized-title": "Decentralizáció", + "page-run-a-node-decentralized-preview": "Álljon ellen az erősödő központosított hibapontoknak.", + "page-run-a-node-decentralized-1": "A központosított felhőszerverek nagy számítási teljesítményt biztosíthatnak, de célpontot jelentenek a nemzetállamok vagy a hálózat megzavarására törekvő támadók számára.", + "page-run-a-node-decentralized-2": "A hálózat ellenálló képessége több csomóponttal érhető el, amiket földrajzilag eltérő helyeken, és több, különböző hátterű személy üzemeltet. Ahogy egyre többen üzemeltetik saját csomópontjukat, egyre kevésbé jelentenek veszélyt a központosított hibapontok, ami erősebbé teszi a hálózatot.", + "page-run-a-node-further-reading-title": "További olvasnivaló", + "page-run-a-node-further-reading-1-link": "Az Ethereum elsajátítása – Futtassak-e egy teljes csomópontot", + "page-run-a-node-further-reading-1-author": "Andreas Antonopoulos", + "page-run-a-node-further-reading-2-link": "Ethereum az ARM-en – Gyors üzembe helyezési útmutató", + "page-run-a-node-further-reading-3-link": "A blokklánc skálázhatóságának korlátai", + "page-run-a-node-further-reading-3-author": "Vitalik Buterin", + "page-run-a-node-getting-started-title": "Első lépések", + "page-run-a-node-getting-started-software-section-1": "A hálózat első időszakában a felhasználóknak képesnek kellett lenniük a parancssorral működtetni azt, hogy egy Ethereum-csomópontot tudjanak üzemeltetni.", + "page-run-a-node-getting-started-software-section-1-alert": "Ha ezt preferálja, és rendelkezik a szükséges készségekkel, tekintse át bátran a műszaki dokumentumainkat.", + "page-run-a-node-getting-started-software-section-1-link": "Ethereum-csomópont indítása", + "page-run-a-node-getting-started-software-section-2": "Most már elérhető az ingyenes és nyílt forráskódú DAppNode, amely alkalmazásszerű élményt biztosít a felhasználóknak a csomópontok kezelése során.", + "page-run-a-node-getting-started-software-section-3a": "Néhány kattintással elindíthatja és futtathatja a csomópontot.", + "page-run-a-node-getting-started-software-section-3b": "A DAppNode megkönnyíti a felhasználók számára a teljes csomópontok, valamint a dapp-ok és más P2P-hálózatok futtatását anélkül, hogy hozzányúlna a parancssorhoz. Ez megkönnyíti mindenki számára a részvételt és egy decentralizáltabb hálózat létrehozását.", + "page-run-a-node-getting-started-software-title": "2. rész: Szoftver", + "page-run-a-node-glyph-alt-terminal": "Terminál karakterjel", + "page-run-a-node-glyph-alt-phone": "Telefon megérintése karakterjel", + "page-run-a-node-glyph-alt-dappnode": "DAppNode karakterjel", + "page-run-a-node-glyph-alt-pnp": "Plug-n-play karakterjel", + "page-run-a-node-glyph-alt-hardware": "Hardver karakterjel", + "page-run-a-node-glyph-alt-software": "Szoftverletöltés karakterjel", + "page-run-a-node-glyph-alt-privacy": "Adatvédelem karakterjel", + "page-run-a-node-glyph-alt-censorship-resistance": "Cenzúrarezisztens megafon karakterjel", + "page-run-a-node-glyph-alt-earth": "Föld karakterjel", + "page-run-a-node-glyph-alt-decentralization": "Decentralizáció karakterjel", + "page-run-a-node-glyph-alt-vote": "Szavazat megadása karakterjel", + "page-run-a-node-glyph-alt-sovereignty": "Szuverenitás karakterjel", + "page-run-a-node-hero-alt": "A csomópont grafikája", + "page-run-a-node-hero-header": "Vegye kezébe a irányítást.
Futtasson saját csomópontot.", + "page-run-a-node-hero-subtitle": "Váljon teljesen függetlenné, miközben segít biztonságosabbá tenni a hálózatot. Váljon Ethereummá.", + "page-run-a-node-hero-cta-1": "Bővebben", + "page-run-a-node-hero-cta-2": "Vágjunk bele!", + "page-run-a-node-install-manually-title": "Manuális telepítés", + "page-run-a-node-install-manually-1": "Ha jártas a műszaki dolgokban és úgy döntött, hogy saját eszközt épít, akkor a DAppNode bármelyik számítógépről letölthető és feltelepíthető egy új SSD-re USB-meghajtón keresztül.", + "page-run-a-node-meta-description": "Egy bevezető arról, hogy mi az az Ethereum-csomópont, illetve hogy miért és hogyan érdemes futtatni.", + "page-run-a-node-participate-title": "Részvétel", + "page-run-a-node-participate-preview": "A decentralizációs forradalom Önnel kezdődik.", + "page-run-a-node-participate-1": "Csomópont működtetésével egy olyan globális mozgalom részévé válhat, ami decentralizálja az információk feletti hatalmat és irányítást.", + "page-run-a-node-participate-2": "Ha Ön tulajdonos, adjon értéket az ETH-hez azáltal, hogy támogatja a hálózat egészségét és decentralizálását, és gondoskodhat arról, hogy legyen beleszólása a hálózat jövőjébe.", + "page-run-a-node-privacy-title": "Adatvédelem és biztonság", + "page-run-a-node-privacy-preview": "Ne engedje, hogy személyes adatai harmadik fél csomópontjaiba kiszivárogjanak.", + "page-run-a-node-privacy-1": "Amikor nyilvános csomópontokon keresztül küld tranzakciókat, személyes adatai, mint például az IP-címe és az Ön által birtokolt Ethereum-címek kiszivároghatnak ezekhez a harmadik féltől származó szolgáltatásokhoz.", + "page-run-a-node-privacy-2": "Ha a kompatibilis tárcákat a saját csomópontjára irányítja, a tárcát a blokklánccal való privát és biztonságos interakciókhoz is használhatja.", + "page-run-a-node-privacy-3": "Továbbá, ha egy rosszindulatú csomópont érvénytelen tranzakciót terjeszt, akkor a csomópont egyszerűen figyelmen kívül hagyja azt. Minden tranzakció lokálisan, a saját gépén kerül ellenőrzésre, így nem kell megbíznia senkiben.", + "page-run-a-node-rasp-pi-title": "Megjegyzés a Raspberry Pi-ról (ARM processzor)", + "page-run-a-node-rasp-pi-description": "A Raspberry Pi-ok alacsony fogyasztású és megfizethető számítógépek, de vannak korlátaik, amelyek befolyásolhatják a csomópont teljesítményét. Bár jelenleg a letétbe helyezéshez és validáláshoz nem ajánlottak, ezek kiváló és olcsó megoldások lehetnek egy csomópont futtatásához, személyes használatra, mindössze 4–8 GB RAM-mal.", + "page-run-a-node-rasp-pi-note-1-link": "DAppNode az ARM-on", + "page-run-a-node-rasp-pi-note-1-description": "Olvassa el ezeket az utasításokat, ha a DAppNode alkalmazást Raspberry Pi készüléken szeretné futtatni", + "page-run-a-node-rasp-pi-note-2-link": "Az Ethereum az ARM-on dokumentációja", + "page-run-a-node-rasp-pi-note-2-description": "Tanulja meg, hogyan állíthat be csomópontot parancssoron keresztül a Raspberry Pi-on", + "page-run-a-node-rasp-pi-note-3-link": "Csomópont futtatása Raspberry Pi-on", + "page-run-a-node-rasp-pi-note-3-description": "Ha az oktatóanyagokat részesíti előnyben, akkor ezt mindenképpen érdemes megnéznie", + "page-run-a-node-shop": "Vásárlás", + "page-run-a-node-shop-avado": "Avado vásárlása", + "page-run-a-node-shop-dappnode": "DAppNode vásárlása", + "page-run-a-node-staking-title": "Stakeld az ETH-ed", + "page-run-a-node-staking-description": "Bár nem kötelező, de egy működő csomóponttal egy lépéssel közelebb kerülhet az ETH letétbe helyezéséhez, hogy jutalmakat kapjon, és segítsen hozzájárulni az Ethereum-biztonság egy másik komponenséhez.", + "page-run-a-node-staking-link": "ETH letétbe helyezése", + "page-run-a-node-staking-plans-title": "Letétbe helyezésen gondolkozik?", + "page-run-a-node-staking-plans-description": "A validátor hatékonyságának maximalizálása érdekében legalább 16 GB RAM ajánlott, de 32 GB jobb, 6667+ CPU benchmark pontszámmal a cpubenchmark.net oldalon. Javasolt, hogy a letétbe helyezők korlátlan nagy sebességű internetes sávszélességhez férjenek hozzá, bár ez nem feltétlen követelmény.", + "page-run-a-node-staking-plans-ethstaker-link-label": "Hogyan vásároljon Ethereum-validátorhardvert", + "page-run-a-node-staking-plans-ethstaker-link-description": "Az EthStaker részletesen foglalkozik ezzel ebben az egyórás külön kiadásban", + "page-run-a-node-sovereignty-title": "Szuverenitás", + "page-run-a-node-sovereignty-preview": "Gondoljon úgy egy csomópont futtatására, mint a következő lépésre a saját Ethereum-tárca után.", + "page-run-a-node-sovereignty-1": "Egy Ethereum-tárca segítségével teljes felügyeletet és irányítást gyakorolhat digitális eszközei felett, mivel biztonságban tartja a címeihez tartozó privát kulcsokat – ezek a kulcsok azonban nem adnak információt a blokklánc aktuális állapotáról, mint például a pénztárca egyenlegéről.", + "page-run-a-node-sovereignty-2": "Az alapértelmezés szerint az Ethereum-tárcák általában egy harmadik fél csomópontján keresztül kérik le az egyenleget, ilyen például az Infura vagy az Alchemy. Saját csomópont futtatásával saját példánya lehet az Ethereum-blokkláncról.", + "page-run-a-node-title": "Csomópont futtatása", + "page-run-a-node-voice-your-choice-title": "Adjon hangot a véleményének", + "page-run-a-node-voice-your-choice-preview": "Ne adja ki a kezéből az irányítást elágazás esetén sem.", + "page-run-a-node-voice-your-choice-1": "Láncelágazás esetén, amikor két lánc jön létre különböző szabályokkal, a saját csomópont futtatása garantálja, hogy kiválaszthatja, melyik szabályokat kívánja támogatni. Önön múlik, hogy frissít-e az új szabályokra, és támogatja-e a javasolt változtatásokat, vagy sem.", + "page-run-a-node-voice-your-choice-2": "Ha letétbe helyez ETH-et, a saját csatlakozási pont (node) futtatása lehetővé teszi, hogy saját klienst válasszon a slashing kockázatának minimalizálása, valamint a hálózat ingadozó igényeire való reagálás érdekében. A harmadik félen keresztül való letétbe helyezéssel elveszíti a szavazatát arra vonatkozóan, hogy melyik kliens a legjobb választás.", + "page-run-a-node-what-title": "Mit jelent a „csomópont futtatása”?", + "page-run-a-node-what-1-subtitle": "Szoftver futtatása.", + "page-run-a-node-what-1-text": "Ez a „kliensként” ismert szoftver letölti az Ethereum-blokklánc egy példányát, és ellenőrzi minden blokk érvényességét, majd naprakészen tartja az új blokkokkal és tranzakciókkal, valamint segít másoknak letölteni és frissíteni saját másolataikat.", + "page-run-a-node-what-2-subtitle": "Hardverrel.", + "page-run-a-node-what-2-text": "Az Ethereumot úgy tervezték, hogy a csomópontokat átlagos, felhasználói szintű számítógépeken lehessen futtatni. Bármilyen személyi számítógépet használhat, de a legtöbb felhasználó a csomópontot egy erre a célra dedikált hardveren futtatja, hogy kiküszöbölje a gépe teljesítményére gyakorolt hatást, és minimalizálja a csomópont állásidejét.", + "page-run-a-node-what-3-subtitle": "Miközben online.", + "page-run-a-node-what-3-text": "Egy Ethereum-csomópont futtatása elsőre bonyolultnak tűnhet, de valójában ez csak egy kliensszoftver folyamatos futtatása a számítógépen, miközben az internethez csatlakozik. Offline állapotban a csomópont egyszerűen inaktív lesz, amíg újra online állapotba nem kerül, és nem frissíti a legújabb változásokat.", + "page-run-a-node-who-title": "Ki futtasson csomópontot?", + "page-run-a-node-who-preview": "Mindenki! Csomópontokat nem csak proof-of-stake validátorok futtathatnak. Bárki futtathat egy csatlakozási pontot – még ETH-re sincs szüksége hozzá.", + "page-run-a-node-who-copy-1": "Nem kell ETH-et letétbe helyeznie csomópont futtatásához. Valójában a többi Ethereum-csatlakozási pont vonja felelősségre a validátorokat.", + "page-run-a-node-who-copy-2": "Habár a csatlakozási pont futtatásáért nem jár pénzügyi jutalom, úgy mint a validátorok esetében, ugyanakkor a futtatásának számos egyéb előnye van, amiket az Ethereum-felhasználónak fontolóra kell venni, mint például a személyes adatok védelme, a biztonság, csökken a harmadik fél szervereire való támaszkodás, nő a cenzúrával szembeni ellenálló képesség, valamint egészségesebbé és decentralizáltabbá válik a hálózat.", + "page-run-a-node-who-copy-3": "A saját csomópont azt jelenti, hogy nem kell megbíznia a hálózat állapotával kapcsolatos, harmadik féltől származó információkban.", + "page-run-a-node-who-copy-bold": "Nem kell megbíznia senkiben. Csak ellenőrizni.", + "page-run-a-node-why-title": "Miért futtasson csomópontot?" +} diff --git a/src/intl/hu/page-stablecoins.json b/src/intl/hu/page-stablecoins.json index 03c2072bc42..184548303f9 100644 --- a/src/intl/hu/page-stablecoins.json +++ b/src/intl/hu/page-stablecoins.json @@ -150,16 +150,16 @@ "cons": "Hátrányok", "1inch-logo": "1inch logó", "aave-logo": "Aave logó", - "binance-logo": "Binance logo", - "bittrex-logo": "Bittrex logo", - "coinbase-logo": "Coinbase logo", - "coinmama-logo": "Coinmama logo", + "binance-logo": "Binance-logó", + "bittrex-logo": "Bittrex-logó", + "coinbase-logo": "Coinbase-logó", + "coinmama-logo": "Coinmama-logó", "compound-logo": "Compound logo", "example-projects": "Példa projektek", - "gemini-logo": "Gemini logo", + "gemini-logo": "Gemini-logó", "gitcoin-logo": "Gitcoin logo", "loopring-logo": "Loopring logo", - "makerdao-logo": "MakerDao logo", + "makerdao-logo": "MakerDao-logó", "matcha-logo": "Matcha logo", "oasis-logo": "Oasis logo", "uniswap-logo": "Uniswap logo" diff --git a/src/intl/hu/page-wallets-find-wallet.json b/src/intl/hu/page-wallets-find-wallet.json index 430e8277ed4..376743b525b 100644 --- a/src/intl/hu/page-wallets-find-wallet.json +++ b/src/intl/hu/page-wallets-find-wallet.json @@ -7,10 +7,88 @@ "page-find-wallet-meta-title": "Ethereum tárca keresése", "page-find-wallet-title": "Tárca keresése", "page-find-wallet-try-removing": "Próbálj elvenni egy vagy két tulajdonságot", + "page-find-wallet-choose-to-compare": "Válassza ki az összehasonlításhoz", "page-stake-eth": "ETH letétbe helyezése", - "page-find-wallet-swaps": "Decentralizált token váltások", - "page-find-wallet-swaps-desc": "Kereskedj ETH-tel és más tokenekkel közvetlenül a tárcádból.", - "page-find-wallet-multisig": "Több-aláírós számlák", - "page-find-wallet-multisig-desc": "Az extra biztonság kedvéért a több aláírásos tárcák esetében, egynél több számla szükséges bizonyos tranzakciók jóváhagyásához.", - "page-find-wallet-showing": "Mutatás " + "page-find-wallet-open-source": "Nyílt forráskódú", + "page-find-wallet-open-source-desc": "A nyílt forráskódú szoftver lehetővé teszi, hogy bárki ellenőrizhesse az alkalmazás integritását és biztonságát", + "page-find-wallet-self-custody": "Saját felügyelet", + "page-find-wallet-non-custodial": "Nem felügyelt", + "page-find-wallet-non-custodial-desc": "Tárcák, melyek nem felügyelik a privát kulcsait", + "page-find-wallet-hardware-wallet-support": "Hardveres tárcák támogatása", + "page-find-wallet-hardware-wallet-support-desc": "Tárcák, amelyek hardveres tárcához csatlakoztathatók a fokozott biztonság érdekében", + "page-find-wallet-walletconnect": "WalletConnect", + "page-find-wallet-walletconnect-desc": "A WalletConnect funkció támogató tárcák dappokhoz való csatlakozáshoz", + "page-find-wallet-rpc-importing": "RPC-importálás", + "page-find-wallet-rpc-importing-desc": "Egyedi RPC-végpontokat támogató tárcák különböző csomópontokhoz vagy hálózatokhoz való csatlakozáshoz", + "page-find-wallet-nft-support": "NFT-támogatás", + "page-find-wallet-nft-support-desc": "Tárcák, amelyek támogatják az NFT-k megtekintését és az azokkal való interakciót", + "page-find-wallet-connect-to-dapps": "Csatlakozás dappokhoz", + "page-find-wallet-connect-to-dapps-desc": "Tárcák, amelyek az Ethereum-hálózatra épülő alkalmazásokhoz csatlakoznak", + "page-find-wallet-staking": "Letétbe helyezés", + "page-find-wallet-staking-desc": "ETH letétele közvetlenül a tárca felületéről", + "page-find-wallet-swaps": "Átváltás", + "page-find-wallet-swaps-desc": "ERC-20 tokenek közvetlen váltása a tárcában", + "page-find-wallet-layer-2": "2. réteg", + "page-find-wallet-layer-2-desc": "Tárcák, melyek támogatják az Ethereum második blokkláncrétegét (L2)", + "page-find-wallet-gas-fee-customization": "Egyedi díj", + "page-find-wallet-gas-fee-customization-desc": "Egyedi díj meghatározása (alap, elsőbbségi és maximális díj)", + "page-find-wallet-ens-support": "ENS-támogatás", + "page-find-wallet-ens-support-desc": "Tárcák, melyek támogatják az Ethereum névszolgáltatást (ENS)", + "page-find-wallet-token-importing": "Tokenimportálás", + "page-find-wallet-token-importing-desc": "Bármilyen ERC-20 tokenek importálása a tárcába", + "page-find-wallet-fee-optimization": "Díjoptimalizálás", + "page-find-wallet-fee-optimization-desc": "Támogatja a 2. típusú tranzakciókat az optimális díjak és a nem használt gáz visszatérítése érdekében", + "page-find-wallet-buy-crypto": "Kripto vásárlása", + "page-find-wallet-buy-crypto-desc": "Kriptovásárlás hagyományos pénzért közvetlenül a tárcában \n *Megjegyzés: a kriptovásárlás a helyi szabályozástól függ", + "page-find-wallet-sell-for-fiat": "Eladás hagyományos pénzért", + "page-find-wallet-sell-for-fiat-desc": "Kriptoeladás hagyományos pénzért közvetlenül a tárcában \n *Megjegyzés: a kriptoeladás a helyi szabályozástól függ", + "page-find-wallet-multisig": "Több aláírás", + "page-find-wallet-multisig-desc": "Tárcák, melyeknél több aláírás szükséges a tranzakciók engedélyezéséhez", + "page-find-wallet-social-recovery": "Hagyományos visszaállítás", + "page-find-wallet-social-recovery-desc": "Tárcák, melyeknél az őrzők megváltoztathatják az aláírókulcsot az okosszerződéses tárcákhoz", + "page-find-wallet-token-support": "Tokentámogatás", + "page-find-wallet-features": "Jellemzők", + "page-find-wallet-security": "Biztonság", + "page-find-wallet-smart-contract": "Smart contract", + "page-find-wallet-check-out": "Nézd meg", + "page-find-wallet-info-updated-on": "információ utolsó frissítésének dátuma", + "page-find-wallet-showing-all-wallets": "Az összes tárca megjelenítése", + "page-find-wallet-showing": "Mutatás ", + "page-find-wallet-wallets": "tárcák", + "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": "Hardver", + "page-find-wallet-hardware-desc": "Hardveres tárcák", + "page-find-wallet-new-to-crypto-title": "Kezdő a kripto világában", + "page-find-wallet-new-to-crypto-desc": "Ön most ismerkedik a kripto világával és az első tárcáját keresi", + "page-find-wallet-nfts-title": "NFT-k", + "page-find-wallet-nfts-desc": "Önt az NFT-k érdeklik, ezért NFT-t támogató tárcát keres", + "page-find-wallet-hodler-title": "Hodler", + "page-find-wallet-hodler-desc": "Ön tokenekkel rendelkezik és nem szándékozik eladni azokat", + "page-find-wallet-finance-title": "Pénzügy", + "page-find-wallet-finance-desc": "Önt a decentralizált pénzügyek (DeFi) érdeklik, és olyan tárcát szeretne, mely ezekhez az alkalmazásokhoz kapcsolódik", + "page-find-wallet-developer-title": "Fejlesztő", + "page-find-wallet-developer-desc": "Ön fejlesztő és olyan tárcát szeretne, mely segít az alkalmazások fejlesztésében és tesztelésében", + "page-find-wallet-persona-desc": "Válassza ki a felhasználói típusának megfelelő profilt, és szűrjön rá a pénztárcalistára", + "page-find-wallet-filters": "Szűrők", + "page-find-wallet-active": "aktív", + "page-find-wallet-profile-filters": "Profilszűrő", + "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-mobile": "Mobil", + "page-find-wallet-mobile-desc": "Tárcák mobilalkalmazásokkal", + "page-find-wallet-desktop": "Asztali számítógép", + "page-find-wallet-desktop-desc": "Tárcák asztali alkalmazásokkal", + "page-find-wallet-browser": "Böngésző", + "page-find-wallet-browser-desc": "Tárcák böngészőbővítményekkel", + "page-find-wallet-device": "Eszköz", + "page-find-choose-to-compare": "Válassza ki az összehasonlításhoz", + "page-find-wallet-choose-features": "Válasszon a funkciók közül" } diff --git a/src/intl/hu/page-wallets.json b/src/intl/hu/page-wallets.json index 836d66014f7..629e4f62d23 100644 --- a/src/intl/hu/page-wallets.json +++ b/src/intl/hu/page-wallets.json @@ -1,20 +1,20 @@ { - "page-wallets-accounts-addresses": "Tárcák, számlák és címek", + "page-wallets-accounts-addresses": "Tárcák, számlák, kulcsok és címek", "page-wallets-accounts-addresses-desc": "Érdemes megérteni a különbségeket néhány fontos fogalom között.", - "page-wallets-accounts-ethereum-addresses": "Minden Ethereum-számlához tartozik egy Ethereum-cím, pont ahogy az e-mail fiókokhoz az e-mail-címek. Ezzel lehet pénzeszközöket küldeni egy adott számlára.", + "page-wallets-accounts-ethereum-addresses": "Az Ethereum-számlához tartozik egy cím, épp ahogy egy levelezőrendszernek is van e-mail-címe. Ez azonosítja az Ön digitális eszközeit.", "page-wallets-alt": "Egy robot illusztrációja, melynek a teste egy kamra, ami egy Ethereum tárcát reprezentál", - "page-wallets-ethereum-account": "Az Ethereum-számla egy olyan entitás, amely tranzakciókat indíthat és egyenleggel rendelkezik.", + "page-wallets-ethereum-account": "Az Ethereum-számla két kulccsal rendelkezik. Az egyik a cím létrehozásához szükséges, melyet szabadon megoszthat bárkivel. A másik kulcsot tartsa mindig titokban, mert ez kell az ügyletek aláírásához. Ez a két kulcs együtt teszi lehetővé, hogy eszközöket birtokolhasson és tranzakciókat hajtson végre.", "page-wallets-blog": "Coinbase blog", "page-wallets-bookmarking": "Tedd könyvjelzőbe a tárcád", "page-wallets-bookmarking-desc": "Ha egy web tárcát használsz, akkor tedd a könyvjelzők közé az oldalt, hogy védd magad a phishing átverésektől.", "page-wallets-cd": "A fizikai hardvertárcák olyan eszközök, amelyek segítségével offline tudja tárolni a kriptovalutáját – nagyon biztonságosak", - "page-wallets-desc-2": "Egy tárcára van szükséged, hogy pénzt küldhess és kezelhesd az ETH-edet.", + "page-wallets-desc-2": "A tárcák azt a célt szolgálják, hogy Ön kezelni tudja a digitális eszközeit és személyazonosságát.", "page-wallets-desc-2-link": "Többet az ETH-ről", - "page-wallets-desc-3": "A tárcád csak egy eszköz az Ethereum számlád kezelésére. Ez azt jelenti, hogy bármikor válthatsz tárca szolgáltatót. Sok tárca lehetővé teszi, hogy egyszerre több Ethereum számlát is kezelj egy alkalmazásból.", - "page-wallets-desc-4": "Ez azért van, mert a tárcáknak nincs felügyeletük a pénzed felett, hanem neked van. Ezek csak eszközök annak a kezelésére, ami tényleg a tiéd.", - "page-wallets-description": "Az Ethereum tárcák olyan alkalmazások, melyekkel interakcióba léphetsz az Ethereum számláddal. Gondolj rá úgy, mint egy internetes banki alkalmazásra - bank nélkül. A tárcáddal leolvashatod az egyenleged, tranzakciókat küldhetsz és alkalmazásokhoz kapcsolódhatsz.", + "page-wallets-desc-3": "A tárca egy eszköz arra, hogy elérje és használja az Ethereum-számláját. Tehát bármikor választhat másik tárcaszolgáltatót. Számos tárca képes arra, hogy egyszerre több Ethereum-számlát kezeljen egy alkalmazásból.", + "page-wallets-desc-4": "A tárcaszolgáltató nem felügyeli az Ön eszközeit, csupán egy betekintési felületet ad ahhoz, hogy az Ethereumon lévő eszközeit lássa, és megfelelő funkciókat biztosít azok kezeléséhez.", + "page-wallets-description": "Az Ethereum-tárcák olyan alkalmazások, melyekkel Ön a számláját kezelheti. Akárcsak az ember pénztárcája, ebben is minden benne van, amellyel a személyazonosságát igazolni tudja és képes kezelni az eszközeit. Biztosítja, hogy be tudjon jelentkezni az alkalmazásokba, megnézze egyenlegét, tranzakciókat indítson és igazolja személyazonosságát.", "page-wallets-desktop": "Asztali alkalmazások, ha jobban szereted MacOS-en, Windows-on vagy Linux-on kezelni a pénzed", - "page-wallets-ethereum-wallet": "A tárca egy olyan termék, amely lehetővé teszi az Ethereum-számlájának kezelését. Lehetővé teszi számlaegyenlegének megtekintését, tranzakciók küldését és még sok mást.", + "page-wallets-ethereum-wallet": "A tárca egy olyan eszköz, amely lehetővé teszi az Ethereum-számla kezelését. Ezen keresztül megnézheti számlaegyenlegét, tranzakciókat indíthat és egyéb műveleteket is végezhet.", "page-wallets-explore": "Az Ethereum Felfedezése", "page-wallets-features-desc": "Segíthetünk kiválasztani a tárcádat a neked fontos szempontok szerint.", "page-wallets-features-title": "Tárcák összehasonlítása funkciók alapján", @@ -39,12 +39,12 @@ "page-wallets-seed-phrase-example": "Itt egy példa:", "page-wallets-seed-phrase-snippet": "there aeroplane curve vent formation doge possible product distinct under spirit lamp", "page-wallets-seed-phrase-write-down": "Ne egy számítógépen tárold. Írd le és tartsd biztonságban.", - "page-wallets-slogan": "A kulcs a digitális jövődhöz", + "page-wallets-slogan": "A kulcs az Ön digitális jövőjéhez", "page-wallets-stay-safe": "Hogyan maradjunk biztonságban", - "page-wallets-stay-safe-desc": "A tárcahasználat egy váltás a gondolkodásban. A pénzügyi szabadság és a képesség, hogy bárhonnan elérjük a pénzünket felelőséggel jár - nincs ügyfélszolgálat a kriptoban.", - "page-wallets-subtitle": "A tárcák hozzáférést biztosítanak a pénzedhez és az Ethereum alkalmazásokhoz. Csak neked szabad hozzáférned a tárcádhoz.", + "page-wallets-stay-safe-desc": "A pénzügyi szabadság és az a képesség, hogy bármikor elérheti és használhatja az eszközeit felelősséggel jár – a kripto világában nincs ügyfélszolgálat. Ön felel azért, hogy a kulcsokat biztonságban tudja.", + "page-wallets-subtitle": "A tárcák segítségével elérheti digitális eszközeit és bejelentkezhet különféle alkalmazásokba.", "page-wallets-take-responsibility": "Vállalj felelőséget a pénzed felett", - "page-wallets-take-responsibility-desc": "A centralizált tőzsdék összekötik a tárcádat egy felhasználónévvel és egy jelszóval, melyet a tradicionális módon tudsz helyreállítani. De ne feledd, hogy egy tőzsdét bízol meg a pénzed feletti felügyelettel. Ha ezt a céget megtámadják vagy csődbe megy, akkor a pénzed veszélybe kerül.", + "page-wallets-take-responsibility-desc": "A centralizált tőzsdék összekötik a tárcát egy felhasználónévvel és egy jelszóval, melyet a hagyományos módon helyre lehet állítani. Ne feledje, hogy ebben az esetben a tőzsdét bízza meg a pénze feletti felügyelettel. Ha ez a cég pénzügyi nehézségekkel küzd, akkor a pénze veszélybe kerülhet.", "page-wallets-tips": "Még több biztonsági tipp", "page-wallets-tips-community": "A közösségből", "page-wallets-title": "Ethereum tárcák", @@ -61,5 +61,7 @@ "page-wallets-your-ethereum-account": "Az Ethereum számlád", "page-wallets-your-ethereum-account-desc": "A tárcád az ablakod az Ethereum számládra - az egyenlegedre, tranzakciós történetedre és más egyébre. De bármikor válthatsz tárca szolgáltatót.", "page-wallets-your-login": "A belepőd az Ethereum alkalmazásokba", - "page-wallets-your-login-desc": "A tárcáddal rákapcsolódhatsz bármely decentralizált alkalmazásra, mely az Ethereum számládat használja. Ez olyan mint egy bejelentkezés, amit több dappon keresztül is használhatsz." + "page-wallets-your-login-desc": "A tárcával bármely alkalmazáshoz kapcsolódhat, amely az Ön Ethereum-számláját használja. Ez olyan mint egy bejelentkezés, amelyet több alkalmazáshoz is megfelelő.", + "additional-reading-how-to-create-an-ethereum-account": "Hogyan lehet Ethereum számlát létrehozni", + "additional-reading-how-to-use-a-wallet": "Hogyan használja a tárcát" } diff --git a/src/intl/hu/page-what-is-ethereum.json b/src/intl/hu/page-what-is-ethereum.json index 050eed7cfa9..f6ebb85149b 100644 --- a/src/intl/hu/page-what-is-ethereum.json +++ b/src/intl/hu/page-what-is-ethereum.json @@ -3,7 +3,7 @@ "page-what-is-ethereum-alt-img-comm": "Egy illusztráció, amiben Ethereum közösségi tagok együtt dolgoznak", "page-what-is-ethereum-alt-img-lego": "Illusztráció egy kézről, amely egy ETH-logót épít LEGO-kockákból", "page-what-is-ethereum-banking-card": "Banki szolgáltatás mindenkinek", - "page-what-is-ethereum-banking-card-desc": "Nem mindenkinek van hozzáférése pénzügyi szolgáltatásokhoz. De ahhoz, hogy hozzáférjen az Ethereumhoz és a hitelezési, kölcsönzési és takarékossági termékeihez, csak egy internethozzáférésre van szüksége.", + "page-what-is-ethereum-banking-card-desc": "Nem mindenkinek van hozzáférése pénzügyi szolgáltatásokhoz. Az Ethereumhoz és az arra épülő hitelezési, kölcsönadási és megtakarítási szolgáltatásokhoz csak internethozzáférésre van szükség.", "page-what-is-ethereum-build": "Készítsen valamit az Ethereummal", "page-what-is-ethereum-build-desc": "Ha szeretné kipróbálni az építést Ethereummal, akkor olvassa el a dokumentációinkat, próbáljon ki néhány útmutatót vagy nézze meg az eszközöket, melyekre az induláshoz szüksége lesz.", "page-what-is-ethereum-censorless-card": "Cenzúra-rezisztens", @@ -11,44 +11,41 @@ "page-what-is-ethereum-comm-desc": "A közösségünkben sokféle háttérrel rendelkező emberek vannak úgy, mint művészek, kripto-anarchisták, fortune 500 vállalatok és most már Ön is. Nézze meg, hogyan tud ma bekapcsolódni.", "page-what-is-ethereum-commerce-card": "Kereskedelmi garanciák", "page-what-is-ethereum-commerce-card-desc": "Az ügyfelek biztonságos, beépített garanciát kapnak arra, hogy a pénzeszközök csak akkor cserélnek gazdát, ha Ön teljesíti a megállapodásban foglaltakat. Hasonlóképpen a fejlesztők is biztosak lehetnek abban, hogy a rájuk vonatkozó szabályok nem változnak meg időközben.", - "page-what-is-ethereum-composable-card": "Minden termék összeilleszthető", - "page-what-is-ethereum-composable-card-desc": "Mivel minden alkalmazás ugyanarra a blokkláncra épül egy közös globális állapottal, egymásra tudnak épülni (mint a legók). Ez lehetővé teszi, hogy folyamatosan jobb termékek és élmények jöhessenek létre.", + "page-what-is-ethereum-composable-card": "Egymásra építhető termékek", + "page-what-is-ethereum-composable-card-desc": "Minden alkalmazás ugyanazon a blokkláncon alapul, melynek egy közös, globális státusza van, így ezek egymásra építhetők (akár az építőkockák). Ez jobb termékeket és felhasználói tapasztalatot tesz lehetővé, illetve senki sem távolíthat el olyan eszközöket, melyek az alkalmazáshoz szükségesek.", "page-what-is-ethereum-community": "Az Ethereum közösség", "page-what-is-ethereum-desc": "A digitális jövőnk alapja", "page-what-is-ethereum-explore": "Az Ethereum felfedezése", - "page-what-is-ethereum-internet-card": "Egy privátabb internet", - "page-what-is-ethereum-internet-card-desc": "Nem kell az összes személyes adadát átadnia, amikor egy Ethereum appot használ. Az Ethereum egy érték alapú gazdaságot épít, nem pedig egy megfigyelés-alapút.", + "page-what-is-ethereum-internet-card": "Nyílt internet", + "page-what-is-ethereum-internet-card-desc": "Bárki használhatja az Ethereum-hálózatot vagy építhet arra alkalmazásokat. Ennek köszönhetően mindenki maga kezelheti saját eszközeit és személyazonosságát, ahelyett hogy néhány megavállalat használná azokat.", "page-what-is-ethereum-meet-comm": "Ismerje meg a közösséget", "page-what-is-ethereum-meta-description": "Tudjon meg többet az Ethereumról, arról, hogy mit csinál és hogy hogy tudja kipróbálni.", "page-what-is-ethereum-meta-title": "Mi az Ethereum?", "page-what-is-ethereum-p2p-card": "Egy peer-to-peer hálózat", - "page-what-is-ethereum-p2p-card-desc": "Az Ethereum lehetővé teszi, hogy pénzt mozgasson vagy egyezségeket kössön közvetlenül valakivel. Nem kell köztes cégek szolgáltatásait igénybe vennie.", + "page-what-is-ethereum-p2p-card-desc": "Az Ethereum lehetővé teszi, hogy más emberekkel együttműködjön, megállapodásokat kössön vagy digitális eszközöket küldjön nekik. Nincs szükség közvetítőkre.", "page-what-is-ethereum-start-building-btn": "Kezdjen el építeni", "page-what-is-ethereum-title": "Mi az Ethereum?", "page-what-is-ethereum-subtitle": "Teljes körű útmutató kezdőknek arról, hogyan működik az Ethereum, milyen előnyökkel jár, és hogyan használják emberek milliói világszerte.", "page-what-is-ethereum-button-lets-start": "Kezdés", "page-what-is-ethereum-blockchain-tab-title": "Mi az a blokklánc?", - "page-what-is-ethereum-blockchain-tab-content": "A blokklánc egy tranzakciókat tartalmazó osztott adatbázis, amely egy hálózaton belül számos számítógépen frissül. Az újonnan hozzáadott egy tételnyi tranzakciót blokknak nevezzük, innen fakad a blokklánc elnevezés. A legtöbb blokklánc nyilvános, melyhez adatot hozzáadni lehet, eltávolítani azonban nem. Ha valaki módosítani akar bármilyen információt, vagy be akarja csapni a rendszert, ahhoz a hálózaton lévő számítógépek többségén végre kell azt hajtania. Az pedig egy nagyon nagy szám. Ez teszi a kiépített blokkláncokat – mint amilyen az Ethereum is – nagyon biztonságossá.", - "page-what-is-ethereum-cryptocurrency-tab-title": "Miért hívják kriptovalutának?", - "page-what-is-ethereum-cryptocurrency-tab-content": "A blokkláncok kriptográfiai technikákat alkalmaznak a pénzeszközök biztonságának biztosításához. A bankszektor régóta hasonló módon védelmezi a pénzügyi tranzakciókat. A kriptovaluták tehát mondhatni banki szintű biztonsággal rendelkeznek.", + "page-what-is-ethereum-blockchain-tab-content": "A blokklánc egy tranzakciókat tartalmazó adatbázis, amely hálózaton lévő több számítógépen megosztott módon frissül. Az újonnan hozzáadott tranzakciócsomagot blokknak nevezzük, innen fakad a blokklánc elnevezés. A nyilvános blokkláncokhoz, mint az Ethereum, bárki hozzáadhat adatot, de eltávolítani nem tud. Ha valaki módosítani szeretné valamelyik információt, vagy csalni akarna a rendszerben, akkor a hálózaton lévő számítógépek többségén végre kell azt hajtania. Az pedig rengeteg feladat! Ez teszi a decentralizált blokkláncokat, mint amilyen az Ethereum is, nagyon biztonságossá.", + "page-what-is-ethereum-cryptocurrency-tab-title": "Mi az a kriptovaluta?", + "page-what-is-ethereum-cryptocurrency-tab-content-1": "A kriptovaluta, mint kifejezés, többféle helyettesíthető, digitális tokent takar, melyeket egy blokklánc biztosít. A Bitcoinnal kezdődött minden. A Bitcoin közvetítő nélkül képes értéket transzferálni két fél között, és ehhez csak annak működésében és programkódjában kell megbízni, mely nyitott és bárki számára elérhető.", + "page-what-is-ethereum-cryptocurrency-tab-content-2": "Az olyan eszközöket, mint a bitcoin és az ether, azért nevezik „kriptovalutának”, mert a felhasználó adatainak és eszközeinek biztonságát a kriptográfia biztosítja, nem pedig az, hogy egy intézmény vagy vállalat tisztességesen kezeli-e azokat.", + "page-what-is-ethereum-cryptocurrency-tab-content-3": "Az Ethereum saját kriptovalutával, az etherrel (ETH) rendelkezik, mellyel a hálózaton végzett tranzakciókért fizetünk. Ezt az Ethereum hálózatán el lehet küldeni más felhasználóknak vagy át lehet váltani más tokenekre. Az ether azért különleges, mert ezzel fizetnek az Ethereum hálózatán végzett műveletekért, számítási kapacitásért, melyek elengedhetetlenek az alkalmazások és szervezetek fejlesztéséhez és működtetéséhez.", "page-what-is-ethereum-summary-title": "Összegzés", - "page-what-is-ethereum-summary-desc-1": "Az Ethereum egy olyan technológia, amellyel alkalmazásokat és szervezeteket lehet építeni, eszközöket tartani, tranzakciókat lebonyolítani és kommunikálni anélkül, hogy központi hatóság irányítaná őket. Az Ethereum használatához nem kell átadni személyes adatot – az Ethereum használatával Ön megtartja az ellenőrzést saját adatai és a megosztott adatok felett. Az Ethereum saját kriptovalutával rendelkezik, az Etherrel, amelyet az Ethereum hálózaton végzett bizonyos tevékenységekért való fizetésre használnak.", - "page-what-is-ethereum-summary-desc-2": "Még mindig nem érthető? Elmagyarázzuk lépésről lépésre.", - "page-what-is-ethereum-what-is-crypto-title": "Mi az a kriptovaluta?", - "page-what-is-ethereum-what-is-crypto-desc-1": "A kriptó (a kriptovaluta rövidítése) egy új, titkosított formája a digitális pénznek.", - "page-what-is-ethereum-what-is-crypto-desc-2": "A történet 2008-ban kezdődött a Bitcoinnal, amellyel bárhová, bárkinek küldhettünk pénzt világszerte. A kriptót az különböztette meg a normál banki átutalásoktól vagy más pénzügyi szolgáltatásoktól, mint a Paypal vagy az Alipay, hogy a tranzakciókban – ekkor először – nem vett rész közvetítő.", - "page-what-is-ethereum-what-is-crypto-desc-3": "Várjunk csak, mi az a közvetítő?", - "page-what-is-ethereum-what-is-crypto-desc-4": "A közvetítő egy központi hatóság, például egy bank vagy kormány, amely beavatkozik a feladó és a címzett közötti tranzakcióba. A közvetítőnek hatalmában áll megfigyelni, cenzúrázni vagy akár visszafordítani a tranzakciókat, és megoszthatja az Önről gyűjtött érzékeny adatokat harmadik felekkel. Gyakran azt is a közvetítő szabja meg, hogy Ön milyen pénzügyi szolgáltatásokhoz férhet hozzá.", - "page-what-is-ethereum-what-is-crypto-desc-5": "A kriptóval más a helyzet. A feladót és a címzettet a tranzakció közvetlenül kapcsolja össze, központi hatóság részvétele nélkül. Senki másnak nincs hozzáférése a pénzeszközeihez, és senki sem mondhatja meg, hogy milyen szolgáltatásokat vehet igénybe. Ezt a blokklánc technológia teszi lehetővé, amelyen a kriptovaluták működnek.", + "page-what-is-ethereum-summary-desc-1": "Az Ethereum egy olyan globális, számítógépekből álló hálózat, mely az Ethereum-protokollnak nevezett szabályrendszer alapján működik. Alapot biztosít közösségek, alkalmazások, szervezetek és digitális eszközök számára, melyeket bárki létrehozhat, megépíthet és használhat.", + "page-what-is-ethereum-summary-desc-2": "Ön is könnyedén készíthet magának egy Ethereum-számlát bárhol és bármikor, és felfedezheti az elérhető alkalmazásokat vagy megépítheti a sajátját. Ebben az a legfontosabb innováció, hogy nem egy központi hatóságra bízza magát, mely bármikor megváltoztathatja a szabályokat és korlátozhatja a hozzáférését.", + "page-what-is-ethereum-summary-desc-3": "Olvasson tovább a részletekért…", "page-what-is-ethereum-btc-eth-diff-title": "Mi a különbség az Ethereum és a Bitcoin között?", "page-what-is-ethereum-btc-eth-diff-1": "A 2015-ben elindított Ethereum a Bitcoin innovációjára épül, néhány nagyobb különbséggel.", "page-what-is-ethereum-btc-eth-diff-2": "Mindkettővel használhat digitális pénzt fizetési szolgáltatók vagy bankok ingénybevétele nélkül. Az Ethereum azonban programozható, így decentralizált alkalmazásokat is lehet építeni és telepíteni a hálózatán.", - "page-what-is-ethereum-btc-eth-diff-3": "Az Ethereum programozhatósága azt jelenti, hogy olyan alkalmazásokat készíthet, amelyek a blokkláncot használják az adatok tárolására vagy az alkalmazás által végezhető műveletek vezérlésére. Ez egy általános célú blokkláncot eredményez, amely bármire programozható. Mivel az Ethereumnak nincsenek korlátai, minden lehetőség adott, hogy nagy újítások történjenek az Ethereum hálózaton.", - "page-what-is-ethereum-btc-eth-diff-4": "Míg a Bitcoin csak egy fizetési hálózat, addig az Ethereum inkább a pénzügyi szolgáltatások, játékok, közösségi hálózatok és egyéb alkalmazások piactere, amelyek tiszteletben tartják a magánéletét és nem jogosultak ellenőrizni, cenzúrázni az Ön tevékenységét.", + "page-what-is-ethereum-btc-eth-diff-3": "A Bitcoin segítségével egyszerű üzeneteket válthatunk egymással arról, ami számunkra értékes. Ez a központi hatóság nélküli értékteremtés már önmagában is egy erőteljes megoldás. Az Ethereum a következőket fejleszti tovább: az üzeneteken felül bármilyen általános programot vagy szerződést létre lehet hozni. Ezek a szerződések bármire vonatkozhatnak, ezért az Ethereum hálózata rendkívüli innovációt jelent.", + "page-what-is-ethereum-btc-eth-diff-4": "Míg a Bitcoin csak egy fizetési hálózat, addig az Ethereum inkább a pénzügyi szolgáltatások, játékok, közösségi hálózatok és egyéb alkalmazások piactere.", "page-what-is-ethereum-what-can-eth-do-title": "Mire képes az Ethereum?", "page-what-is-ethereum-why-would-i-use-ethereum-title": "Miért használnám az Ethereumot?", - "page-what-is-ethereum-why-would-i-use-ethereum-1": "Ha valaha küldött már pénzt a tengerentúlra (vagy tervezi), ha valaha is aggódnia kellett vagyonának biztonsága miatt a lakóhelyén fennálló külső körülmények miatt, vagy ha elege van a hagyományos pénzügyi intézmények számtalan megkötéséből és hétköznapi tranzakciós díjaiból, akkor valószínűleg érdekelni fogja, amit a kriptopénzek nyújtani tudnak.", - "page-what-is-ethereum-why-would-i-use-ethereum-2": "Ne feledje, hogy az Ethereum története még javában íródik, és az idő múlásával és a technológia fejlődésével folyamatosan újabb és újabb okokat fedeznek fel a használatára.", + "page-what-is-ethereum-why-would-i-use-ethereum-1": "Ha szeretne rugalmasabb, nyitottabb és megbízhatóbb módon tevékenykedni globális szinten, szervezeteket alapítani, alkalmazásokat építeni és értéket megosztani másokkal, akkor az Ethereum Önnek való. Ezt a történetet együtt írjunk, fedezze hát fel, hogy milyen lenyűgöző világokat tudunk ezáltal létrehozni.", + "page-what-is-ethereum-why-would-i-use-ethereum-2": "Az Ethereum azoknak az embereknek is felbecsülhetetlen lehetőséget jelent, akiknek külső, elkerülhetetlen behatások miatt veszélybe került eszközeik biztonsága, stabilitása vagy mozgathatósága.", "page-what-is-ethereum-slide-1-title": "Olcsóbb és gyorsabb határokon átnyúló fizetések", "page-what-is-ethereum-slide-1-desc-1": "A stabil érmék újfajta kriptopénzek, melyek alapja egy állandóbb értékű pénzeszköz. Ezeknek nagy része az USA-dollárhoz kötött, ezért követi annak értékét. Ezek nagyon olcsó és stabil globális fizetési rendszert tesznek lehetővé. Sok jelenlegi stabil érme az Ethereum hálózatra épül.", "page-what-is-ethereum-slide-1-desc-2": "Az Ethereum és a stabil érmék leegyszerűsítik a tengerentúlra való pénzküldés folyamatát. Gyakran csak néhány percet vesz igénybe, hogy pénzeszközöket a világ bármely pontjára mozgassunk, szemben a több munkanapos vagy akár hetekig tartó átlagos banki tranzakciókkal, ráadásul az ár töredékéért. Emellett a nagy értékű tranzakciókért nem kell külön díjat fizetni, és nincsenek korlátozások arra vonatkozóan, hogy hová küld pénzt és miért.", @@ -61,26 +58,24 @@ "page-what-is-ethereum-slide-4-desc-1": "A mostanában megjelent „play-to-earn”, azaz „játsz, hogy keress” játékok (amelyekben a játékosok ténylegesen jutalmat kapnak a játékért) megváltoztatják a játékipart. A hagyományos játékokban tiltott a játékpénzeszközök valós pénzért való értékesítése, ez pedig a biztonsági kockázatot hordozó illegális oldalak felé tereli a játékosokat. A blokklánc alapú játékok viszont engedélyezik a játékon belüli kereskedelmet, és megbízható módon támogatják azt.", "page-what-is-ethereum-slide-4-desc-2": "Ráadásul a játékosokat az is ösztönzi, hogy a játékban lévő tokeneket valódi pénzre cserélhetik, és így valóban jutalmat kapnak a játékkal töltött időért.", "page-what-is-ethereum-meet-ether-title": "Íme az ether, az Ethereum kriptovalutája", - "page-what-is-ethereum-meet-ether-desc-1": "Az Ethereum saját kriptovalutával rendelkezik: ez az ether (ETH). Teljesen digitális formátumú, és bárkinek, bárhova azonnal elküldhető. Azt ETH mennyiségét nem szabályozza kormány vagy egy szervezet, azaz decentralizált és teljesen átlátható. Új érméket (más néven tokeneket) csak a hálózatot biztosító letétbe helyezőknek (stakerek) bocsátanak ki.", - "page-what-is-ethereum-meet-ether-desc-2": "Az Ethereum-hálózaton végrehajtott minden művelethez bizonyos mennyiségű számítási teljesítményre van szükség. Ennek a díját ether formájában kell kifizetni. Ez azt jelenti, hogy a hálózat használatához legalább egy kis mennyiségű ETH-ra van szükség.", + "page-what-is-ethereum-meet-ether-desc-1": "Az Ethereum hálózatán végzett műveletek az Ethereum beágyazott számítógépét használják (melyet Ethereum-virtuális gépnek, EVM-nek neveznek). Ezt a számítási kapacitás nem jár ingyen, az Ethereum saját kriptovalutájával, az etherrel (ETH) lehet érte fizetni. Ebből adódik, hogy a hálózat használatához mindenkinek rendelkeznie kell valamennyi etherrel.", + "page-what-is-ethereum-meet-ether-desc-2": "Az ether (ETH) teljesen digitális formátumú, és bárkinek, bárhova azonnal elküldhető. Az ETH mennyiségét nem szabályozza kormány vagy egy szervezet, azaz decentralizált és teljesen átlátható. A rendszer a protokoll szerint meghatározott módon, csak a letétbe helyezőknek (staker) bocsátja rendelkezésére az ethert – ők biztosítják a hálózatot.", "page-what-is-ethereum-what-is-ether": "Mi az ether?", "page-what-is-ethereum-get-eth": "ETH beszerzése", - "page-what-is-ethereum-what-can-i-do-title": "Mire tudom az ETH érméket használni?", - "page-what-is-ethereum-what-can-i-do-desc-1": "Mint kiderült: sok mindenre! Az Ethereum technológia egyik legjelentősebb felhasználási területe a decentralizált pénzügyek (DeFi), amely banki szolgáltatások egész területeit nyitja meg mindenki előtt, aki rendelkezik internetkapcsolattal. Az ethert fedezetként használhatja hitelfelvételhez, vagy likviditást biztosíthat, hogy kamatot kapjon a pénze után.", "page-what-is-ethereum-explore-applications": "Fedezze fel az alkalmazásokat", "page-what-is-ethereum-learn-defi": "Tudjon meg többet a DeFi-ról", "page-what-is-ethereum-who-runs-ethereum-title": "Ki üzemelteti az Ethereumot?", - "page-what-is-ethereum-who-runs-ethereum-desc-1": "Az Ethereumot nem egy szervezet irányítja. Kizárólag a közösség decentralizált részvétele és együttműködése révén létezik. Az Ethereum önkéntesek által üzemeltetett csomópontokat (az Ethereum blokklánc adatainak másolatával rendelkező számítógép) használ a nagy internetszolgáltatók és szolgáltatások tulajdonában lévő egyedi szerver- és felhőrendszerek helyettesítésére.", - "page-what-is-ethereum-who-runs-ethereum-desc-2": "Ezek az elosztott csomópontok, amelyeket magánszemélyek és vállalkozások üzemeltetnek szerte a világon, biztosítják az Ethereum hálózati infrastruktúrájának rugalmasságát. Ezért sokkal kevésbé sebezhető a hackerekkel vagy leállásokkal szemben. 2015-ös indulása óta az Ethereumnál még soha nem történt leállás. Az Ethereum hálózatát több ezer egyedi csomópont futtatja. Ez teszi az Ethereumot az egyik legdecentralizáltabb kriptovalutává: a bitcoin után a második helyen áll.", + "page-what-is-ethereum-who-runs-ethereum-desc-1": "Az Ethereum-hálózatot nem egy adott szervezet irányítja. Akkor létezik, amikor a hozzá kapcsolódó számítógépek az Ethereum-protokoll alapján futtatnak programokat és a felhasználók által létrehozott új tranzakciókat hozzáadják a blokklánchoz. Ezeket a számítógépeket nevezik csomópontoknak (node). Csomópontot bárki üzemeltethet, ugyanakkor a hálózat biztosításához mindenkinek ethert (ETH, az Ethereum saját valutája) kell lekötnie. Bárki, aki rendelkezik 32 ETH-rel, az további engedély nélkül megteheti ezt.", + "page-what-is-ethereum-who-runs-ethereum-desc-2": "Még az Ethereum programkódját sem egy adott szervezet hozza létre. Bárki javasolhat változásokat a protokollban és megvitathatja a további fejlesztéseket. A protokollban számtalan olyan változtatás van, melyet független szervezetek készítenek különféle programozási nyelveken, általában nyilvánosan építik azokat és bátorítják a közösségi hozzájárulást is.", "page-what-is-ethereum-run-a-node": "Csomópont futtatása", "page-what-is-ethereum-smart-contract-title": "Mi az az okosszerződés?", - "page-what-is-ethereum-smart-contract-desc-1": "Az okosszerződések egyszerűen számítógépes programok, amelyek az Ethereum blokkláncon működnek. Kizárólag akkor hajtódnak végre, ha egy felhasználó (vagy egy másik szerződés) tranzakciója kiváltja őket. Ezek teszik az Ethereumot nagyon rugalmassá abban, hogy mire képes, és megkülönböztetik más kriptovalutáktól. Ezeket a programokat nevezzük ma decentralizált alkalmazásoknak, vagy dappoknak.", + "page-what-is-ethereum-smart-contract-desc-1": "Az okosszerződések olyan számítógépes programok, amelyek az Ethereum-blokkláncon működnek. A felhasználók által indított tranzakció indítja el őket. Ezek ruházzák fel az Ethereumot rendkívül rugalmas képességekkel. Ezek a programok a decentralizált alkalmazások (dapp) és szervezetek építőkövei.", "page-what-is-ethereum-smart-contract-desc-2": "Használt már olyan terméket, amely megváltoztatta a szolgáltatási feltételeit? Vagy eltávolított egy olyan funkciót, amelyet hasznosnak talált? Amint egy okosszerződést közzétesznek az Ethereumban, az online és működőképes lesz, amíg az Ethereum létezik. Még a szerző sem tudja eltávolítani. Mivel az okosszerződések automatizáltak, nem tesznek különbséget egyetlen felhasználóval szemben sem, és mindig készen állnak a használatra.", - "page-what-is-ethereum-smart-contract-desc-3": "Az okosszerződések népszerű példái a lending appok, a decentralizált kereskedési tőzsdék, illetve a biztosítási és crowdfunding appok – gyakorlatilag bármi, ami csak eszébe jut.", + "page-what-is-ethereum-smart-contract-desc-3": "Okosszerződés például a kölcsönszolgáltató alkalmazás, a decentralizált tőzsde, a biztosítási szolgáltatás, a kvadratikus finanszírozás (közjavak demokratikus finanszírozása), a közösségi hálózatok, a nem helyettesíthető tokenekkel (NFT) kapcsolatos szolgáltatások – gyakorlatilag bármi, ami csak az eszébe jut.", "page-what-is-ethereum-more-on-smart-contracts": "További információ az okosszerződésekről", "page-what-is-ethereum-explore-dapps": "Fedezze fel a dappokat", "page-what-is-ethereum-criminal-activity-title": "Úgy hallottam, hogy a kriptót bűncselekmények eszközeként használják. Ez igaz?", - "page-what-is-ethereum-criminal-activity-desc-1": "Mint minden más pénzzel, az ether egy részével is visszaélnek. Mivel azonban minden Ethereum-tranzakció egy nyílt blokkláncon történik, a hatóságok számára gyakran könnyebb nyomon követni a tiltott tevékenységet, mint a hagyományos pénzügyi rendszerben, ami vitathatatlanul kevésbé vonzóvá teszi az Ethereumot azok számára, akik inkább észrevétlenül maradnának.", + "page-what-is-ethereum-criminal-activity-desc-1": "Mint minden más technológiával, a kriptóval is vissza lehet néha élni. Mivel azonban minden Ethereum-tranzakció egy nyilvános blokkláncon történik, a hatóságok számára könnyebb nyomon követni a tiltott tevékenységet, mint a hagyományos pénzügyi rendszerben. Ez kevésbé vonzóvá teszi az Ethereumot azok számára, akik inkább észrevétlenül maradnának.", "page-what-is-ethereum-criminal-activity-desc-2": "Az Europol, az Európai Unió bűnüldözési együttműködési ügynöksége által nemrégiben készített jelentés főbb megállapításai szerint a kriptovalutákat sokkal kevésbé használják bűncselekményi célokra, mint a fiat valutákat:", "page-what-is-ethereum-criminal-activity-desc-3": "„Úgy tűnik, hogy a kriptovaluták tiltott tevékenységekre való felhasználása a teljes kriptovaluta-gazdaságnak csak egy kis részét teszi ki, és kisebbnek tűnik, mint a hagyományos pénzügyi tranzakciókban érintett tiltott pénzeszközök összege.”", "page-what-is-ethereum-energy-title": "Mi a helyzet az Ethereum energiafogyasztásával?", @@ -88,11 +83,31 @@ "page-what-is-ethereum-energy-desc-2": "A Merge volt az Ethereum legnagyobb frissítése, amely 99,95%-kal csökkentette az Ethereum biztonságának fenntartásához szükséges energiafogyasztást, így biztonságosabb hálózatot hozva létre sokkal kisebb szénköltséggel. Az Ethereum mostantól alacsony szén-dioxid-kibocsátású blokklánc, miközben növelte a biztonságosságát és a skálázhatóságát.", "page-what-is-ethereum-more-on-energy-consumption": "További információ az energiafogyasztásról", "page-what-is-ethereum-energy-consumption-chart-legend": "Éves energiafogyasztás TWh/évben", + "energy-consumption-chart-global-data-centers-label": "Globális adatközpontok", + "energy-consumption-gold-mining-cbeci-label": "Aranybányászat", + "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": "Számítógépes játék (USA)", + "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": "A Merge frissítés", - "page-what-is-ethereum-additional-reading": "További olvasnivalók", + "page-what-is-ethereum-additional-reading": "További olvasnivaló", "page-what-is-ethereum-week-in-ethereum": "Ethereum heti hírek", "page-what-is-ethereum-week-in-ethereum-desc": "– Heti hírlevél az ökoszisztéma legfontosabb fejleményeiről.", + "page-what-is-ethereum-kernel-dreamers": "Rendszermag", + "page-what-is-ethereum-kernel-dreamers-desc": "Az Ethereum álma", "page-what-is-ethereum-atoms-institutions-blockchains": "Atomok, intézmények, blokkláncok", "page-what-is-ethereum-atoms-institutions-blockchains-desc": "– Miért fontosak a blokkláncok?", - "page-what-is-ethereum-ethereum-in-numbers-title": "Az Ethereum számokban" + "page-what-is-ethereum-ethereum-in-numbers-title": "Az Ethereum számokban", + "adoption-chart-column-now-label": "Most", + "adoption-chart-investors-label": "Befektetők", + "adoption-chart-developers-label": "Fejlesztők", + "adoption-chart-companies-label": "Vállalatok", + "adoption-chart-artists-label": "Művészek", + "adoption-chart-musicians-label": "Zenészek", + "adoption-chart-writers-label": "Írók", + "adoption-chart-gamers-label": "Játékosok", + "adoption-chart-refugees-label": "Menekültek" } diff --git a/src/intl/hu/template-usecase.json b/src/intl/hu/template-usecase.json index 7d8f7fdcaab..0550b9c2ea2 100644 --- a/src/intl/hu/template-usecase.json +++ b/src/intl/hu/template-usecase.json @@ -4,6 +4,8 @@ "template-usecase-dropdown-dao": "Decentralizált autonóm szervezetek (DAO-k)", "template-usecase-dropdown-social-networks": "Nem központosított közösségi hálózatok", "template-usecase-dropdown-identity": "Nem központilag kibocsájtott identitás", + "template-usecase-dropdown-desci": "Nem központosított kutatás (DeSci)", + "template-usecase-dropdown-refi": "Regeneratív pénzügyek (ReFi)", "template-usecase-dropdown": "Ethereum-esettanulmányok", "template-usecase-banner": "Az Ethereum felhasználása folyamatosan bővül és fejlődik. Egészítse ki bármilyen információval, ha úgy gondolja, hogy azzal érthetőbbé vagy aktuálisabbá válhat az oldal.", "template-usecase-edit-link": "Oldal szerkesztése", From fc29118a0839d4e7d0aea28d66d4681009cfa734 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 27 Sep 2023 12:01:31 -0600 Subject: [PATCH 24/55] Indonesian content buckets (Learn hubs & guides, Upgrades, Smart contracts - basics) --- .../docs/smart-contracts/anatomy/index.md | 74 ++- .../docs/smart-contracts/compiling/index.md | 2 +- .../docs/smart-contracts/deploying/index.md | 23 +- .../developers/docs/smart-contracts/index.md | 45 +- .../docs/smart-contracts/languages/index.md | 23 +- .../docs/smart-contracts/libraries/index.md | 13 +- .../docs/smart-contracts/security/index.md | 606 ++++++++++++------ src/content/translations/id/eips/index.md | 59 +- .../index.md | 72 +++ .../id/guides/how-to-id-scam-tokens/index.md | 97 +++ .../how-to-revoke-token-access/index.md | 73 +++ .../id/guides/how-to-swap-tokens/index.md | 67 ++ .../id/guides/how-to-use-a-bridge/index.md | 70 ++ .../id/guides/how-to-use-a-wallet/index.md | 88 +++ src/content/translations/id/guides/index.md | 27 + .../id/roadmap/account-abstraction/index.md | 126 ++++ .../id/roadmap/beacon-chain/index.md | 61 +- .../id/roadmap/danksharding/index.md | 91 +++ .../id/roadmap/future-proofing/index.md | 38 ++ src/content/translations/id/roadmap/index.md | 117 ++++ .../translations/id/roadmap/merge/index.md | 215 ++++++- .../id/roadmap/merge/issuance/index.md | 134 ++++ .../translations/id/roadmap/pbs/index.md | 51 ++ .../translations/id/roadmap/scaling/index.md | 47 ++ .../roadmap/secret-leader-election/index.md | 44 ++ .../translations/id/roadmap/security/index.md | 48 ++ .../id/roadmap/single-slot-finality/index.md | 66 ++ .../id/roadmap/statelessness/index.md | 103 +++ .../id/roadmap/user-experience/index.md | 36 ++ .../id/roadmap/verkle-trees/index.md | 65 ++ src/intl/id/learn-quizzes.json | 327 +++++++++- src/intl/id/page-learn.json | 123 ++++ src/intl/id/page-roadmap-vision.json | 52 +- src/intl/id/page-upgrades-get-involved.json | 20 +- src/intl/id/page-upgrades-index.json | 102 +-- src/intl/id/page-upgrades.json | 9 +- 36 files changed, 2796 insertions(+), 418 deletions(-) create mode 100644 src/content/translations/id/guides/how-to-create-an-ethereum-account/index.md create mode 100644 src/content/translations/id/guides/how-to-id-scam-tokens/index.md create mode 100644 src/content/translations/id/guides/how-to-revoke-token-access/index.md create mode 100644 src/content/translations/id/guides/how-to-swap-tokens/index.md create mode 100644 src/content/translations/id/guides/how-to-use-a-bridge/index.md create mode 100644 src/content/translations/id/guides/how-to-use-a-wallet/index.md create mode 100644 src/content/translations/id/guides/index.md create mode 100644 src/content/translations/id/roadmap/account-abstraction/index.md create mode 100644 src/content/translations/id/roadmap/danksharding/index.md create mode 100644 src/content/translations/id/roadmap/future-proofing/index.md create mode 100644 src/content/translations/id/roadmap/index.md create mode 100644 src/content/translations/id/roadmap/merge/issuance/index.md create mode 100644 src/content/translations/id/roadmap/pbs/index.md create mode 100644 src/content/translations/id/roadmap/scaling/index.md create mode 100644 src/content/translations/id/roadmap/secret-leader-election/index.md create mode 100644 src/content/translations/id/roadmap/security/index.md create mode 100644 src/content/translations/id/roadmap/single-slot-finality/index.md create mode 100644 src/content/translations/id/roadmap/statelessness/index.md create mode 100644 src/content/translations/id/roadmap/user-experience/index.md create mode 100644 src/content/translations/id/roadmap/verkle-trees/index.md create mode 100644 src/intl/id/page-learn.json diff --git a/src/content/translations/id/developers/docs/smart-contracts/anatomy/index.md b/src/content/translations/id/developers/docs/smart-contracts/anatomy/index.md index 1d54723292a..22c4617e742 100644 --- a/src/content/translations/id/developers/docs/smart-contracts/anatomy/index.md +++ b/src/content/translations/id/developers/docs/smart-contracts/anatomy/index.md @@ -96,7 +96,7 @@ function update_name(string value) public { } ``` -- `value` parameter dari `string` jenis diteruskan ke dalam fungsi: `update_name` +- `Nilai` parameter dari `string` jenis diteruskan ke dalam fungsi: `update_name` - Fungsi dideklarasikan sebagai `public`, berarti siapa pun bisa mengaksesnya - Fungsi tidak dideklarasikan sebagai `view`, sehingga bisa memodifikasi state kontrak @@ -137,7 +137,7 @@ Fungsi `constructor` hanya dijalankan sekali saat kontrak digunakan untuk pertam ```solidity // Contoh Solidity -// Jalankan data kontrak, siapkan `owner` +// Jalankan data kontrak, siapkan `pemilik` // sesuai dengan alamat dari pembuat kontrak. constructor() public { // Semua kontrak pintar bergantung pada transaksi eksternal untuk memicu fungsinya. @@ -179,7 +179,7 @@ Fungsi Anda memerlukan: ```solidity pragma solidity >=0.4.0 <=0.6.0; -kontrak ExampleDapp { +contract ExampleDapp { string dapp_name; // state variable // Dipanggil saat kontrak disebarkan dan jalankan nilai @@ -224,7 +224,7 @@ contract HelloWorld { // Deklarasikan `message` variabel state dari `string` tipe. // Variabel state adalah variabel yang nilainya secara permanen disimpan dalam penyimpanan kontrak. - // Kata kunci `public` membuat variabel dapat diakses dari luar kontrak + // Kata kunci `publik` membuat variabel dapat diakses dari luar kontrak //dan menciptakan fungsi yang dengannya kontrak atau klien lain bisa memanggil untuk mengakses nilai. string public message; @@ -239,7 +239,7 @@ contract HelloWorld { } // Sebuah fungsi publik yang menerima argumen string - // dan memperbarui variabel penyimpanan `message`. + // dan memperbarui variabel penyimpanan`message`. function update(string memory newMessage) public { message = newMessage; } @@ -252,7 +252,7 @@ contract HelloWorld { pragma solidity ^0.5.10; contract Token { - //Sebuah `address` dapat disamakan dengan sebuah alamat email - ia digunakan untuk mengidentifikasi sebuah akun di Ethereum. + //Sebuah `alamat` dapat disamakan dengan sebuah alamat email - ia digunakan untuk mengidentifikasi sebuah akun di Ethereum. // Alamat bisa mewakilkan sebuah kontrak pintar atau satu akun (pengguna) eksternal. // Pelajari lebih banyak: https://solidity.readthedocs.io/en/v0.5.10/types.html#address address public owner; @@ -267,7 +267,7 @@ contract Token { // Pelajari lebih banyak: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#events event Transfer(address from, address to, uint amount); - // Jalankan data kontrak, siapkan `owner` + // Jalankan data kontrak, siapkan `pemilik` // di alamat dari pembuat kontrak. constructor() public { // Semua kontrak pintar bergantung pada transaksi eksternal untuk memicu fungsinya. @@ -280,7 +280,7 @@ contract Token { // Membuat sejumlah token baru dan mengirimkan mereka ke satu alamat. function mint(address receiver, uint amount) public { // `require` is struktur kontrol yang digunakan untuk melaksanakan kondisi tertentu. - // Jika sebuah pernyataan `require` mengevaluasi ke `false`, satu pengecualian terpicu, + // Jika sebuah pernyataan `require` mengevaluasi ke `palsu`, satu pengecualian terpicu, // yang membalikkan semua perubahan yang dibuat pada state selama pemanggilan saat ini. //Pelajari lebih banyak: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions @@ -333,51 +333,55 @@ contract CryptoPizza is IERC721, ERC165 { // Variabel state konstan di Solidity sama dengan bahasa lainnya // tapi Anda harus menetapkan satu ekpresi yang konstan pada waktu pengompilasian. - // Pelajari lebih banyak: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constant-state-variables + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constant-state-variables uint256 constant dnaDigits = 10; uint256 constant dnaModulus = 10 ** dnaDigits; bytes4 private constant _ERC721_RECEIVED = 0x150b7a02; - // Tipe Struct memungkinkan Anda menentukan tipe Anda - //Pelajari lebih banyak: https://solidity.readthedocs.io/en/v0.5.10/types.html#structs + // Struct types let you define your own type + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#structs struct Pizza { string name; uint256 dna; } - // Buat satu array kosong dari struct Pizza + // Creates an empty array of Pizza structs Pizza[] public pizzas; - // Mapping dari ID pizza ke alamat pemiliknya + // Mapping from pizza ID to its owner's address mapping(uint256 => address) public pizzaToOwner; - // Mapping dari alamat pemilik ke nomor dari token yang dimiliki + // Mapping from owner's address to number of owned token mapping(address => uint256) public ownerPizzaCount; - // Mapping dari ID token ke alamat yang disetujui + // Mapping from token ID to approved address mapping(uint256 => address) pizzaApprovals; - // Anda bisa melakukan nest pada mapping, contoh ini melakukan map ke persetujuan operator + // You can nest mappings, this example maps owner to operator approvals mapping(address => mapping(address => bool)) private operatorApprovals; - // Fungsi internal untuk membentuk satu Pizza acak dari (nama) string dan DNA + // Internal function to create a random Pizza from string (name) and DNA function _createPizza(string memory _name, uint256 _dna) - // Kata kunci `internal` berarti fungsi ini hanya terlihat - // dalam kontrak ini dan kontrak yang diturunkan dari kontrak ini - // Pelajari lebih banyak: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#visibility-and-getters + // The `internal` keyword means this function is only visible + // within this contract and contracts that derive this contract + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#visibility-and-getters internal - // `isUnique` adalah satu fungsi modifier yang memeriksa apakah pizza sudah ada - // Pelajari lebih banyak: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html#function-modifiers + // `isUnique` is a function modifier that checks if the pizza already exists + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html#function-modifiers isUnique(_name, _dna) { - // Menambahkan Pizza ke array dari Pizza dan mendapatkan id + // Adds Pizza to array of Pizzas and get id uint256 id = SafeMath.sub(pizzas.push(Pizza(_name, _dna)), 1); - // Periksa pemilik Pizza sama dengan pengguna saat ini + // Checks that Pizza owner is the same as current user // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions + + // note that address(0) is the zero address, + // indicating that pizza[id] is not yet allocated to a particular user. + assert(pizzaToOwner[id] == address(0)); - // Lakukan map pada Pizza ke pemiliknya + // Maps the Pizza to the owner pizzaToOwner[id] = msg.sender; ownerPizzaCount[msg.sender] = SafeMath.add( ownerPizzaCount[msg.sender], @@ -385,37 +389,37 @@ contract CryptoPizza is IERC721, ERC165 { ); } - // Buat satu Pizza acak dari (nama) string + // Creates a random Pizza from string (name) function createRandomPizza(string memory _name) public { uint256 randDna = generateRandomDna(_name, msg.sender); _createPizza(_name, randDna); } - // Hasilkan DNA acak dari (nama) string dan alamat dari pemilik (pembuat) + // Generates random DNA from string (name) and address of the owner (creator) function generateRandomDna(string memory _str, address _owner) public - // Fungsi yang ditandai `pure` berjanji tidak membaca dari atau memodifikasi state - // Pelajari lebih banyak: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#pure-functions + // Functions marked as `pure` promise not to read from or modify the state + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#pure-functions pure returns (uint256) { - // Buat uint acak dari (nama) string + (pemilik) alamat + // Generates random uint from string (name) + address (owner) uint256 rand = uint256(keccak256(abi.encodePacked(_str))) + uint256(_owner); rand = rand % dnaModulus; return rand; } - // Kembalikan array Pizza yang ditemukan pemilik + // Returns array of Pizzas found by owner function getPizzasByOwner(address _owner) public - // Fungsi yang ditandai `view` berjanji tidak memodifikasi state - // Pelajari lebih banyak: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#view-functions + // Functions marked as `view` promise not to modify state + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#view-functions view returns (uint256[] memory) { - // Gunakan lokasi penyimpanan `memory` untuk menyimpan nilai hanya untuk - // siklus hidup dari pemanggilan fungsi ini. + // Uses the `memory` storage location to store values only for the + // lifecycle of this function call. // Pelajari lebih banyak: https://solidity.readthedocs.io/en/v0.5.10/introduction-to-smart-contracts.html#storage-memory-and-the-stack uint256[] memory result = new uint256[](ownerPizzaCount[_owner]); uint256 counter = 0; diff --git a/src/content/translations/id/developers/docs/smart-contracts/compiling/index.md b/src/content/translations/id/developers/docs/smart-contracts/compiling/index.md index 49de98834fc..f92f42c2182 100644 --- a/src/content/translations/id/developers/docs/smart-contracts/compiling/index.md +++ b/src/content/translations/id/developers/docs/smart-contracts/compiling/index.md @@ -39,7 +39,7 @@ Pengompilasi juga akan menghasilkan **Antarmuka Biner Aplikasi (ABI)** yang Anda ABI adalah file JSON yang mendeskripsikan penggunaan kontrak dan fungsi kontrak pintarnya. Ini menolong menjembatani celah antara web2 dan web3 -[Pustaka klien JavaScript](/developers/docs/apis/javascript/) akan membaca **ABI** agar Anda memanggil kontrak pintar di antarmuka aplikasi web Anda. +[Pustaka klien JavaScript](/developers/docs/apis/javascript/) akan membaca **ABI** agar Anda dapat memanggil kontrak pintar pada antarmuka aplikasi web Anda. Di bawah ini adalah ABI untuk kontrak token ERC-20. ERC-20 adalah token yang bisa Anda perdagangkan di Ethereum. diff --git a/src/content/translations/id/developers/docs/smart-contracts/deploying/index.md b/src/content/translations/id/developers/docs/smart-contracts/deploying/index.md index f6ddcabbb7e..317c9b2e348 100644 --- a/src/content/translations/id/developers/docs/smart-contracts/deploying/index.md +++ b/src/content/translations/id/developers/docs/smart-contracts/deploying/index.md @@ -12,7 +12,7 @@ Untuk menggunakan kontrak pintar, Anda hanya perlu mengirim transaksi Ethereum y Anda harus memahami [jaringan Ethereum](/developers/docs/networks/), [transaksi](/developers/docs/transactions/), dan [anatomi kontrak pintar](/developers/docs/smart-contracts/anatomy/) sebelum menggunakan kontrak pintar. -Menggunakan kontrak juga memerlukan ether (ETH), jadi Anda harus terbiasa dengan [gas dan biaya](/developers/docs/gas/) di Ethereum. +Penyebaran kontrak juga mengonsumsi ether (ETH) karena kontrak disimpan di Rantai Blok sehingga Anda harus memahami tentang [gas dan biaya](/developers/docs/gas/) di Ethereum. Akhirnya, Anda hanya perlu mengompilasi kontrak sebelum menggunakannya, jadi pastikan Anda telah membaca tentang [mengompilasi kontrak pintar](/developers/docs/smart-contracts/compiling/). @@ -23,7 +23,7 @@ Akhirnya, Anda hanya perlu mengompilasi kontrak sebelum menggunakannya, jadi pas - kode bita kontrak Anda – ini dihasilkan melalui [pengompilasian](/developers/docs/smart-contracts/compiling/) - ETH untuk gas – Anda akan menentukan batas gas seperti transaksi lainnya, jadi ingatlah penggunaan kontrak memerlukan lebih banyak gas daripada transfer ETH sederhana - skrip atan plugin penggunaan -- akses ke [node Ethereum](/developers/docs/nodes-and-clients/), baik dengan menjalankan node Anda, terhubung dengan node publik, atau melalui kunci API yang menggunakan [layanan node](/developers/docs/nodes-and-clients/nodes-as-a-service/) seperti Infura atau Alchemy +- akses ke [simpul Ethereum](/developers/docs/nodes-and-clients/), dapat dilakukan dengan menjalankannya sendiri, menyambung ke simpul publik, atau melalui kunci API dengan menggunakan [layanan simpul](/developers/docs/nodes-and-clients/nodes-as-a-service/) ### Langkah-langkah untuk menggunakan kontrak pintar {#steps-to-deploy} @@ -37,16 +37,17 @@ Setelah digunakan, kontrak Anda akan memiliki alamat Ethereum seperti [akun](/de - [Remix](https://remix.ethereum.org) -**Tenderly - _Platform untuk memantau kontrak pintar dengan mudah melalui fitur pelacakan kesalahan, peringatan, metrik kinerja, dan analitik kontrak terperinci_** +**Tenderly - _Platform pengembangan Web3 yang menyediakan penelusuran kesalahan, observabilitas, dan elemen dasar penyusun infrastruktur untuk mengembangkan, menguji, memantau, dan menjalankan kontrak pintar_** - [tenderly.co](https://tenderly.co/) +- [Dokumen](https://docs.tenderly.co/) - [GitHub](https://github.com/Tenderly) - [Discord](https://discord.gg/eCWjuvt) **Hardhat - _Lingkungan pengembangan untuk mengompilasi, menggunakan, menguji, dan melakukan debug perangkat lunak Ethereum Anda_** - [hardhat.org](https://hardhat.org/getting-started/) -- [Dokumentasi tentang menggunakan kontrak Anda](https://hardhat.org/guides/deploying.html) +- [Dokumen tentang penyebaran kontrak Anda](https://hardhat.org/guides/deploying.html) - [GitHub](https://github.com/nomiclabs/hardhat) - [Discord](https://discord.com/invite/TETZs2KK4k) @@ -56,20 +57,26 @@ Setelah digunakan, kontrak Anda akan memiliki alamat Ethereum seperti [akun](/de - [Dokumentasi tentang penggunaan jaringan dan aplikasi](https://www.trufflesuite.com/docs/truffle/advanced/networks-and-app-deployment) - [GitHub](https://github.com/trufflesuite/truffle) +**thirdweb - _Sebarkan setiap kontrak dengan mudah ke setiap rantai yang kompatibel dengan EVM, dengan menggunakan satu perintah tunggal_** + +- [Dokumentasi](https://portal.thirdweb.com/deploy/) + ## Tutorial terkait {#related-tutorials} -- [Menggunakan kontrak pintar pertama Anda](/developers/tutorials/deploying-your-first-smart-contract/) _– Pengantar tentang menggunakan kontrak pintar pertama Anda di jaringan percobaan Ethereum._ +- [Penyebaran kontrak pintar pertama Anda](/developers/tutorials/deploying-your-first-smart-contract/) _– Pengantar tentang penyebaran kontrak pintar pertama Anda di jaringan percobaan Ethereum._ +- [Hello World | tutorial kontrak pintar](/developers/tutorials/hello-world-smart-contract/) _- Tutorial yang mudah diikuti untuk membuat & dan menyebarkan kontrak pintar sederhana di Ethereum._ - [Berinteraksi dengan kontrak lain dari Solidity](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– Cara menggunakan kontrak pintar dari kontrak yang sudah ada dan berinteraksi dengan kontrak pintar tersebut._ -- [Bagaimana memperkecil ukuran kontrak Anda](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _- Bagaimana mengurangi ukuran kontrak Anda agar tetap di bawah batasan dan menghemat pemakaian gas_ +- [Cara mengurangi ukuran kontrak Anda](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _- Cara mengurangi ukuran kontrak Anda agar tetap dalam batasan dan menghemat gas_ ## Bacaan lebih lanjut {#further-reading} - [https://docs.openzeppelin.com/learn/deploying-and-interacting](https://docs.openzeppelin.com/learn/deploying-and-interacting) - _OpenZeppelin_ -- [Menggunakan kontrak Anda dengan Hardhat](https://hardhat.org/guides/deploying.html) - _Nomic Labs_ +- [Menyebarkan kontrak Anda dengan Hardhat](https://hardhat.org/guides/deploying.html) - _Nomic Labs_ -_Tahu tentang sumber daya komunitas yang membantu Anda? Edit halaman ini dan tambahkan!_ +_Tahu tentang referensi komunitas yang membantu Anda? Edit halaman ini dan tambahkan!_ ## Topik terkait {#related-topics} - [Kerangka kerja pengembangan](/developers/docs/frameworks/) - [Jalankan node Ethereum](/developers/docs/nodes-and-clients/run-a-node/) +- [Simpul-sebagai-layanan](/developers/docs/nodes-and-clients/nodes-as-a-service) diff --git a/src/content/translations/id/developers/docs/smart-contracts/index.md b/src/content/translations/id/developers/docs/smart-contracts/index.md index 2fffb154218..abbd0a42ab5 100644 --- a/src/content/translations/id/developers/docs/smart-contracts/index.md +++ b/src/content/translations/id/developers/docs/smart-contracts/index.md @@ -8,25 +8,27 @@ lang: id "Kontrak pintar" secara sederhana adalah sebuah program yang beroperasi pada blockchain Ethereum. Ini adalah koleksi kode (fungsinya) dan data (statenya) yang berada pada alamat tertentu dalam blockchain Ethereum. -Kontrak pintar adalah suatu jenis [akun Ethereum](/developers/docs/accounts/). Ini berarti kontrak pintar memiliki saldo dan bisa mengirim transaksi melalui jaringan. Namun kontrak pintar tidak dapat dikendalikan oleh pengguna, tetapi diterapkan ke jaringan dan berjalan seperti yang telah diprogramkan. Akun pengguna bisa berinteraksi dengan sebuah kontrak pintar dengan mengirimkan transaksi yang menjalankan fungsi yang telah ditentukan dalam kontrak pintar. Kontrak pintar bisa menetapkan aturan, seperti kontrak umumnya, dan secara otomatis melaksanakannya lewat kode. Kontrak pintar tidak dapat dihapus secara default, dan interaksi dengannya tidak dapat diubah. +Kontrak pintar adalah suatu jenis [akun Ethereum](/developers/docs/accounts/). Artinya, kontrak ini ada saldo dan dapat menjadi target transaksi. Namun kontrak pintar tidak dapat dikendalikan oleh pengguna, tetapi diterapkan ke jaringan dan berjalan seperti yang telah diprogramkan. Akun pengguna bisa berinteraksi dengan sebuah kontrak pintar dengan mengirimkan transaksi yang menjalankan fungsi yang telah ditentukan dalam kontrak pintar. Kontrak pintar bisa menetapkan aturan, seperti kontrak umumnya, dan secara otomatis melaksanakannya lewat kode. Kontrak pintar tidak dapat dihapus secara default, dan interaksi dengannya tidak dapat diubah. ## Prasyarat {#prerequisites} +Jika Anda baru saja memulai atau mencari informasi pendahuluan yang tidak terlalu teknis, kami menganjurkan untuk membaca [pendahuluan kontrak pintar](/smart-contracts/) dari kami. + Pastikan Anda telah membaca tentang [akun](/developers/docs/accounts/), [transaksi](/developers/docs/transactions/), dan [mesin virtual Ethereum](/developers/docs/evm/) sebelum terjun ke dunia kontrak pintar. ## Mesin penjual otomatis digital {#a-digital-vending-machine} -Mungkin perumpamaan terbaik untuk kontrak pintar adalah sebuah mesin penjual otomatis, seperti yang dideskripsikan oleh [Nick Szabo](https://unenumerated.blogspot.com/). Dengan input yang benar, maka hasil keluarannya terjamin. +Perumpamaan terbaik untuk menggambarkan kontrak pintar mungkin dengan mesin penjual otomatis, sebagaimana diuraikan oleh [Nick Szabo](https://unenumerated.blogspot.com/). Input yang tepat akan menjamin output yang pasti. -Untuk mendapatkan sebuah kudapan ringan dari mesin penjual otomatis: +Untuk mendapatkan kudapan dari mesin penjual otomatis: ``` money + snack selection = snack dispensed ``` -Logika ini diprogramkan ke dalam mesin penjual otomatis. +Logika ini diprogram ke dalam mesin penjual otomatis. -Kontrak pintar, seperti mesin penjual otomatis, mempunyai logika yang diprogram ke dalamnya. Berikut adalah contoh sederhana bagaimana mesin penjual otomatis ini mungkin terlihat seperti kontrak pintar: +Kontrak pintar, seperti mesin penjual otomatis, mempunyai logika yang terprogram ke dalamnya. Berikut contoh sederhana tentang seperti apa tampilan mesin penjual otomatis jika diumpamakan sebagai kontrak pintar yang ditulis dalam Solidity: ```solidity pragma solidity 0.8.7; @@ -61,34 +63,38 @@ contract VendingMachine { } ``` -Seperti sebuah mesin penjual otomatis yang menghapus kebutuhan akan karyawan vendor, kontrak pintar juga bisa menggantikan perantara dalam banyak industri. +Seperti cara mesin penjual otomatis menghilangkan kebutuhan akan karyawan penjual, kontrak pintar juga dapat menggantikan para perantara di banyak industri. ## Tanpa izin {#permissionless} -Siapa pun dapat menulis kontrak pintar dan menyebarkannya ke jaringan. Anda hanya perlu belajar cara mengodekan dalam [bahasa kontrak pintar](/developers/docs/smart-contracts/languages/) dan memiliki cukup ETH untuk menyebarkan kontrak Anda. Menggunakan kontrak pintar secara teknis sama dengan melakukan transaksi, sehingga Anda perlu membayar [Gas](/developers/docs/gas/) sama seperti Anda perlu membayar gas untuk transfer ETH sederhana. Namun, biaya gas untuk penggunaan kontrak jauh lebih tinggi. +Siapa pun dapat menulis kontrak pintar dan menyebarkannya ke jaringan. Anda hanya perlu belajar cara menulis kode dalam [bahasa kontrak pintar](/developers/docs/smart-contracts/languages/) dan memiliki cukup ETH untuk menyebarkan kontrak Anda. Menyebarkan kontrak pintar secara teknis adalah transaksi, sehingga Anda harus membayar [gas](/developers/docs/gas/) dengan cara yang sama seperti membayar gas untuk transfer ETH biasa. Namun, biaya gas untuk penyebaran kontrak jauh lebih tinggi. -Ethereum memiliki bahasa ramah pengembang untuk menulis kontrak pintar: +Ethereum memiliki bahasa pemrograman yang mudah digunakan oleh pengembang untuk menulis kontrak pintar: - Solidity - Vyper -[Selengkapnya tentang bahasa](/developers/docs/smart-contracts/languages/) +[Selengkapnya tentang bahasa pemrograman](/developers/docs/smart-contracts/languages/) -Namun, kontrak harus dikompilasikan sebelum bisa digunakan agar mesin virtual Ethereum bisa mengartikan dan menyimpan kontrak tersebut. [Selengkapnya tentang pengompilasian](/developers/docs/smart-contracts/compiling/) +Namun, kontrak harus dikompilasi sebelum dapat disebarkan agar mesin virtual Ethereum dapat menafsirkan dan menyimpan kontrak tersebut. [Selengkapnya tentang kompilasi](/developers/docs/smart-contracts/compiling/) ## Komposabilitas {#composability} -Kontrak pintar bersifat publik di Ethereum dan bisa dianggap sebagai API terbuka. Ini berarti Anda bisa memanggil kontrak pintar orang lain di dalam kontrak pintar Anda untuk lebih memperluas apa yang mungkin diperluas. Kontrak bahkan bisa menyebarkan kontrak lainnya. +Kontrak pintar bersifat publik di Ethereum dan bisa dianggap sebagai API terbuka. Hal ini berarti bahwa Anda dapat memanggil kontrak pintar lain di dalam kontrak pintar Anda sendiri sehingga dapat mengembangkan banyak kemungkinan. Kontrak bahkan dapat menyebarkan kontrak lainnya. Pelajari selengkapnya tentang [komposabilitas kontrak pintar](/developers/docs/smart-contracts/composability/). ## Batasan {#limitations} -Kontrak pintar sendiri tidak bisa mendapatkan informasi tentang aksi "dunia nyata" karena tidak bisa mengirim permintaan HTTP. Ini sengaja dirancang demikian. Mengandalkan informasi eksternal bisa membahayakan konsensus, yang penting untuk keamanan dan desentralisasi. +Kontrak pintar sendiri tidak bisa mendapatkan informasi tentang aksi "dunia nyata" karena kontrak tidak dapat mengambil data dari sumber di luar rantai. Artinya, kontrak tidak dapat merespons aksi di dunia nyata. Hal ini sesuai dengan rancangan. Mengandalkan informasi eksternal bisa membahayakan konsensus, yang penting untuk keamanan dan desentralisasi. + +Akan tetapi, penting bagi aplikasi rantai blok untuk dapat menggunakan data di luar rantai. Solusinya adalah [oracle](/developers/docs/oracles/), yaitu alat yang mengumpulkan data di luar rantai dan menyediakannya untuk kontrak pintar. + +Keterbatasan kontrak pintar lainnya adalah ukuran maksimum kontrak. Kontrak pintar dapat berukuran maksimum sebesar 24KB atau akan kehabisan gas jika lebih. Hal ini dapat dihindari dengan menggunakan [Pola Permata](https://eips.ethereum.org/EIPS/eip-2535). -Ada cara untuk mengatasi ini, menggunakan [oracle](/developers/docs/oracles/). +## Kontrak multisig {#multisig} -Keterbatasan lain dari kontrak pintar adalah ukuran kontrak maksimumnya. Ukuran kontrak pintar maksimum bisa 24KB atau kontrak akan kehabisan gas. Ini dapat dihindari dengan menggunakan [Pola Permata](https://eips.ethereum.org/EIPS/eip-2535). +Kontrak multisig (beberapa tanda tangan) adalah akun kontrak pintar yang membutuhkan beberapa tanda tangan yang valid untuk menjalankan transaksi. Cara ini sangat berguna untuk menghindari titik kegagalan tunggal bagi kontrak yang menyimpan Ether atau token lainnya dalam jumlah besar. Multisig juga membagi tanggung jawab menjalankan kontrak dan manajemen kunci di antara beberapa pihak sehingga mencegah hilangnya kunci pribadi yang dapat mengakibatkan hilangnya dana secara permanen. Karena alasan ini, kontrak multisig dapat digunakan untuk tata kelola DAO yang sederhana. Multisig membutuhkan N tanda tangan dari M kemungkinan tanda tangan yang dapat diterima (di mana N ≤ M, dan M > 1) agar dapat dijalankan. `N = 3, M = 5` dan `N = 4, M = 7` adalah nilai-nilai yang umum digunakan. Multisig 4/7 membutuhkan empat dari tujuh kemungkinan tanda tangan yang valid. Hal ini berarti dana masih dapat diambil kembali meskipun ada tiga tanda tangan yang hilang. Dalam kasus ini, hal ini juga berarti bahwa mayoritas pemegang kunci harus setuju dan menandatangani agar kontrak dapat dijalankan. ## Sumber daya kontrak pintar {#smart-contract-resources} @@ -98,13 +104,8 @@ Keterbatasan lain dari kontrak pintar adalah ukuran kontrak maksimumnya. Ukuran - [GitHub](https://github.com/OpenZeppelin/openzeppelin-contracts) - [Forum Komunitas](https://forum.openzeppelin.com/c/general/16) -**DappSys -** **_Blok pembangun yang aman, sederhana, dan fleksibel untuk kontrak pintar._** - -- [Dappsys](https://dappsys.readthedocs.io/) -- [GitHub](https://github.com/dapphub/dappsys) - ## Bacaan lebih lanjut {#further-reading} -- [Kontrak Pintar: Teknologi Blockchain yang Akan Menggantikan Pengacara](https://blockgeeks.com/guides/smart-contracts/)_– Blockgeeks_ -- [Cara Terbaik untuk Pengembangan Kontrak Pintar](https://yos.io/2019/11/10/smart-contract-development-best-practices/) _–10 November 2019 - Yos Riady_ -- [Kontrak bersih - panduan tentang pola dan praktik kontrak pintar](https://www.wslyvh.com/clean-contracts/) _– 30 Juli 2020 - wslyvh_ +- [Coinbase: Apa yang dimaksud dengan kontrak pintar?](https://www.coinbase.com/learn/crypto-basics/what-is-a-smart-contract) +- [Chainlink: Apa yang dimaksud dengan kontrak pintar?](https://chain.link/education/smart-contracts) +- [Video: Penjelasan Sederhana - Kontrak Pintar](https://youtu.be/ZE2HxTmxfrI) diff --git a/src/content/translations/id/developers/docs/smart-contracts/languages/index.md b/src/content/translations/id/developers/docs/smart-contracts/languages/index.md index ed407b462d2..cbb1e44d6fc 100644 --- a/src/content/translations/id/developers/docs/smart-contracts/languages/index.md +++ b/src/content/translations/id/developers/docs/smart-contracts/languages/index.md @@ -88,15 +88,16 @@ Contoh ini seharusnya memberi Anda pemahaman seperti apa sintaksis kontrak Solid - Bahasa pemrograman Python - Strong typing - Kode pengompilasi berukuran kecil yang dapat dimengerti -- Secara sengaja memiliki fitur lebih sedikit dari Solidity dengan tujuan membuat kontrak lebih aman dan lebih mudah diaudit. Vyper tidak mendukung: +- Pembuatan kode bita yang efisien +- Disengaja dengan fitur lebih sedikit daripada Solidity yang bertujuan agar kontrak menjadi lebih aman dan lebih mudah untuk diaudit. Vyper tidak mendukung: - Pengubah - Warisan - - Perakitan sebaris - - Fungsi kelebihan beban - - Operator kelebihan beban + - Kode assembly dalam baris + - Beban berlebih pada fungsi + - Beban berlebih pada operator - Pemanggilan berulang - Perulangan dengan panjang tak terbatas - - Poin tetap biner + - Titik tetap biner Untuk informasi selengkapnya, [baca prinsip Vyper](https://vyper.readthedocs.io/en/latest/index.html). @@ -104,10 +105,16 @@ Untuk informasi selengkapnya, [baca prinsip Vyper](https://vyper.readthedocs.io/ - [Dokumentasi](https://vyper.readthedocs.io) - [Contoh Vyper](https://vyper.readthedocs.io/en/latest/vyper-by-example.html) +- [Vyper Selengkapnya dengan Contoh](https://vyper-by-example.org/) - [GitHub](https://github.com/vyperlang/vyper) -- [Ruang Obrolan Gitter Vyper](https://gitter.im/vyperlang/community) +- [Obrolan Discord komunitas Vyper](https://discord.gg/SdvKC79cJk) - [Lembar Kecurangan](https://reference.auditless.com/cheatsheet) -- [Pembaruan 8 Januari 2020](https://blog.ethereum.org/2020/01/08/update-on-the-vyper-compiler) +- [Kerangka kerja dan alat pengembangan kontrak pintar untuk Vyper](/developers/docs/programming-languages/python/) +- [VyperPunk - belajar mengamankan dan meretas kontrak pintar Vyper](https://github.com/SupremacyTeam/VyperPunk) +- [VyperExamples - Contoh kerentanan Vyper](https://www.vyperexamples.com/reentrancy) +- [Vyper Hub untuk pengembangan](https://github.com/zcor/vyper-dev) +- [Contoh kontrak pintar terbaik Vyper](https://github.com/pynchmeister/vyper-greatest-hits/tree/main/contracts) +- [Sumber daya pilihan Awesome Vyper](https://github.com/spadebuilders/awesome-vyper) ### Contoh {#example} @@ -211,7 +218,7 @@ Jika Anda baru mengenal Ethereum dan belum pernah melakukan pengodean apa pun de **Yul+** - Ekstensi level rendah yang sangat efisien untuk Yul. -- Didesain pada awalnya untuk kontrak [rollup optimistic](/developers/docs/scaling/layer-2-rollups/#optimistic-rollups). +- Awalnya dirancang untuk kontrak [optimistic rollup (penggabungan yang optimis)](/developers/docs/scaling/optimistic-rollups/). - Yul+ bisa dianggap sebagai proposal peningkatan eksperimental untuk Yul, yang menambahkan fitur baru ke dalamnya. ### Tautan penting {#important-links-2} diff --git a/src/content/translations/id/developers/docs/smart-contracts/libraries/index.md b/src/content/translations/id/developers/docs/smart-contracts/libraries/index.md index 1950eb2d8f0..54193d7661e 100644 --- a/src/content/translations/id/developers/docs/smart-contracts/libraries/index.md +++ b/src/content/translations/id/developers/docs/smart-contracts/libraries/index.md @@ -20,7 +20,7 @@ Ketika menulis kontrak pintar, ada kemungkinan Anda akan menemukan bahwa Anda me Pustaka kontrak pintar biasanya menyediakan implementasi yang dapat digunakan kembali dari perilaku ini sebagai [pustaka](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#libraries) atau lewat [warisan](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#inheritance) dalam Solidity. -Sebagai contoh, berikut ini adalah versi sederhana dari kontrak [`Yang dapat Dimiliki`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/access/Ownable.sol) dari [pustaka Kontrak OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts), yang mendesain alamat sebagai pemilik kontrak, dan menyediakan pengubah untuk membatasi akses pada metode yang hanya terkait dengan pemilik tersebut. +Sebagai contoh, berikut ini adalah versi sederhana dari kontrak [`Ownable`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/access/Ownable.sol) dari [pustaka Kontrak OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts), yang mendesain alamat sebagai pemilik kontrak, dan menyediakan pengubah untuk membatasi akses pada metode yang hanya terkait dengan pemilik tersebut. ownableownable. ```solidity contract Ownable { @@ -37,7 +37,7 @@ contract Ownable { } ``` -Untuk menggunakan blok pembangun seperti ini dalam kontrak, Anda perlu mengimpornya terlebih dahulu, dan kemudian memperpanjangnya dari kontrak milik Anda. Ini akan memungkinkan Anda menggunakan pengubah yang disediakan oleh basis kontrak `Yang dapat dimiliki` untuk mengamankan fungsi Anda. +Untuk menggunakan blok pembangun seperti ini dalam kontrak, Anda perlu mengimpornya terlebih dahulu, dan kemudian memperpanjangnya dari kontrak milik Anda. Ini akan memungkinkan Anda menggunakan pengubah yang disediakan oleh basis kontrak `Ownable` untuk mengamankan fungsi Anda. ```solidity import ".../Ownable.sol"; // Jalan ke pustaka yang diimpor @@ -102,11 +102,16 @@ Terakhir, saat memutuskan apakah akan memasukkan suatu pustaka, pertimbangkan pe - [GitHub](https://github.com/HQ20/contracts) +**SDK Solidity thirdweb -** **_Menyediakan alat yang dibutuhkan untuk membuat kontrak pintar khusus dengan efisien_** + +- [Dokumentasi](https://portal.thirdweb.com/solidity/) +- [GitHub](https://github.com/thirdweb-dev/contracts) + ## Tutorial terkait {#related-tutorials} -- [Pertimbangan keamanan untuk pengembang Ethereum](/developers/docs/smart-contracts/security/) _– Sebuah tutorial tentang pertimbangan keamanan ketika menyusun kontrak pintar, termasuk pemakaian pustaka._ +- [Pertimbangan keamanan untuk pengembang Ethereum](/developers/docs/smart-contracts/security/) _– Tutorial tentang pertimbangan keamanan pada saat membuat kontrak pintar, termasuk pemakaian pustaka._ - [Pahami kontrak pintar token ERC-20](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _- Tutorial tentang standar ERC20, yang disediakan oleh berbagai pustaka._ ## Bacaan lebih lanjut {#further-reading} -_Tahu tentang sumber daya komunitas yang membantu Anda? Edit halaman ini dan tambahkan!_ +_Tahu tentang referensi komunitas yang membantu Anda? Edit halaman ini dan tambahkan!_ diff --git a/src/content/translations/id/developers/docs/smart-contracts/security/index.md b/src/content/translations/id/developers/docs/smart-contracts/security/index.md index 8ff71bdc0a6..040965070ae 100644 --- a/src/content/translations/id/developers/docs/smart-contracts/security/index.md +++ b/src/content/translations/id/developers/docs/smart-contracts/security/index.md @@ -1,148 +1,246 @@ --- title: Keamanan kontrak pintar -description: Pertimbangan keamanan untuk pengembang Ethereum +description: Ikhtisar pedoman pembuatan kontrak pintar Ethereum yang aman lang: id --- -Kontrak pintar Ethereum sangat fleksibel, mampu menampung sejumlah besar token (sering kali lebih dari $1 Miliar) dan menjalankan logika yang tak bisa diubah berdasarkan kode kontrak pintar yang digunakan sebelumnya. Sekalipun hal ini telah menciptakan ekosistem kontrak pintar yang saling berhubungan dan tidak memerlukan kepercayaan yang penuh energi dan kreatif, juga merupakan ekosistem yang sempurna untuk menarik penyerang yang mencari keuntungan dengan mengeksploitasi kerentanan dalam kontrak pintar dan perilaku tak terduga di Ethereum. Kode kontrak pintar _biasanya_ tidak bisa diubah untuk menambal kelemahan keamanan, aset yang telah dicuri dari kontrak pintar tidak bisa didapatkan kembali, dan aset yang dicuri sangat sulit untuk dilacak. Jumlah total nilai yang dicuri atau hilang karena masalah kontrak pintardengan mudah bernilai $1 Miliar. Beberapa nilai yang lebih besar karena kesalahan pengodean kontrak pintar meliputi: +Kontrak pintar sangat fleksibel dan mampu mengontrol nilai dan data dalam jumlah besar, sambil menjalankan logika permanen yang berdasarkan kode yang disebarkan pada Rantai Blok. Hal ini telah menciptakan ekosistem dinamis yang terdiri dari aplikasi tanpa kepercayaan dan terdesentralisasi yang memberikan banyak keuntungan dibandingkan sistem legasi. Hal tersebut juga membuka peluang bagi penyerang yang mencari keuntungan dengan mengeksploitasi kerentanan pada kontrak pintar. -- [Masalah partity multi-sig #1 - kehilangan $30 Juta](https://www.coindesk.com/30-million-ether-reported-stolen-parity-wallet-breach) -- [Masalah parity multi-sig #2 - $300 Juta terkunci](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether) -- [Peretasan TheDAO, 3,6 Juta ETH! Lebih dari $1 Miliar dalam harga ETH saat ini](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/) +Rantai Blok publik, seperti Ethereum, makin memperumit masalah pengamanan kontrak pintar. Kode kontrak yang disebarkan _biasanya_ tidak dapat diubah untuk menambal kekurangan pada keamanannya, sementara aset yang dicuri dari kontrak pintar sulit sekali untuk dilacak dan kebanyakan tidak dapat dipulihkan karena sifat permanennya. + +Meskipun ada perbedaan angka, diperkirakan bahwa nilai total yang dicuri atau hilang akibat cacat keamanan di kontrak pintar dapat mencapai lebih dari $1 miliar. Hal ini termasuk insiden yang menjadi perhatian publik, seperti [peretasan DAO](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/) (3,6 juta ETH dicuri, yang saat ini bernilai lebih dari $1 miliar dolar), [Peretasan dompet parity multi-sig](https://www.coindesk.com/30-million-ether-reported-stolen-parity-wallet-breach) ($30 juta hilang karena peretas), dan [Masalah dompet beku parity](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether) (lebih dari $300 juta nilai ETH terkunci selamanya). + +Berbagai masalah yang disebutkan di atas mengharuskan pengembang untuk meningkatkan upaya dalam membuat kontrak pintar yang aman, kuat, dan tangguh. Keamanan kontrak pintar adalah masalah yang serius, dan harus dipelajari dengan baik oleh setiap pengembang. Panduan ini akan membahas pertimbangan keamanan bagi pengembang Ethereum dan menyelidiki sumber daya untuk peningkatan keamanan kontrak pintar. ## Prasyarat {#prerequisites} -Ini akan membahas keamanan kontrak pintar jadi pastikan Anda terbiasa dengan [kontrak pintar](/developers/docs/smart-contracts/) sebelum menangani tentang keamanan. +Pastikan Anda memahami [dasar-dasar pengembangan kontrak pintar](/developers/docs/smart-contracts/) sebelum mempelajari masalah keamanan. -## Bagaimana menulis kode kontrak pintar yang lebih aman {#how-to-write-more-secure-smart-contract-code} +## Pedoman untuk membuat kontrak pintar Ethereum yang aman {#smart-contract-security-guidelines} -Sebelum meluncurkan kode apa pun ke Jaringan Utama, penting untuk mengambil langkah pencegahan yang memadai untuk melindungi segala sesuatu yang bernilai yang dipercayakan oleh kontrak pintar Anda. Dalam artikel ini, kita akan membahas tentang beberapa serangan spesifik, menyediakan sumber daya untuk mempelajari selengkapnya tentang jenis serangan, dan memberi Anda beberapa peralatan dasar dan praktik terbaik untuk memastikan kontrak Anda berfungsi dengan benar dan dengan aman. +### 1. Merancang kontrol akses yang tepat {#design-proper-access-controls} -## Audit bukan sebuah solusi ampuh {#audits-are-not-a-silver-bullet} +Di dalam kontrak pintar, fungsi yang ditandai sebagai `public` atau `external` dapat dipanggil oleh setiap akun milik eksternal atau externally owned account (EOA) atau akun kontrak. Menetapkan visibilitas publik untuk fungsi dibutuhkan jika Anda ingin orang lain dapat berinteraksi dengan kontrak Anda. Akan tetapi, fungsi yang ditandai sebagai `private` hanya dapat dipanggil oleh fungsi di dalam kontrak pintar, dan tidak bisa dipanggil oleh akun eksternal. Memberikan akses ke fungsi kontrak kepada setiap peserta di jaringan dapat menimbulkan masalah, terutama jika mengakibatkan setiap orang dapat melakukan operasi yang sensitif (misalnya, mencetak token baru). -Beberapa tahun sebelumnya, peralatan untuk menulis, mengompilasi, menguji, dan menggunakan kontrak pintar sangat belum matang, mengakibatkan banyak proyek menulis kode Solidity dengan cara yang berantakan, menghalangi auditor yang akan melakukan investigasi kode guna memastikannya berfungsi dengan aman dan sesuai harapan. Pada tahun 2020, proses pengembangan dan peralatan yang mendukung penulisan Solidity jauh lebih baik; memanfaatkan praktik terbaik ini tidak hanya memastikan proyek Anda lebih mudah dikelola, tapi juga merupakan bagian vital dari keamanan proyek Anda. Sebuat proses audit pada akhir penulisan kontrak pintar Anda tidak lagi cukup sebagai satu-satunya pertimbangan keamanan yang bisa dibuat dalam proyek Anda. Keamanan dimulai sebelum Anda menulis baris pertama dari kode kontrak pintar Anda, **keamanan dimulai dengan desain dan proses pengembangan yang baik**. +Untuk mencegah penggunaan fungsi kontrak pintar yang tidak sah, perlu diterapkan kontrol akses yang aman. Mekanisme kontrol akses membatasi kemampuan penggunaan beberapa fungsi tertentu pada kontrak pintar untuk entitas yang disetujui, seperti akun yang bertanggung jawab untuk mengelola kontrak. **Pola Ownable** dan **kontrol berbasis peran** adalah dua pola yang bermanfaat untuk menerapkan kontrol akses di kontrak pintar: -## Proses pengembangan kontrak pintar {#smart-contract-development-process} +#### Pola Ownable atau dapat dimiliki {#ownable-pattern} -Paling sedikit: +Dalam pola Ownable atau dapat dimiliki, satu alamat ditetapkan sebagai "pemilik" kontrak selama proses pembuatan kontrak. Fungsi yang dilindungi diberikan pengubah `OnlyOwner`, yang memastikan agar kontrak melakukan autentikasi terhadap identitas alamat pemanggil sebelum menjalankan fungsi tersebut. Panggilan ke fungsi terlindung dari alamat lain, selain pemilik kontrak, akan selalu dikembalikan guna mencegah akses yang tidak diinginkan. -- Semua kode disimpan dalam sistem kontrol versi, seperti git -- Semua modifikasi kode dibuat lewat Tarik Permintaan -- Semua Tarik Permintaan harus memiliki setidaknya satu pengulas. _Jika proyek Anda bersifat tunggal, pertimbangkanlah untuk mencari penulis tunggal lainnya dan saling bertukar ulasan!_ -- Satu perintah mengompilasikan, menggunakan, dan menjalankan serangkaian pengujian terhadap kode Anda menggunakan lingkungan Ethereum pengembangan (Lihat: Truffle) -- Anda harus menjalankan kode Anda melalui peralatan analisis kode dasar seperti Mythril dan Slither, secara ideal sebelum tiap tarik permintaan digabungkan, yang membandingkan perbedaan output -- Solidity tidak menampilkan peringatan pengompilasi APA PUN -- Kode Anda terdokumentasi dengan baik +#### Kontrol akses berbasis peran {#role-based-access-control} -Masih ada banyak hal yang harus dibahas terkait proses pengembangan, tapi item-item ini adalah tempat yang bagus untuk memulai. Untuk item dan penjelasan mendetail selengkapnya, lihat [daftar periksa kualitas proses yang disediakan oleh DeFiSafety](https://docs.defisafety.com/review-process-documentation/process-quality-audit-process). [DefiSafety](https://defisafety.com/) adalah layanan publik tidak resmi yang menerbitkan ulasan atas berbagai dApp Ethereum publik yang besar. Bagian dari sistem rating DeFiSafety meliputi seberapa baik proyek mematuhi daftar periksa kualitas proses ini. Dengan mengikuti proses ini: +Mendaftarkan satu alamat tunggal sebagai `Owner` di kontrak pintar menimbulkan risiko sentralisasi dan berpotensi menjadi titik kegagalan tunggal. Jika kunci akun pemilik berhasil dikuasai, penyerang dapat menyerang kontrak yang dimilikinya. Inilah alasan penggunaan pola kontrol akses yang berbasis peran dengan beberapa akun administratif dapat menjadi pilihan yang lebih baik. -- Anda akan menghasilkan kode yang lebih aman, melalui pengujian otomatis yang dapat dibuat kembali -- Auditor akan dapat mengulas proyek Anda dengan lebih efektif -- Orientasi yang lebih mudah bagi pengembang baru -- Memungkinkan pengembang untuk dengan cepat mengulangi, menguji, dan mendapat masukan tentang modifikasi -- Proyek Anda lebih jarang mengalami regresi +Dalam kontrol akses berbasis peran, akses ke fungsi yang sensitif didistribusikan di antara sekelompok peserta yang tepercaya. Misalnya, satu akun mungkin bertanggung jawab untuk pencetakan token, sementara akun yang lain melakukan peningkatan atau menjeda kontrak. Desentralisasi kontrol akses dengan cara ini menghilangkan titik kegagalan tunggal dan mengurangi asumsi kepercayaan bagi pengguna. -## Serangan dan kerentanan {#attacks-and-vulnerabilities} +##### Menggunakan dompet multi-tanda tangan -Karena sekarang Anda akan menulis kode Solidity menggunakan proses pengembangan yang efisien, mari lihat beberapa kerentanan umum Solidity untuk mengetahui apa yang salah. +Pendekatan lain untuk menerapkan kontrol akses yang aman adalah dengan menggunakan [akun multi-tanda tangan](/developers/docs/smart-contracts/#multisig) untuk mengelola kontrak. Tidak seperti EOA biasa, akun multi-tanda tangan dimiliki oleh beberapa entitas dan membutuhkan tanda tangan dari beberapa akun dengan jumlah minimum—misalkan 3 dari 5—untuk menjalankan transaksi. -### Re-entrancy {#re-entrancy} +Menggunakan multisig untuk kontrol akses menimbulkan lapisan keamanan tambahan karena tindakan pada kontrak target memerlukan persetujuan dari banyak pihak. Hal ini terutama sangat berguna apabila dibutuhkan penggunaan pola Ownable atau dapat dimiliki, karena pola ini mempersulit penyerang atau orang jahat di internal dalam memanipulasi fungsi kontrak yang sensitif untuk tujuan jahat. -Re-entrancy adalah salah satu dari masalah keamanan yang paling besar dan paling penting untuk dipertimbangkan saat mengembangkan Kontrak Pintar. Meskipun EVM tidak bisa menjalankan beberapa kontrak pada saat bersamaan, sebuah kontrak yang memanggil kontrak lainnya membuat jeda pada eksekusi pemanggilan kontrak dan state memori sampai pemanggilan kembali, di mana dalam proses ini, eksekusi berjalan secara normal. Menjeda dan memulai kembali ini bisa menciptakan kerentanan yang dikenal sebagai "re-entrancy". +### 2. Gunakan pernyataan require(), assert(), dan revert() untuk melindungi operasi kontrak {#use-require-assert-revert} -Ini adalah versi sederhana dari sebuah kontrak yang rentan terhadap re-entrancy: +Sebagaimana disebutkan, fungsi publik dalam kontrak pintar Anda dapat dipanggil oleh siapa saja setelah disebarkan di Rantai Blok. Karena Anda tidak dapat mengetahui sebelumnya tentang cara akun eksternal berinteraksi dengan kontrak, hal yang ideal adalah menerapkan perlindungan internal terhadap operasi yang bermasalah sebelum penyebaran. Anda dapat menerapkan perilaku yang tepat di kontrak pintar dengan menggunakan pernyataan `require()`, `assert()`, dan `revert()` untuk memicu pengecualian dan mengembalikan perubahan keadaan apabila eksekusi gagal memenuhi persyaratan tertentu. -```solidity -// KONTRAK INI SENGAJA DIBUAT MEMILIKI KERENTANAN, JANGAN DISALIN -contract Victim { - mapping (address => uint256) public balances; +**`require()`**: `require` didefinisikan pada awal fungsi dan memastikan kondisi pradefinisi terpenuhi sebelum fungsi yang dipanggil dijalankan. Pernyataan `require` dapat digunakan untuk memvalidasi input pengguna, memeriksa variabel keadaan, atau melakukan autentikasi identitas akun pemanggil sebelum melanjutkan dengan fungsi. - function deposit() external payable { - balances[msg.sender] += msg.value; +**`assert()`**: `assert()` digunakan untuk mendeteksi kesalahan internal dan memeriksa pelanggaran "invarian" dalam kode Anda. Invarian adalah penegasan logis tentang keadaan kontrak yang harus tetap benar untuk semua eksekusi fungsi. Contoh invarian adalah total pasokan atau saldo maksimum dari kontrak token. Penggunaan `assert()` memastikan bahwa kontrak Anda tidak pernah mencapai keadaan rentan, dan jika keadaan tersebut terjadi, semua perubahan pada variabel keadaan akan digulung balik ke keadaan sebelumnya. + +**`revert()`**: `revert()` dapat digunakan dalam pernyataan if-else yang memicu pengecualian apabila kondisi yang dibutuhkan tidak terpenuhi. Contoh kontrak di bawah ini menggunakan `revert()` untuk menjaga eksekusi fungsi: + +``` +pragma solidity ^0.8.4; + +contract VendingMachine { + address owner; + error Unauthorized(); + function buy(uint amount) public payable { + if (amount > msg.value / 2 ether) + revert("Not enough Ether provided."); + // Perform the purchase. } + function withdraw() public { + if (msg.sender != owner) + revert Unauthorized(); - function withdraw() external { - uint256 amount = balances[msg.sender]; - (bool success, ) = msg.sender.call.value(amount)(""); - require(success); - balances[msg.sender] = 0; + payable(msg.sender).transfer(address(this).balance); } } ``` -Untuk memungkinkan seorang pengguna menarik ETH yang telah disimpan sebelumnya pada kontrak, fungsi ini +### 3. Menguji kontrak pintar dan memverifikasi ketepatan kode {#test-smart-contracts-and-verify-code-correctness} + +Sifat permanen pada kode yang dijalankan di [Mesin Virtual Ethereum](/developers/docs/evm/) menyebabkan kontrak pintar membutuhkan tingkat penilaian kualitas yang lebih tinggi selama fase pengembangan. Pengujian kontrak secara ekstensif dan pemantauannya untuk menghindari hasil yang tidak diharapkan akan sangat meningkatkan keamanan dan melindungi pengguna Anda dalam jangka panjang. + +Metode yang umum adalah menulis uji unit yang kecil dengan menggunakan data palsu yang biasanya diterima oleh kontrak dari pengguna. [Pengujian unit](/developers/docs/smart-contracts/testing/#unit-testing) berguna untuk menguji fungsionalitas fungsi tertentu dan memastikan kontrak pintar berfungsi sesuai harapan. + +Sayangnya, pengujian unit hampir tidak efektif untuk meningkatkan keamanan kontrak pintar apabila digunakan secara terisolasi. Pengujian unit dapat membuktikan berjalan baiknya suatu fungsi dengan data palsu, tetapi efektivitas uji unit ini hanya seefektif uji yang ditulis. Hal ini menyulitkan pendeteksian kasus khusus yang tidak diuji dan kerentanan yang dapat merusak keamanan kontrak pintar Anda. + +Cara yang lebih baik adalah menggabungkan pengujian unit dengan pengujian berbasis properti yang dilakukan dengan menggunakan [analisis statis dan dinamis](/developers/docs/smart-contracts/testing/#static-dynamic-analysis). Analisis statis mengandalkan representasi tingkat rendah, seperti [grafik aliran kontrol](https://en.wikipedia.org/wiki/Control-flow_graph) dan [pohon sintaksis abstrak](https://deepsource.io/glossary/ast/), untuk menganalisis keadaan program yang dapat dicapai dan jalur eksekusi. Sementara itu, teknik analisis dinamis, seperti fuzzing, menjalankan kode kontrak dengan nilai input acak untuk mendeteksi operasi yang melanggar properti keamanan. + +[Verifikasi formal](/developers/docs/smart-contracts/formal-verification) adalah teknik lain untuk memverifikasi properti keamanan di kontrak pintar. Berbeda dengan pengujian rutin, verifikasi formal dapat membuktikan dengan pasti tidak adanya kesalahan di kontrak pintar. Hal ini dicapai dengan membuat spesifikasi formal yang mencakup properti keamanan yang diinginkan dan membuktikan bahwa model formal dari kontrak mematuhi spesifikasi ini. + +### 4. Meminta peninjauan kode Anda secara independen {#get-independent-code-reviews} + +Setelah menguji kontrak Anda, ada baiknya meminta seseorang untuk memeriksa kode sumbernya untuk mendeteksi setiap masalah keamanan. Pengujian tidak akan mengungkap setiap kekurangan di kontrak pintar, tetapi mendapatkan tinjauan independen akan meningkatkan kemungkinan penemuan kerentanan. + +#### Audit {#audits} + +Melakukan uji coba audit kontrak pintar adalah satu cara untuk melakukan tinjauan kode secara independen. Pihak auditor berperan penting dalam memastikan bahwa kontrak pintar aman dan bebas dari cacat kualitas serta kesalahan desain. + +Meskipun demikian, jangan menganggap audit sebagai solusi ajaib untuk semua masalah. Audit kontrak pintar tidak akan menemukan setiap bug dan sebagian besar audit dirancang untuk memberikan babak tinjauan tambahan, yang dapat membantu mendeteksi masalah yang terlewatkan oleh pengembang selama pengembangan awal dan pengujian. Sebaiknya Anda juga mengikuti [praktik terbaik dalam bekerja sama dengan auditor](https://twitter.com/tinchoabbate/status/1400170232904400897), seperti mendokumentasikan kode dengan benar dan menambahkan komentar dalam kode, guna memaksimalkan manfaat audit kontrak pintar. + +#### Hadiah bounty bug {#bug-bounties} + +Menyiapkan program hadiah bounty bug adalah cara lain untuk melaksanakan tinjauan kode secara eksternal. Hadiah bounty bug adalah imbalan finansial yang diberikan kepada para individu (biasanya peretas topi putih) yang menemukan kerentanan dalam aplikasi. + +Apabila digunakan dengan tepat, hadiah bounty bug dapat memberikan insentif kepada komunitas peretas untuk memeriksa kode Anda guna menemukan kekurangan yang kritis. Contoh yang nyata adalah "infinite money bug" yang memungkinkan penyerang menciptakan Ether dalam jumlah tak terhingga pada [Optimism](https://www.optimism.io/), yaitu protokol [Lapisan ke-2](/layer-2/) yang berjalan di Ethereum. Untungnya, seorang peretas topi putih [menemukan kekurangan tersebut](https://www.saurik.com/optimism.html) dan memberi tahu timnya, [sekaligus memperoleh imbalan besar dalam proses tersebut](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/). + +Strategi yang bermanfaat adalah menetapkan pembayaran program hadiah bounty bug secara proporsional dengan jumlah uang yang mengalami risiko. Disebut sebagai "[penskalaan hadiah bounty bug](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7)", cara ini memberikan insentif finansial bagi individu untuk mengungkapkan kerentanan secara bertanggung jawab dan bukan malah mengeksploitasinya. + +### 5. Patuhi praktik terbaik selama pengembangan kontrak pintar {#follow-smart-contract-development-best-practices} + +Keberadaan audit dan hadiah bounty bug bukan alasan untuk menghindari tanggung jawab penulisan kode program yang berkualitas tinggi. Keamanan kontrak pintar yang baik dimulai dengan mengikuti proses desain dan pengembangan yang tepat: + +- Simpan semua kode dalam sistem kontrol versi, seperti git + +- Atur semua modifikasi kode melalui permintaan penarikan + +- Pastikan permintaan penarikan memiliki setidaknya satu peninjau independen. Jika Anda bekerja solo di suatu proyek, pertimbangkan untuk mencari pengembang lain dan bertukar tinjauan kode + +- Gunakan [lingkungan pengembangan](/developers/docs/frameworks/) untuk pengujian, kompilasi, dan penyebaran kontrak pintar + +- Jalankan kode Anda melalui alat analisis kode dasar, seperti Mythril dan Slither. Idealnya, hal ini harus dilakukan sebelum digabungkannya setiap permintaan penarikan, lalu bandingkan perbedaannya pada output + +- Pastikan kode Anda dikompilasi tanpa kesalahan, dan alat kompilasi Solidity tidak mengeluarkan peringatan + +- Dokumentasikan kode Anda dengan baik (menggunakan [NatSpec](https://solidity.readthedocs.io/en/develop/natspec-format.html)) dan jelaskan detail tentang arsitektur kontrak dengan bahasa yang mudah dipahami. Hal ini akan memudahkan orang lain yang akan mengaudit dan meninjau kode Anda. + +### 6. Terapkan rencana pemulihan bencana yang andal {#implement-disaster-recovery-plans} + +Merancang kontrol akses yang aman, menerapkan pengubah fungsi, dan saran-saran lainnya dapat meningkatkan keamanan kontrak pintar, tetapi hal-hal tersebut tidak dapat menghilangkan kemungkinan eksploit yang jahat. Membuat kontrak pintar yang aman membutuhkan "persiapan kegagalan" dan rencana cadangan perlu dimiliki untuk merespons serangan secara efektif. Rencana pemulihan bencana yang tepat akan menggabungkan beberapa atau semua komponen berikut ini: + +#### Peningkatan kontrak {#contract-upgrades} + +Meskipun kontrak pintar Ethereum secara default bersifat permanen, tetapi dimungkinkan untuk melakukan perubahan terbatas dengan menggunakan pola peningkatan. Peningkatan kontrak diperlukan dalam kasus ketika cacat kritis menyebabkan kontrak lama menjadi tidak dapat digunakan dan pilihan paling layak adalah menyebarkan logika baru. -1. Membaca jumlah saldo yang dimiliki pengguna -2. Mengirimkan kepada pengguna jumlah saldo dalam ETH -3. Mengatur ulang saldo pengguna ke 0, sehingga mereka tidak bisa menarik saldo mereka lagi. +Mekanisme peningkatan kontrak berfungsi dengan cara berbeda, tetapi "pola proksi" adalah salah satu cara yang lebih populer untuk meningkatkan kontrak pintar. Pola proksi memisahkan keadaan dan logika aplikasi menjadi _dua_ kontrak. Kontrak pertama (disebut 'kontrak proksi') menyimpan variabel keadaan (misalnya, saldo pengguna), sedangkan kontrak kedua (yang disebut 'kontrak logika') menyimpan kode untuk menjalankan fungsi kontrak. -Jika dipanggil dari akun reguler (seperti akun MetaMask milik Anda), ini berfungsi sebagaimana mestinya: msg.sender.call.value(), mengirimkan ETH ke akun Anda. Akan tetapi, kontrak pintar juga bisa membuat pemanggilan. Jika kontrak kustom yang jahat adalah kontrak yang memanggil `withdraw()`, msg.sender.call.value() tidak hanya akan mengirim `amount` ETH, tetapi secara implisit juga akan memanggil kontrak untuk memulai eksekusi kode. Bayangkan kontrak jahat ini: +Akun berinteraksi dengan kontrak proksi, yang mengirimkan semua panggilan fungsi ke kontrak logika dengan menggunakan panggilan tingkat rendah [`delegatecall()`](https://docs.soliditylang.org/en/v0.8.16/introduction-to-smart-contracts.html?highlight=delegatecall#delegatecall-callcode-and-libraries). Berbeda dengan pemanggilan message biasa, `delegatecall()` memastikan bahwa kode yang berjalan pada alamat kontrak logika akan dijalankan dalam konteks kontrak yang memanggil. Hal ini berarti bahwa kontrak logika akan selalu menulis ke penyimpanan kontrak proksi (bukan ke penyimpanannya sendiri) dan nilai asli dari `msg.sender` dan `msg.value` akan dipertahankan. + +Mendelegasikan panggilan ke kontrak logika membutuhkan penyimpanan alamatnya di penyimpanan kontrak proksi. Oleh sebab itu, peningkatan logika kontrak hanyalah masalah penyebaran kontrak logika yang lain dan menyimpan alamat baru di kontrak proksi. Karena panggilan berikutnya ke kontrak proksi secara otomatis dirutekan ke kontrak logika yang baru, Anda akan "meningkatkan" kontrak tanpa benar-benar mengubah kode. + +[Selengkapnya tentang peningkatan kontrak](/developers/docs/smart-contracts/upgrading/). + +#### Penghentian darurat {#emergency-stops} + +Seperti yang telah disebutkan, audit dan pengujian yang ekstensif tidak akan dapat menemukan semua bug dalam kontrak pintar. Jika kerentanan muncul dalam kode Anda setelah penyebaran, upaya menambalnya tidak mungkin dilakukan karena Anda tidak dapat mengubah kode yang berjalan di akun kontrak. Selain itu, mekanisme peningkatan (misalnya, pola proksi) dapat memakan waktu untuk diterapkan (sering kali membutuhkan persetujuan dari berbagai pihak), yang hanya memberikan lebih banyak waktu bagi penyerang untuk menimbulkan kerusakan lain. + +Opsi nuklir adalah menerapkan fungsi "penghentian darurat" yang akan memblokir panggilan ke fungsi-fungsi yang rentan dalam kontrak. Penghentian darurat biasanya terdiri dari beberapa komponen berikut ini: + +1. Variabel Boolean global yang menunjukkan apakah kontrak pintar dalam keadaan berhenti atau tidak. Variabel ini ditetapkan sebagai `false` saat penyiapan kontrak, tetapi akan kembali ke `true` setelah kontrak dihentikan. + +2. Fungsi yang mereferensikan variabel Boolean ketika dijalankan. Fungsi-fungsi tersebut dapat diakses ketika kontrak pintar tidak dihentikan, dan menjadi tidak bisa diakses ketika fitur penghentian darurat dipicu. + +3. Entitas yang memiliki akses ke fungsi penghentian darurat, yang menetapkan variabel Boolean ke nilai `true`. Untuk mencegah tindakan jahat, panggilan ke fungsi ini dapat dibatasi hanya untuk alamat tepercaya (misalnya, pemilik kontrak). + +Setelah kontrak mengaktifkan penghentian darurat, fungsi tertentu tidak akan dapat dipanggil. Hal ini dicapai dengan memasukkan beberapa fungsi tertentu ke dalam pengubah yang mengacu ke variabel global. Berikut [contoh](https://github.com/fravoll/solidity-patterns/blob/master/EmergencyStop/EmergencyStop.sol) yang menggambarkan pelaksanaan pola ini dalam kontrak: ```solidity -contract Attacker { - function beginAttack() external payable { - Victim(VICTIM_ADDRESS).deposit.value(1 ether)(); - Victim(VICTIM_ADDRESS).withdraw(); +// This code has not been professionally audited and makes no promises about safety or correctness. Use at your own risk. + +contract EmergencyStop { + + bool isStopped = false; + + modifier stoppedInEmergency { + require(!isStopped); + _; } - function() external payable { - if (gasleft() > 40000) { - Victim(VICTIM_ADDRESS).withdraw(); - } + modifier onlyWhenStopped { + require(isStopped); + _; + } + + modifier onlyAuthorized { + // Check for authorization of msg.sender here + _; + } + + function stopContract() public onlyAuthorized { + isStopped = true; + } + + function resumeContract() public onlyAuthorized { + isStopped = false; + } + + function deposit() public payable stoppedInEmergency { + // Deposit logic happening here + } + + function emergencyWithdraw() public onlyWhenStopped { + // Emergency withdraw happening here } } ``` -Memanggil Attacker.beginAttack() akan memulai satu siklus yang terlihat seperti ini: +Contoh ini menunjukkan fitur dasar penghentian darurat: -``` -0.) Attacker's EOA calls Attacker.beginAttack() with 1 ETH -0.) Attacker.beginAttack() deposits 1 ETH into Victim - - 1.) Attacker -> Victim.withdraw() - 1.) Victim reads balances[msg.sender] - 1.) Victim sends ETH to Attacker (which executes default function) - 2.) Attacker -> Victim.withdraw() - 2.) Victim reads balances[msg.sender] - 2.) Victim sends ETH to Attacker (which executes default function) - 3.) Attacker -> Victim.withdraw() - 3.) Victim reads balances[msg.sender] - 3.) Victim sends ETH to Attacker (which executes default function) - 4.) Attacker no longer has enough gas, returns without calling again - 3.) balances[msg.sender] = 0; - 2.) balances[msg.sender] = 0; (it was already 0) - 1.) balances[msg.sender] = 0; (it was already 0) -``` +- `isStopped` adalah Boolean yang dinilai menjadi `false` saat awal dan menjadi `true` ketika kontrak memasuki mode darurat. -Memanggil Attacker.beginAttack dengan 1 ETH akan menyerang Korban secara re-entrancy, yang menarik lebih banyak ETH dari yang disediakan (diambil dari saldo pengguna lain, menyebabkan kontrak Korban menjadi di bawah penjaminan) +- Pengubah fungsi `onlyWhenStopped` dan `stoppedInEmergency` memeriksa variabel `isStopped`. `stoppedInEmergency` digunakan untuk mengontrol fungsi-fungsi yang seharusnya tidak dapat diakses ketika kontrak mengalami kerentanan (misalnya, `deposit()`). Panggilan ke berbagai fungsi ini akan langsung dibatalkan. -### Bagaimana mengatasi re-entrancy (cara yang salah) {#how-to-deal-with-re-entrancy-the-wrong-way} +`onlyWhenStopped` digunakan untuk fungsi-fungsi yang seharusnya dapat dipanggil selama keadaan darurat (misalnya, `emergencyWithdraw()`). Fungsi-fungsi tersebut dapat membantu mengatasi situasi sehingga dikecualikan dari daftar "fungsi terbatas". -Seseorang mungkin menganggap mengalahkan re-entrancy cukup dengan mencegah kontrak pintar apa pun berinteraksi dengan kode Anda. Anda mencari tumpukan yang meluap, Anda menemukan potongan kode ini dengan banyak suara positif: +Penggunaan fungsionalitas penghentian darurat memberikan tindakan sementara yang efektif untuk menangani kerentanan serius pada kontrak pintar Anda. Namun, fungsi ini membutuhkan kepercayaan lebih besar dari pengguna terhadap pengembang agar tidak mengaktifkan fungsi ini untuk kepentingannya sendiri. Untuk tujuan ini, solusi yang mungkin adalah desentralisasi kontrol penghentian darurat dengan cara memberlakukan mekanisme voting di dalam rantai, timelock, atau persetujuan dari dompet multisig. -```solidity -function isContract(address addr) internal returns (bool) { - uint size; - assembly { size := extcodesize(addr) } - return size > 0; -} -``` +#### Pemantauan aksi {#event-monitoring} + +[Aksi](https://docs.soliditylang.org/en/v0.8.15/contracts.html#events) memungkinkan Anda melacak panggilan ke fungsi kontrak pintar dan memantau perubahan pada variabel keadaan. Idealnya, kontrak pintar Anda diprogram untuk mengeluarkan aksi setiap kali ada pihak yang melakukan tindakan yang kritis dari segi keamanan (misalnya, menarik dana). + +Pembuatan log untuk aksi dan pemantauannya di luar rantai memberikan wawasan tentang operasi kontrak dan membantu mempercepat pengungkapan tindakan jahat. Hal ini berarti tim Anda dapat merespons lebih cepat terhadap peretasan dan melakukan tindakan untuk mengurangi dampaknya terhadap pengguna, seperti menjeda fungsi atau melakukan peningkatan. + +Anda juga dapat memilih alat pemantauan yang dijual bebas yang secara otomatis mengirimkan peringatan setiap kali seseorang berinteraksi dengan kontrak Anda. Dengan berbagai alat ini, Anda dapat membuat peringatan khusus berdasarkan berbagai pemicu, seperti volume transaksi, frekuensi panggilan fungsi, atau fungsi tertentu yang terlibat. Misalnya, Anda dapat memprogram peringatan yang muncul ketika jumlah penarikan dalam satu transaksi melewati ambang batas tertentu. + +### 7. Merancang sistem tata kelola yang aman {#design-secure-governance-systems} + +Anda mungkin ingin mendesentralisasi aplikasi Anda dengan menyerahkan kontrol atas kontrak pintar inti ke anggota komunitas. Dalam hal ini, sistem kontrak pintar akan mencakup modul tata kelola—mekanisme yang memungkinkan anggota komunitas menyetujui tindakan administratif melalui sistem tata kelola di dalam rantai. Misalnya, proposal peningkatan kontrak proksi menjadi implementasi baru dapat dipilih oleh para pemegang token. + +Tata kelola terdesentralisasi dapat bermanfaat, terutama karena sejalan dengan kepentingan pengembang dan pengguna akhir. Namun demikian, mekanisme tata kelola kontrak pintar dapat menimbulkan risiko baru jika penerapannya tidak tepat. Skenario yang dapat terjadi adalah jika penyerang memperoleh kekuatan suara yang sangat besar (diukur dalam jumlah token yang dipegang) dengan mengambil [flash loan](/defi/#flash-loans) (pinjaman kilat) dan berhasil masuk melalui proposal jahat. + +Salah satu cara untuk mencegah masalah terkait tata kelola di dalam rantai adalah dengan [menggunakan timelock (penguncian waktu)](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/). Timelock (penguncian waktu) mencegah kontrak pintar menjalankan tindakan tertentu hingga berlalunya jangka waktu tertentu. Strategi lain termasuk menetapkan "bobot suara" pada setiap token berdasarkan lamanya token tersebut terkunci, atau mengukur kekuatan suara dari alamat pada periode sebelumnya (misalnya, 2-3 blok sebelumnya) sebagai pengganti blok saat ini. Kedua metode tersebut mengurangi kemungkinan terkumpulnya suara dengan cepat untuk mempengaruhi suara di dalam rantai. + +Selengkapnya tentang [merancang sistem tata kelola yang aman](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/) dan [berbagai mekanisme pemungutan suara dalam DAO](https://hackernoon.com/governance-is-the-holy-grail-for-daos). + +### 8. Mengurangi kompleksitas dalam kode menjadi sesedikit mungkin {#reduce-code-complexity} + +Pengembang perangkat lunak tradisional akrab dengan prinsip KISS ("usahakan tetap sederhana"), yang menyarankan agar tidak memasukkan kompleksitas yang tidak perlu ke dalam desain perangkat lunak. Hal ini mengikuti pemikiran lama bahwa "sistem kompleks akan gagal dengan cara yang kompleks" dan menjadi lebih rentan terhadap kesalahan yang sangat merugikan. -Tampak masuk akal: kontrak memiliki kode, jika pemanggil memiliki kode apa pun, jangan membiarkannya melakukan deposito. Mari tambahkan ini: +Menjaga kesederhanaan terutama penting saat menulis kontrak pintar, mengingat bahwa kontrak pintar berpotensi mengontrol jumlah nilai yang besar. Tips untuk mencapai kesederhanaan saat menulis kontrak pintar adalah dengan menggunaan kembali pustaka-pustaka yang sudah ada, seperti [Kontrak OpenZeppelin](https://docs.openzeppelin.com/contracts/4.x/), jika memungkinkan. Karena berbagai pustaka ini telah melalui audit dan pengujian yang ekstensif oleh para pengembang, penggunaan pustaka ini mengurangi kemungkinan munculnya bug dibandingkan dengan menulis fungsionalitas baru dari awal. + +Saran umum lainnya adalah menulis fungsi yang kecil dan menjaga kontrak tetap modular dengan membagi logika bisnis ke dalam beberapa kontrak. Penulisan kode yang lebih sederhana tidak hanya mengurangi permukaan serangan pada kontrak pintar, tetapi juga mempermudah pemahaman tentang ketepatan sistem secara keseluruhan dan mendeteksi kemungkinan kesalahan desain sejak awal. + +### 9. Mencegah kerentanan umum kontrak pintar {#mitigate-common-smart-contract-vulnerabilities} + +#### Reentrancy (masuk kembali) {#reentrancy} + +EVM tidak mengizinkan konkurensi, yang berarti dua kontrak yang terlibat dalam pemanggilan message tidak dapat berjalan serentak. Panggilan eksternal akan menjeda eksekusi dan memori kontrak pemanggil hingga panggilan tersebut kembali, pada saat itu eksekusi berlanjut dengan normal. Proses ini dapat dideskripsikan secara resmi sebagai mentransfer [alur kontrol](https://www.computerhope.com/jargon/c/contflow.htm) ke kontrak lain. + +Meski kebanyakan aman, mentransfer alur kontrol ke kontrak yang tidak tepercaya dapat menyebabkan masalah, seperti reentrancy (masuk kembali). Serangan reentrancy (masuk kembali) terjadi ketika kontrak jahat memanggil balik ke kontrak yang rentan sebelum pemanggilan fungsi yang asli selesai. Penjelasan terbaik untuk jenis serangan ini adalah dengan contoh. + +Misalkan ada kontrak pintar sederhana ('Korban') yang memungkinkan penyetoran dan penarikan Ether bagi siapa saja: ```solidity -// KONTRAK INI SENGAJA DIBUAT MEMILIKI KERENTANAN, JANGAN DISALIN -contract ContractCheckVictim { - mapping (address => uint256) public balances; +// This contract is vulnerable. Do not use in production - function isContract(address addr) internal returns (bool) { - uint size; - assembly { size := extcodesize(addr) } - return size > 0; - } +contract Victim { + mapping (address => uint256) public balances; function deposit() external payable { - require(!isContract(msg.sender)); // <- NEW LINE balances[msg.sender] += msg.value; } @@ -155,39 +253,61 @@ contract ContractCheckVictim { } ``` -Sekarang, untuk mendepositokan ETH, Anda tidak boleh memiliki kode kontrak pintar di alamat Anda. Akan tetapi, ini bisa dengan mudah dikalahkan dengan kontrak Penyerang berikut ini: +Kontrak ini mengekspos fungsi `withdraw()` agar pengguna dapat menarik kembali ETH yang sebelumnya disimpan di dalam kontrak. Saat memproses penarikan dana, kontrak melakukan operasi berikut: -```solidity -contract ContractCheckAttacker { - constructor() public payable { - ContractCheckVictim(VICTIM_ADDRESS).deposit(1 ether); // <- New line - } +1. Memeriksa saldo ETH pengguna +2. Mengirim dana ke alamat yang memanggil +3. Mengatur ulang saldonya menjadi 0, sehingga mencegah penarikan tambahan dari pengguna + +Fungsi `withdraw()` di kontrak `Victim` mengikuti pola "periksa-interaksi-efek". Fungsi ini _memeriksa_ apakah kondisi yang diperlukan untuk eksekusi terpenuhi (yaitu, pengguna memiliki saldo ETH positif) dan melakukan _interaksi_ dengan mengirim ETH ke alamat pemanggil, sebelum menerapkan _efek_ transaksi (yaitu, mengurangi saldo pengguna). + +Jika `withdraw()` dipanggil dari akun milik eksternal (EOA), fungsi tersebut akan dijalankan sebagaimana diharapkan: `msg.sender.call.value()` mengirim ETH ke pemanggil. Namun, jika `msg.sender` adalah akun kontrak pintar yang memanggil `withdraw()`, pengiriman dana dengan menggunakan `msg.sender.call.value()` juga akan memicu berjalannya kode yang disimpan di alamat tersebut. +Bayangkan ini sebagai kode yang disebarkan di akun kontrak: + +```solidity + contract Attacker { function beginAttack() external payable { - ContractCheckVictim(VICTIM_ADDRESS).withdraw(); + Victim(victim_address).deposit.value(1 ether)(); + Victim(victim_address).withdraw(); } function() external payable { if (gasleft() > 40000) { - Victim(VICTIM_ADDRESS).withdraw(); + Victim(victim_address).withdraw(); } - } + } } ``` -Sementara serangan pertama adalah serangan pada logika kontrak, ini adalah serangan pada perilaku penggunaan kontrak Ethereum. Dalam pembuatannya, kontrak belum mengembalikan kodenya untuk digunakan pada alamatnya, tapi mempertahankan kontrol penuh EVM SELAMA proses ini. +Kontrak ini dirancang untuk melakukan tiga hal: + +1. Menerima setoran dari akun lain (dengan kemungkinan akun EOA penyerang) +2. Setor 1 ETH ke kontrak Korban +3. Menarik 1 ETH yang tersimpan di kontrak pintar -Secara teknis, hal ini dimungkinkan untuk mencegah kontrak pintar memanggil kode Anda, menggunakan baris ini: +Tidak ada yang salah di sini, kecuali bahwa `Attacker` memiliki fungsi lain yang memanggil kembali fungsi `withdraw()` di `Victim` jika gas yang tersisa dari `msg.sender.call.value` yang masuk lebih dari 40.000. Hal ini memberi `Attacker` kemampuan untuk masuk kembali ke `Victim` dan menarik lebih banyak dana _sebelum_ selesainya pemanggilan `withdraw` yang pertama. Siklusnya terlihat seperti ini: ```solidity -require(tx.origin == msg.sender) +- Attacker's EOA calls `Attacker.beginAttack()` with 1 ETH +- `Attacker.beginAttack()` deposits 1 ETH into `Victim` +- `Attacker` calls `withdraw() in `Victim` +- `Victim` checks `Attacker`’s balance (1 ETH) +- `Victim` sends 1 ETH to `Attacker` (which triggers the default function) +- `Attacker` calls `Victim.withdraw()` again (note that `Victim` hasn’t reduced `Attacker`’s balance from the first withdrawal) +- `Victim` checks `Attacker`’s balance (which is still 1 ETH because it hasn’t applied the effects of the first call) +- `Victim` sends 1 ETH to `Attacker` (which triggers the default function and allows `Attacker` to reenter the `withdraw` function) +- The process repeats until `Attacker` runs out of gas, at which point `msg.sender.call.value` returns without triggering additional withdrawals +- `Victim` finally applies the results of the first transaction (and subsequent ones) to its state, so `Attacker`’s balance is set to 0 ``` -Namun, ini tetap bukanlah solusi yang bagus. Satu dari aspek paling menyenangkan dari Ethereum adalah komposabilitasnya, kontrak pintar saling terintegrasi dan membangun satu sama lain. Dengan menggunakan baris di atas, Anda sedang membatasi daya guna proyek Anda. +Ringkasnya adalah karena saldo pemanggil tidak ditetapkan ke 0 hingga selesainya eksekusi fungsi, pemanggilan berikutnya akan berhasil dan memungkinkan pemanggil menarik saldonya beberapa kali. Jenis serangan seperti ini dapat digunakan untuk menguras dana dari kontrak pintar, seperti yang terjadi dalam serangan [peretasan DAO 2016](https://www.coindesk.com/learn/2016/06/25/understanding-the-dao-attack/). Serangan reentrancy (masuk kembali) masih menjadi masalah kritis bagi kontrak pintar saat ini, seperti yang ditunjukkan oleh [daftar publik eksploit reentrancy](https://github.com/pcaversaccio/reentrancy-attacks). + +##### Cara mencegah serangan reentrancy (masuk kembali) -### Bagaimana mengatasi re-entrancy (cara yang benar) {#how-to-deal-with-re-entrancy-the-right-way} +Salah satu pendekatan untuk menangani reentrancy (masuk kembali) adalah dengan mengikuti pola [periksa-efek-interaksi](https://docs.soliditylang.org/en/develop/security-considerations.html#use-the-checks-effects-interactions-pattern). Pola ini mengurutkan eksekusi fungsi sedemikian rupa sehingga kode yang melakukan pemeriksaan yang diperlukan sebelum melanjutkan eksekusi akan berada di urutan pertama, diikuti oleh kode yang memanipulasi keadaan kontrak, lalu yang terakhir adalah kode yang berinteraksi dengan kontrak atau EOA lain. -Hanya dengan mengalihkan urutan pembaruan penyimpanan dan pemanggilan eksternal, kita mencegah kondisi re-entrancy yang memungkinkan penyerangan. Memanggil kembali penarikan, sekalipun dimungkinkan, tidak akan menguntungkan penyerang, karena penyimpanan `saldo` telah diatur ke 0. +Pola periksa-efek-interaksi digunakan dalam versi yang direvisi dari kontrak `Victim` yang ditunjukkan di bawah ini: ```solidity contract NoLongerAVictim { @@ -200,128 +320,236 @@ contract NoLongerAVictim { } ``` -Kode di atas mengikuti pola desain "Pemeriksaan-Efek-Interaksi", yang membantu perlindungan terhadap re-entrancy. Anda bisa [membaca selengkapnya tentang Pemeriksaan-Efek-Interaksi di sini](https://fravoll.github.io/solidity-patterns/checks_effects_interactions.html) +Kontrak ini melakukan _pemeriksaan_ pada saldo pengguna, menerapkan _efek_ dari fungsi `withdraw()` (dengan mengatur ulang saldo pengguna menjadi 0), dan melanjutkan dengan melakukan _interaksi_ (mengirim ETH ke alamat pengguna). Hal ini memastikan kontrak memperbarui penyimpanannya sebelum panggilan eksternal, menghilangkan kondisi re-entrancy (masuk kembali) yang memungkinkan serangan pertama. Kontrak `Attacker` masih bisa memanggil kembali ke `NoLongerAVictim`, tetapi karena `balances[msg.sender]` telah ditetapkan menjadi 0, maka penarikan tambahan akan menimbulkan kesalahan. + +Pilihan lainnya adalah dengan menggunakan kunci pengecualian bersama (umumnya dideskripsikan sebagai "mutex") yang mengunci sebagian dari keadaan kontrak hingga pemanggilan fungsi selesai. Hal ini diterapkan dengan menggunakan variabel Boolean yang ditetapkan ke `true` sebelum fungsi dieksekusi dan kembali ke `false` setelah pemanggilan selesai. Seperti yang terlihat pada contoh di bawah ini, penggunaan mutex melindungi fungsi dari pemanggilan rekursif pada saat pemanggilan asli masih diproses, sehingga secara efektif menghentikan reentrancy (masuk kembali). + +```solidity +pragma solidity ^0.7.0; -### Bagaimana mengatasi re-entrancy (opsi inti) {#how-to-deal-with-re-entrancy-the-nuclear-option} +contract MutexPattern { + bool locked = false; + mapping(address => uint256) public balances; -Setiap kali Anda mengirim ETH ke alamat tak terpercaya atau berinteraksi dengan kontrak yang tidak dikenal (seperti pemanggilan `transfer()` dari alamat token yang disediakan pengguna), Anda membuka diri untuk kemungkinan serangan re-entrancy. **Dengan mendesain kontrak yang tidak mengirim ETH maupun memanggil kontrak tak terpercaya, Anda mencegah kemungkinan serangan re-entrancy!** + modifier noReentrancy() { + require(!locked, "Blocked from reentrancy."); + locked = true; + _; + locked = false; + } + // This function is protected by a mutex, so reentrant calls from within `msg.sender.call` cannot call `withdraw` again. + // The `return` statement evaluates to `true` but still evaluates the `locked = false` statement in the modifier + function withdraw(uint _amount) public payable noReentrancy returns(bool) { + require(balances[msg.sender] >= _amount, "No balance to withdraw."); -## Jenis serangan lainnya {#more-attack-types} + balances[msg.sender] -= _amount; + bool (success, ) = msg.sender.call{value: _amount}(""); + require(success); -Jenis serangan di atas mencakup masalah pengodean kontrak pintar (re-entrancy) dan keanehan pada Ethereum (menjalankan kode di dalam pembangun kontrak, sebelum kode tersedia di alamat kontrak). Masih banyak jenis serangan yang perlu diwaspadai, seperti: + return true; + } +} +``` -- Front-running -- Penolakan pengiriman ETH -- Overflow/underflow integer +Anda juga dapat menggunakan sistem [pembayaran tarik](https://docs.openzeppelin.com/contracts/4.x/api/security#PullPayment) yang mengharuskan pengguna menarik dana dari kontrak pintar, sebagai pengganti sistem "pembayaran dorong" yang mengirim dana ke akun. Hal ini menghilangkan kemungkinan secara tidak sengaja memicu kode pada alamat yang tidak dikenal (dan juga dapat mencegah beberapa serangan denial-of-service atau penolakan layanan). -Bacaan lebih lanjut: +#### Underflow dan overflow bilangan bulat {#integer-underflows-and-overflows} -- [Serangan yang Diketahui pada Kontrak Pintar Consensys](https://consensys.github.io/smart-contract-best-practices/attacks/) - Penjelasan yang sangat mudah dibaca tentang kerentanan paling signifikan, disertai contoh kode untuk sebagian besar kerentanan. -- [Daftar SWC](https://swcregistry.io/docs/SWC-128) - Daftar terkurasi CWE yang berlaku untuk Ethereum dan kontrak pintar +Overflow bilangan bulat terjadi ketika hasil operasi aritmatika berada di luar rentang nilai yang dapat diterima sehingga menyebabkan nilainya "bergulung" ke nilai terendah yang dapat dinyatakan. Misalnya, `uint8` hanya dapat menyimpan nilai hingga 2^8-1=255. Operasi aritmatika yang menghasilkan nilai yang lebih besar dari `255` akan mengalami overflow dan mengatur ulang `uint` ke `0`, serupa dengan cara odometer di mobil mengatur ulang ke 0 setelah mencapai jarak tempuh maksimal (999999). -## Perangkat keamanan {#security-tools} +Underflow bilangan bulat terjadi karena alasan yang serupa: hasil operasi aritmatika berada di bawah rentang yang dapat diterima. Misalkan Anda mencoba mengurangi lagi nilai `0` pada data jenis `uint8`, maka hasilnya akan langsung bergulung ke nilai terbesar yang dapat dinyatakan (`255`). -Sekalipun memahami dasar-dasar keamanan Ethereum dan melibatkan jasa firma pengauditan profesional untuk mengulas kode Anda tak tergantikan, ada banyak peralatan yang tersedia untuk menolong menyoroti potensi masalah dalam kode Anda. +Baik overflow maupun underflow bilangan bulat dapat menyebabkan perubahan tak terduga pada variabel keadaan di kontrak dan menyebabkan eksekusi yang tidak direncanakan. Di bawah ini adalah contoh yang menunjukkan cara penyerang mengeksploitasi overflow aritmetika di kontrak pintar untuk melakukan operasi yang tidak sah: -### Keamanan kontrak pintar {#smart-contract-security} +``` +pragma solidity ^0.7.6; -**Slither -** **_Kerangka kerja analisis statis untuk Solidity yang ditulis dalam Python 3._** +// This contract is designed to act as a time vault. +// User can deposit into this contract but cannot withdraw for at least a week. +// User can also extend the wait time beyond the 1 week waiting period. -- [GitHub](https://github.com/crytic/slither) +/* +1. Deploy TimeLock +2. Deploy Attack with address of TimeLock +3. Call Attack.attack sending 1 ether. You will immediately be able to + withdraw your ether. -**MythX -** **_API analis keamanan untuk kontrak pintar Ethereum._** +What happened? +Attack caused the TimeLock.lockTime to overflow and was able to withdraw +before the 1 week waiting period. +*/ -- [mythx.io](https://mythx.io/) -- [Dokumentasi](https://docs.mythx.io/) +contract TimeLock { + mapping(address => uint) public balances; + mapping(address => uint) public lockTime; -**Mythril -** **_Peralatan analis keamanan untuk kode bita EVM._** + function deposit() external payable { + balances[msg.sender] += msg.value; + lockTime[msg.sender] = block.timestamp + 1 weeks; + } -- [mythril](https://github.com/ConsenSys/mythril) -- [Dokumentasi](https://mythril-classic.readthedocs.io/en/master/about.html) + function increaseLockTime(uint _secondsToIncrease) public { + lockTime[msg.sender] += _secondsToIncrease; + } -**Manticore -** **_Antarmuka baris perintah yang menggunakan sebuah perangkat eksekusi simbolis pada kontrak pintar dan biner._** + function withdraw() public { + require(balances[msg.sender] > 0, "Insufficient funds"); + require(block.timestamp > lockTime[msg.sender], "Lock time not expired"); -- [GitHub](https://github.com/trailofbits/manticore) -- [Dokumentasi](https://github.com/trailofbits/manticore/wiki) + uint amount = balances[msg.sender]; + balances[msg.sender] = 0; -**Securify -** **_Pemindai keamanan untuk kontrak pintar Ethereum._** + (bool sent, ) = msg.sender.call{value: amount}(""); + require(sent, "Failed to send Ether"); + } +} -- [securify.chainsecurity.com](https://securify.chainsecurity.com/) -- [Discord](https://discordapp.com/invite/nN77ckb) +contract Attack { + TimeLock timeLock; + + constructor(TimeLock _timeLock) { + timeLock = TimeLock(_timeLock); + } -**ERC20 Verifier -** **_Peralatan verifikasi untuk memeriksa apakah sebuah kontrak memenuhi standar ERC20._** + fallback() external payable {} + + function attack() public payable { + timeLock.deposit{value: msg.value}(); + /* + if t = current lock time then we need to find x such that + x + t = 2**256 = 0 + so x = -t + 2**256 = type(uint).max + 1 + so x = type(uint).max + 1 - t + */ + timeLock.increaseLockTime( + type(uint).max + 1 - timeLock.lockTime(address(this)) + ); + timeLock.withdraw(); + } +} +``` -- [erc20-verifier.openzeppelin.com](https://erc20-verifier.openzeppelin.com) -- [Forum](https://forum.openzeppelin.com/t/online-erc20-contract-verifier/1575) +##### Cara mencegah underflow dan overflow bilangan bulat -### Verifikasi Formal {#formal-verification} +Sejak versi 0.8.0, pengompilasi Solidity menolak kode yang menghasilkan underflow dan overflow bilangan bulat. Namun, kontrak yang dikompilasi dengan versi pengompilasi yang lebih rendah harus melakukan pemeriksaan pada fungsi yang melibatkan operasi aritmatika atau menggunakan pustaka (misalnya, [SafeMath](https://docs.openzeppelin.com/contracts/2.x/api/math)) yang memeriksa adanya underflow/overflow. -**Informasi mengenai Verifikasi Formal** +#### Manipulasi Oracle {#oracle-manipulation} -- [Bagaimana cara kerja verifikasi formal pada kontrak pintar](https://runtimeverification.com/blog/how-formal-verification-of-smart-contracts-works/) _20 Juli 2018 - Brian Marick_ -- [Bagaimana Verifikasi Formal Dapat Memastikan Kontrak Pintar Sempurna](https://media.consensys.net/how-formal-verification-can-ensure-flawless-smart-contracts-cbda8ad99bd1) _29 Januari 2018 - Bernard Mueller_ +[Oracles](/developers/docs/oracles/) mengambil informasi di luar rantai dan mengirimnya ke dalam rantai agar dapat digunakan oleh kontrak pintar. Dengan oracle, Anda dapat mendesain kontrak pintar yang mendukung sistem di luar rantai, seperti pasar modal, sehingga dapat sangat memperluas penggunaannya. -### Menggunakan peralatan {#using-tools} +Akan tetapi, jika oracle rusak dan mengirimkan informasi yang salah di dalam rantai, kontrak pintar akan dijalankan berdasarkan input yang salah sehingga dapat menimbulkan masalah. Ini adalah dasar dari "masalah oracle", yang berkaitan dengan tugas untuk memastikan informasi dari oracle rantai blok sudah akurat, mutakhir, dan tepat waktu. -Dua dari peralatan paling populer untuk analisis keamanan kontrak pintar adalah: +Masalah keamanan yang terkait adalah menggunakan oracle di dalam rantai, seperti pertukaran terdesentralisasi, untuk mendapatkan harga spot untuk aset. Platform pemberian pinjaman di industri [finansial terdesentralisasi (DeFi)](/defi/) sering melakukan hal ini guna menentukan nilai jaminan pengguna untuk menentukan jumlah yang dapat dipinjamnya. -- [Slither](https://github.com/crytic/slither) oleh [Trail of Bits](https://www.trailofbits.com/) (versi yang telah dihost: [Crytic](https://crytic.io/)) -- [Mythril](https://github.com/ConsenSys/mythril) oleh [ConsenSys](https://consensys.net/) (versi yang telah dihost: [MythX](https://mythx.io/)) +Harga DEX sering kali akurat, sebagian besar disebabkan oleh arbitrator yang memulihkan parity di pasar. Akan tetapi, harga tersebut mudah dimanipulasi, terutama jika oracle di dalam rantai menghitung harga aset berdasarkan pola perdagangan historis (seperti yang umum terjadi). -Keduanya adalah peralatan berguna yang menganalisa kode Anda dan melaporkan masalah. Masing-masing mempunyai versi yang telah dihost [commercial], tapi juga tersedia secara gratis untuk dijalankan secara lokal. Berikuti ini adalah contoh singkat bagaimana menjalankan Slither, yang tersedia dalam gambar Docker yang mudah dipahami `trailofbits/eth-security-toolbox`. Anda akan perlu [menginstal Docker jika Anda belum melakukannya](https://docs.docker.com/get-docker/). +Misalnya, penyerang dapat memompa harga spot aset yang palsu dengan mengambil flash loan (pinjaman kilat) tepat sebelum berinteraksi dengan kontrak pemberian pinjaman Anda. Meminta DEX untuk harga aset akan mengembalikan nilai yang lebih tinggi dari biasanya (karena "pesanan beli" penyerang yang lebih besar dari biasanya sehingga mengubah permintaan aset). Hal ini menyebabkan penyerang dapat meminjam lebih banyak dari yang seharusnya. "Serangan pinjaman kilat" tersebut telah digunakan untuk mengeksploitasi ketergantungan pada oracle harga di antara aplikasi DeFi sehingga menyebabkan protokol kehilangan dana jutaan. -```bash -$ mkdir test-slither -$ curl https://gist.githubusercontent.com/epheph/460e6ff4f02c4ac582794a41e1f103bf/raw/9e761af793d4414c39370f063a46a3f71686b579/gistfile1.txt > bad-contract.sol -$ docker run -v `pwd`:/share -it --rm trailofbits/eth-security-toolbox -docker$ cd /share -docker$ solc-select 0.5.11 -docker$ slither bad-contract.sol -``` +##### Cara mencegah manipulasi oracle -Akan menghasilkan output ini: - -```bash -ethsec@1435b241ca60:/share$ slither bad-contract.sol -INFO:Detectors: -Reentrancy in Victim.withdraw() (bad-contract.sol#11-16): - External calls: - - (success) = msg.sender.call.value(amount)() (bad-contract.sol#13) - State variables written after the call(s): - - balances[msg.sender] = 0 (bad-contract.sol#15) -Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities -INFO:Detectors: -Low level call in Victim.withdraw() (bad-contract.sol#11-16): - - (success) = msg.sender.call.value(amount)() (bad-contract.sol#13) -Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls -INFO:Slither:bad-contract.sol analyzed (1 contracts with 46 detectors), 2 result(s) found -INFO:Slither:Use https://crytic.io/ to get access to additional detectors and GitHub integration -``` +Persyaratan minimum untuk menghindari manipulasi oracle adalah menggunakan jaringan oracle terdesentralisasi yang meminta informasi dari berbagai sumber untuk menghindari titik kegagalan tunggal. Dalam kebanyakan kasus, oracle terdesentralisasi memiliki insentif ekonomi kripto bawaan untuk mendorong simpul oracle agar melaporkan informasi yang tepat sehingga menjadikannya lebih aman daripada oracle terpusat. -Slither telah mengidentifikasi potensi re-entrancy di sini, mengidentifikasi baris kunci di mana masalah mungkin muncul, dan memberi kita sebuah tautan untuk informasi lebih detail tentang masalahnya: +Jika Anda berencana untuk meminta harga aset dari oracle di dalam rantai, pertimbangkan untuk menggunakan oracle yang menerapkan mekanisme harga rata-rata berbobot waktu (TWAP). Sebuah [oracle TWAP](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) meminta harga aset pada dua titik waktu yang berbeda (yang dapat Anda ubah) dan menghitung harga spot berdasarkan harga rata-rata yang diperoleh. Memilih periode waktu yang lebih lama melindungi protokol Anda dari manipulasi harga karena order besar yang dieksekusi baru-baru ini tidak dapat memengaruhi harga aset. -> Referensi: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities +## Sumber daya keamanan kontrak pintar untuk pengembang {#smart-contract-security-resources-for-developers} -memungkinkan Anda dengan cepat belajar tentang potensi masalah dalam kode Anda. Seperti semua peralatan pengujian otomatis, Slither tidak sempurna, dan terlalu sering membuat kesalahan pada aspek pelaporan. Slither bisa memperingatkan potensi re-entrancy, bahkan ketika tidak ada kerentanan yang bisa diekspoloitasi. Sering kali, meninjau ulang PERBEDAAN dalam output Slither di antara perubahan kode sangat memberi kelejasan, membantu menemukan kerentanan yang ditimbulkan sebelumnya daripada menunggu sampai kode proyek Anda selesai. +### Alat untuk menganalisis kontrak pintar dan memverifikasi kebenaran kode {#code-analysis-tools} -## Bacaan lebih lanjut {#further-reading} +- **[Alat dan pustaka pengujian](/developers/docs/smart-contracts/testing/#testing-tools-and-libraries)** - _Kumpulan alat dan pustaka standar industri untuk melakukan pengujian unit, analisis statis, dan analisis dinamis pada kontrak pintar._ -**Panduan praktik terbaik untuk keamanan kontrak pintar** +- **[Alat verifikasi formal](/developers/docs/smart-contracts/formal-verification/#formal-verification-tools)** - _Alat untuk memverifikasi kebenaran fungsional pada kontrak pintar dan memeriksa invarian._ -- [consensys.github.io/smart-contract-best-practices/](https://consensys.github.io/smart-contract-best-practices/) -- [GitHub](https://github.com/ConsenSys/smart-contract-best-practices/) -- [Daftar rekomendasi keamanan dan praktik terbaik](https://github.com/guylando/KnowledgeLists/blob/master/EthereumSmartContracts.md) +- **[Layanan audit kontrak pintar](/developers/docs/smart-contracts/testing/#smart-contract-auditing-services)** - _Daftar organisasi yang menyediakan layanan audit kontrak pintar untuk proyek pengembangan Ethereum._ -**Standar verifikasi keamanan kontrak pintar (SCSVS)** +- **[Platform hadiah bounty bug](/developers/docs/smart-contracts/testing/#bug-bounty-platforms)** - _Platform untuk mengkoordinasikan hadiah bounty bug dan memberi hadiah atas pengungkapan kerentanan kritis di kontrak pintar secara bertanggung jawab._ -- [securing.github.io/SCSVS/](https://securing.github.io/SCSVS/) +- **[Pemeriksa Fork](https://forkchecker.hashex.org/)** - _Alat online gratis untuk memeriksa semua informasi yang tersedia mengenai kontrak hasil fork._ -_Tahu tentang sumber daya komunitas yang membantu Anda? Edit halaman ini dan tambahkan!_ +- **[Pengode ABI](https://abi.hashex.org/)** - _Layanan online gratis untuk mengodekan fungsi kontrak Solidity dan argumen konstruktor Anda._ -## Tutorial terkait {#related-tutorials} +### Alat untuk memantau kontrak pintar {#smart-contract-monitoring-tools} + +- **[Defender Sentinels OpenZeppelin](https://docs.openzeppelin.com/defender/sentinel)** - _Alat untuk memantau dan merespons aksi, fungsi, dan parameter transaksi secara otomatis di kontrak pintar Anda._ + +- **[Peringatan Waktu Nyata Tenderly](https://tenderly.co/alerting/)** - _Alat untuk mendapatkan pemberitahuan waktu nyata ketika aksi yang tidak biasa atau tak terduga terjadi pada kontrak pintar atau dompet Anda._ + +### Alat untuk administrasi kontrak pintar dengan aman {#smart-contract-administration-tools} + +- **[Defender Admin OpenZeppelin](https://docs.openzeppelin.com/defender/admin)** - _Antarmuka untuk mengelola administrasi kontrak pintar, termasuk kontrol akses, peningkatan, dan penangguhan._ + +- **[Safe](https://safe.global/)** - _Dompet kontrak pintar yang berjalan di Ethereum dan membutuhkan jumlah orang minimum untuk menyetujui transaksi sebelum transaksi tersebut dapat terjadi (M-dari-N)._ + +- **[Kontrak OpenZeppelin](https://docs.openzeppelin.com/contracts/4.x/)** - _Pustaka kontrak untuk menerapkan fitur-fitur administratif, termasuk kepemilikan kontrak, peningkatan, kontrol akses, tata kelola, kemampuan jeda, dan lainnya._ + +### Layanan audit kontrak pintar {#smart-contract-auditing-services} + +- **[ConsenSys Diligence](https://consensys.net/diligence/)** - _Layanan pengauditan kontrak pintar membantu proyek di seluruh ekosistem rantai blok dalam memastikan agar protokol proyek siap diluncurkan dan dapat melindungi pengguna._ + +- **[CertiK](https://www.certik.com/)** - _Perusahaan keamanan rantai blok merintis penggunaan teknologi Verifikasi formal canggih pada kontrak pintar dan jaringan rantai blok._ + +- **[Trail of Bits](https://www.trailofbits.com/)** - _Perusahaan keamanan siber yang menggabungkan riset keamanan dengan mentalitas penyerang untuk mengurangi risiko dan memperkuat kode._ + +- **[PeckShield](https://peckshield.com/)** - _Perusahaan keamanan rantai blok yang menawarkan produk dan layanan untuk keamanan, privasi, dan kegunaan di seluruh ekosistem rantai blok._ + +- **[QuantStamp](https://quantstamp.com/)** - _Layanan pengauditan yang memudahkan penggunaan arus utama teknologi rantai blok melalui layanan penilaian keamanan dan risiko._ + +- **[OpenZeppelin](https://www.openzeppelin.com/security-audits)** - _Perusahaan keamanan kontrak pintar yang menyediakan audit keamanan untuk sistem terdistribusi._ + +- **[Verifikasi Waktu Aktif](https://runtimeverification.com/)** - _Perusahaan keamanan yang berspesialisasi dalam pemodelan dan verifikasi formal kontrak pintar._ + +- **[Hacken](https://hacken.io)** - _Auditor keamanan Web3 yang menghadirkan pendekatan 360 derajat untuk keamanan rantai blok._ + +- **[Nethermind](https://nethermind.io/smart-contracts-audits)** - _Layanan pengauditan Solidity dan Cairo, memastikan integritas kontrak pintar dan keamanan pengguna di seluruh Ethereum dan Starknet._ + +- **[HashEx](https://hashex.org/)** - _HashEx berfokus pada pengauditan rantai blok dan kontrak pintar untuk memastikan keamanan mata uang kripto, menyediakan layanan seperti pengembangan kontrak pintar, pengujian penetrasi, konsultasi rantai blok._ + +- **[Code4rena](https://code4rena.com/)** - _Platform audit kompetitif yang memberikan insentif kepada ahli keamanan kontrak pintar untuk menemukan kerentanan dan membantu membuat web3 lebih aman._ + +### Platform hadiah bounty bug {#bug-bounty-platforms} + +- **[Immunefi](https://immunefi.com/)** - _Platform hadiah bounty bug pada kontrak pintar dan proyek DeFi, di mana peneliti keamanan meninjau kode, mengungkapkan kerentanan, mendapatkan bayaran, dan membuat kripto lebih aman._ + +- **[HackerOne](https://www.hackerone.com/)** - _Platform koordinasi kerentanan dan hadiah bounty bug yang menghubungkan bisnis dengan penguji penetrasi dan peneliti keamanan siber._ + +- **[HackenProof](https://hackenproof.com/)** - _Platform hadiah bounty buku bagi ahli untuk proyek-proyek kripto (DeFi, Kontrak Pintar, Dompet, CEX, dan lain-lain), di mana para profesional keamanan menyediakan layanan triase dan peneliti dibayar jika membuat laporan bug yang relevan dan terverifikasi._ + +### Publikasi kerentanan dan eksploitasi kontrak pintar yang diketahui {#common-smart-contract-vulnerabilities-and-exploits} + +- **[ConsenSys: Serangan Terkenal pada Kontrak Pintar](https://consensys.github.io/smart-contract-best-practices/attacks/)** - _Penjelasan yang mudah bagi pemula tentang kerentanan kontrak yang paling signifikan, dengan kode contoh untuk sebagian besar kasus._ + +- **[Daftar SWC](https://swcregistry.io/)** - _Daftar kurasi Common Weakness Enumeration (CWE) yang berlaku untuk kontrak pintar Ethereum._ + +- **[Rekt](https://rekt.news/)** - _Publikasi yang diperbarui secara teratur tentang peretasan dan eksploitasi kripto yang terkenal, beserta laporan pascakejadian yang mendetail._ + +### Tantangan untuk mempelajari keamanan kontrak pintar {#challenges-for-learning-smart-contract-security} + +- **[Awesome BlockSec CTF](https://github.com/blockthreat/blocksec-ctfs)** - _Daftar kurasi game perang keamanan rantai blok beserta tantangannya, dan kompetisi [Capture The Flag](https://www.webopedia.com/definitions/ctf-event/amp/) serta penulisan tentang solusi._ + +- **[DeFi Damn Vulnerable](https://www.damnvulnerabledefi.xyz/)** - _Permainan perang untuk mempelajari keamanan ofensif dari kontrak pintar DeFi serta mengembangkan keterampilan dalam perburuan bug dan audit keamanan._ + +- **[Ethernaut](https://ethernaut.openzeppelin.com/)** - _Permainan perang berbasis Web3/Solidity di mana setiap tingkatnya adalah kontrak pintar yang perlu 'diretas'._ + +### Praktik terbaik untuk mengamankan kontrak pintar {#smart-contract-security-best-practices} + +- **[ConsenSys: Praktik Keamanan Terbaik Kontrak Pintar Ethereum](https://consensys.github.io/smart-contract-best-practices/)** - _Daftar pedoman lengkap untuk mengamankan kontrak pintar Ethereum._ + +- **[Nascent: Set Alat Keamanan Sederhana](https://github.com/nascentxyz/simple-security-toolkit)** - _Kumpulan panduan dan daftar periksa berfokus keamanan yang praktis untuk pengembangan kontrak pintar._ + +- **[Pola Solidity](https://fravoll.github.io/solidity-patterns/)** - _Kompilasi pola aman dan praktik terbaik yang bermanfaat untuk bahasa pemrograman kontrak pintar Solidity._ + +- **[Dokumentasi Solidity: Pertimbangan Keamanan](https://docs.soliditylang.org/en/v0.8.16/security-considerations.html)** - _Pedoman menulis kontrak pintar yang aman dengan Solidity._ + +- **[Standar Verifikasi Keamanan Kontrak Pintar](https://github.com/securing/SCSVS)** - _Daftar periksa yang terdiri dari empat belas bagian yang dibuat untuk menstandarkan keamanan kontrak pintar bagi pengembang, arsitek, pemeriksa keamanan, dan vendor._ + +### Tutorial tentang keamanan kontrak pintar {#tutorials-on-smart-contract-security} + +- [Cara menulis kontrak pintar yang aman](/developers/tutorials/secure-development-workflow/) -- [Alur kerja pengembangan yang aman](/developers/tutorials/secure-development-workflow/) - [Cara menggunakan Slither untuk menemukan bug kontrak pintar](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/) + - [Cara menggunakan Manticore untuk menemukan bug kontrak pintar](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/) -- [Pedoman kemananan](/developers/tutorials/smart-contract-security-guidelines/) -- [Kemananan token](/developers/tutorials/token-integration-checklist/) + +- [Panduan keamanan kontrak pintar](/developers/tutorials/smart-contract-security-guidelines/) + +- [Cara aman mengintegrasikan kontrak token Anda dengan token arbitrer](/developers/tutorials/token-integration-checklist/) diff --git a/src/content/translations/id/eips/index.md b/src/content/translations/id/eips/index.md index ba82cbe5301..7cf8d3cd862 100644 --- a/src/content/translations/id/eips/index.md +++ b/src/content/translations/id/eips/index.md @@ -1,61 +1,66 @@ --- title: Proposal Peningkatan Ethereum (EIP) -description: Informasi dasar yang Anda perlukan untuk memahami Proposal Peningkatan Ethereum (EIP). +description: Informasi dasar yang Anda perlukan untuk memahami EIP lang: id --- -# Pengantar pada Proposal Peningkatan Ethereum (EIP) {#introduction-to-ethereum-improvement-proposals-eips} +# Pengantar pada Proposal Peningkatan Ethereum (EIP) {#introduction-to-ethereum-improvement-proposals} ## Apa itu EIP? {#what-are-eips} [Proposal Peningkatan Ethereum (EIP)](https://eips.ethereum.org/) adalah standar yang menentukan fitur atau proses baru yang potensial untuk Ethereum. EIP memuat spesifikasi teknis untuk usulan-usulan perubahan dan bertindak sebagai "sumber kebenaran" untuk komunitas. Peningkatan jaringan dan standar aplikasi untuk Ethereum didiskusikan dan dikembangkan melalui proses EIP. -Siapa pun yang ada dalam komunitas Ethereum memiliki kemampuan untuk membuat EIP. Pedoman untuk menulis EIP disertakan di [EIP 1](https://eips.ethereum.org/EIPS/eip-1). EIP harus memberikan spesifikasi teknis singkat tentang fitur-fitur yang tersedia dengan alasan logis dibaliknya. Penulis EIP bertanggung jawab untuk membangun konsensus di dalam komunitas dan mendokumentasikan perbedaan pendapat. Mengingat tingginya standar teknis untuk mengajukan EIP dengan kualitas yang baik, secara historis, sebagian besar penulis EIP memiliki pengalaman sebagai pengembang aplikasi atau protokol. +Siapa pun yang ada dalam komunitas Ethereum memiliki kemampuan untuk membuat EIP. Panduan untuk menulis EIP disertakan dalam [EIP-1](https://eips.ethereum.org/EIPS/eip-1). EIP sebaiknya memberikan spesifikasi teknis yang ringkas dengan sedikit motivasi. Penulis EIP bertanggung jawab untuk mencapai konsensus di dalam komunitas dan mendokumentasikan pendapat-pendapat alternatif. Mengingat tingginya hambatan teknis untuk mengirimkan EIP yang terbentuk dengan baik, secara historis, sebagian besar penulis EIP biasanya adalah pengembang aplikasi atau protokol. ## Mengapa EIP penting? {#why-do-eips-matter} -EIP memainkan peranan penting bagaimana perubahan terjadi dan terdokumentasi di Ethereum. EIP adalah cara bagi orang-orang untuk mengusulkan, mendebat, dan mengadopsi perubahan. Ada [berbagai jenis EIP](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md#eip-types) yang mencakup EIP inti untuk perubahan protokol tingkat rendah yang memengaruhi konsensus dan membutuhkan peningkatan jaringan serta ERC untuk standar aplikasi. Sebagai contoh, standar untuk membuat token, seperti [ERC20](https://eips.ethereum.org/EIPS/eip-20) atau [ERC721](https://eips.ethereum.org/EIPS/eip-721) memungkinkan aplikasi berinteraksi dengan token ini untuk memperlakukan semua token menggunakan aturan yang sama, yang memudahkan untuk membuat aplikasi yang dapat bertukar informasi. +EIP memainkan peranan penting bagaimana perubahan terjadi dan terdokumentasi di Ethereum. EIP adalah cara bagi orang-orang untuk mengusulkan, mendebat, dan mengadopsi perubahan. Ada [berbagai jenis EIP](https://eips.ethereum.org/EIPS/eip-1#eip-types), termasuk EIP inti untuk perubahan protokol tingkat rendah yang memengaruhi konsensus dan memerlukan peningkatan jaringan seperti [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), dan ERC untuk standar aplikasi seperti [EIP-20](https://eips.ethereum.org/EIPS/eip-20) dan [EIP-721](https://eips.ethereum.org/EIPS/eip-721). -Setiap peningkatan jaringan terdiri dari sekumpulan EIP yang harus diimplementasikan oleh masing-masing [klien Ethereum](/learn/#clients-and-nodes) di jaringan. Ini menyiratkan bahwa untuk tetap dalam konsensus dengan klien lainnya di Jaringan Utama Ethereum, pengembang klien perlu memastikan mereka semua telah menerapkan EIP yang dibutuhkan. +Setiap peningkatan jaringan terdiri dari sekumpulan EIP yang harus diimplementasikan oleh masing-masing [klien Ethereum](/learn/#clients-and-nodes) di jaringan. Ini berarti bahwa untuk tetap berada dalam konsensus dengan klien lain di Jaringan Utama Ethereum, pengembang klien harus memastikan bahwa mereka telah menerapkan semua EIP yang diperlukan. -Seiring dengan menyediakan spesifikasi teknis untuk perubahan, EIP adalah unit di mana tata kelola terjadi di Ethereum: siapa pun bebas untuk mengusulkan EIP, kemudian beragam pemangku kepentingan di dalam komunitas akan berdebat untuk menentukan apakah usulan itu harus diadopsi sebagai standar atau dimasukkan ke dalam peningkatan jaringan. Karena EIP non-inti tidak harus diadopsi oleh semua aplikasi (sebagai contoh, Anda bisa membuat satu token non-[ERC20](https://eips.ethereum.org/EIPS/eip-20)), tetapi EIP inti harus diadopsi secara luas (karena semua node harus melakukan peningkatan agar tetap menjadi bagian dari jaringan yang sama), EIP inti memerlukan konsensus yang lebih luas di dalam komunitas ketimbang EIP non-inti. +Seiring dengan menyediakan spesifikasi teknis untuk perubahan, EIP adalah unit di mana tata kelola terjadi di Ethereum: siapa pun bebas untuk mengusulkan EIP, kemudian beragam pemangku kepentingan di dalam komunitas akan berdebat untuk menentukan apakah usulan itu harus diadopsi sebagai standar atau dimasukkan ke dalam peningkatan jaringan. Karena EIP non-inti tidak harus diadopsi oleh semua aplikasi (misalnya, dimungkinkan untuk membuat token yang dapat dipertukarkan yang tidak mengimplementasikan EIP-20), tetapi EIP inti harus diadopsi secara luas (karena semua simpulhar us ditingkatkan untuk tetap menjadi bagian dari jaringan yang sama), EIP inti membutuhkan konsensus yang lebih luas di dalam komunitas dibandingkan dengan EIP non-inti. ## Riwayat EIP {#history-of-eips} [Repositori GitHub Ethereum Improvement Proposals (EIP)](https://github.com/ethereum/EIPs) dibuat pada Oktober 2015. Proses EIP didasarkan pada proses [Bitcoin Improvement Proposals (BIP)](https://github.com/bitcoin/bips), yang didasatkan pada proses [Python Enhancement Proposals (PEP)](https://www.python.org/dev/peps/). -Editor EIP ditugaskan mengulas EIP untuk melihat kesehatan teknisnya, kesesuaian ejaan/gramatikanya, dan gaya kodenya. Martin Becze, Vitalik Buterin, Gavin Wood, dan beberapa lainnya adalah editor asli EIP dari 2015 sampai akhir 2016. Editor EIP saat ini adalah: +Editor EIP bertugas dalam proses peninjauan EIP untuk kesehatan teknis, masalah format, dan mengoreksi ejaan, tata bahasa, dan gaya kode. Martin Becze, Vitalik Buterin, Gavin Wood, dan beberapa lainnya adalah editor asli EIP dari 2015 sampai akhir 2016. -- Alex Beregszaszi (EWASM/Yayasan Ethereum) -- Greg Colvin (Komunitas) -- Casey Detrio (EWASM/Yayasan Ethereum) -- Matt Garnett (Quilt) -- Hudson James (Yayasan Ethereum) -- Nick Johnson (ENS) -- Nick Savers (Komunitas) -- Micah Zoltu (Komunitas) +Editor EIP saat ini adalah -Editor EIP bersama dengan anggota komunitas dari [Ethereum Cat Herders](https://ethereumcatherders.com/) dan [Ethereum Magicians](https://ethereum-magicians.org/) memutuskan EIP mana yang akan di implementasikan, yang akan bertanggung jawab untuk memfasilitasi EIP juga memindakan EIP ke tahap "Final" atau "Penarikan". +- Alex Beregszaszi (@axic) +- Gavin John (@Pandapip1) +- Greg Colvin (@gcolvin) +- Matt Garnett (@lightclient) +- Sam Wilson (@SamWilsn) -Proses standardisasi lengkap yang disertai dengan bagan dideskripsikan dalam [EIP-1](https://eips.ethereum.org/EIPS/eip-1) +Editor Emeritus EIP adalah -## Pelajari lebih lanjut {#learn-more} +- Casey Detrio (@cdetrio) +- Hudson Jameson (@Souptacular) +- Martin Becze (@wanderer) +- Micah Zoltu (@MicahZoltu) +- Nick Johnson (@arachnid) +- Nick Savers (@nicksavers) +- Vitalik Buterin (@vbuterin) -Jika Anda tertarik untuk membaca lebih lanjut tentang EIP, kunjungi [situs web EIP](https://eips.ethereum.org/) di mana Anda dapat menemukan informasi tambahan, termasuk: +Jika Anda ingin menjadi editor EIP, silakan lihat [EIP-5069](https://eips.ethereum.org/EIPS/eip-5069). -- [Berbagai jenis EIP](https://eips.ethereum.org/) -- [Daftar dari setiap EIP yang telah dibuat](https://eips.ethereum.org/all) -- [Status EIP dan artinya](https://eips.ethereum.org/) +Editor EIP memutuskan kapan sebuah proposal siap menjadi EIP, dan membantu penulis EIP untuk memajukan proposal mereka. [Ethereum Cat Herders](https://www.ethereumcatherders.com/) membantu mengorganisir pertemuan antara para editor EIP dan komunitas (lihat [EIPIP](https://github.com/ethereum-cat-herders/EIPIP)). -## Partisipasi {#participate} +Proses standardisasi lengkap yang disertai dengan bagan dideskripsikan dalam [EIP-1](https://eips.ethereum.org/EIPS/eip-1) -Siapa pun dapat membuat EIP atau ERC, meskipun sebelumnya Anda harus membaca [EIP-1](https://eips.ethereum.org/EIPS/eip-1) yang menguraikan proses EIP, apa itu EIP, jenis EIP, dokumen EIP apa yang harus dimiliki, format dan templat EIP, daftar Editor EIP, dan semua hal yang perlu Anda ketahui tentang EIP sebelum membuatnya. EIP baru Anda harus menentukan fitur baru yang tidak terlalu kompleks, namun tidak hanya untuk kalangan tertentu dan dapat digunakan dalam proyek-proyek di ekosistem Ethereum. Bagian tersulitnya adalah fasilitasi, Anda sebagai penulis harus memfasilitasi orang-orang di sekitar EIP, mengumpulkan umpan balik, menulis artikel yang menggambarkan masalah yang diselesaikan oleh EIP, dan berkolaborasi dengan proyek untuk mengimplementasikan EIP Anda. +## Pelajari lebih lanjut {#learn-more} + +Jika Anda tertarik untuk membaca lebih lanjut tentang EIP, lihat [situs web EIP](https://eips.ethereum.org/) dan [EIP-1](https://eips.ethereum.org/EIPS/eip-1). Berikut adalah beberapa tautan yang berguna: -Jika Anda tertarik untuk mengikuti proses diskusinya atau membagikan masukan Anda tentang EIP, kunjungi [forum Ethereum Magicians](https://ethereum-magicians.org/), di mana EIP dibahas bersama dengan komunitas. +- [Daftar setiap EIP](https://eips.ethereum.org/all) +- [Penjelasan tentang semua jenis EIP](https://eips.ethereum.org/EIPS/eip-1#eip-types) +- [Penjelasan tentang semua status EIP](https://eips.ethereum.org/EIPS/eip-1#eip-process) -Lihat juga: +## Partisipasi {#participate} -- [Cara membuat EIP](https://eips.ethereum.org/EIPS/eip-1) +Siapa pun dapat membuat EIP. Sebelum mengirimkan proposal, seseorang harus membaca [EIP-1](https://eips.ethereum.org/EIPS/eip-1) yang menguraikan proses EIP dan cara menulis EIP, dan meminta umpan balik di [Ethereum Magicians](https://ethereum-magicians.org/), di mana proposal pertama kali didiskusikan dengan komunitas sebelum drafnya dikirimkan. ## Referensi {#references} diff --git a/src/content/translations/id/guides/how-to-create-an-ethereum-account/index.md b/src/content/translations/id/guides/how-to-create-an-ethereum-account/index.md new file mode 100644 index 00000000000..8f2c51d28b8 --- /dev/null +++ b/src/content/translations/id/guides/how-to-create-an-ethereum-account/index.md @@ -0,0 +1,72 @@ +--- +title: Cara "membuat" akun Ethereum +description: Panduan langkah demi langkah membuat akun Ethereum menggunakan dompet. +lang: id +--- + +# Cara membuat akun Ethereum + +Siapa pun dapat membuat akun Ethereum kapan saja, secara gratis. Ada beberapa cara, tetapi cara yang paling mudah dan umum adalah dengan menggunakan aplikasi yang dikenal sebagai dompet. Dompet menciptakan dan mengamankan kunci yang memungkinkan Anda menggunakan Ethereum. Anda dapat menggunakan dompet untuk mengirim transaksi, memeriksa saldo token, dan terhubung ke aplikasi yang dibangun di atas Ethereum, seperti pertukaran token, game, pasar NFT, dan lainnya. Beberapa aplikasi "web2" sekarang juga memungkinkan Anda masuk dengan menggunakan Ethereum. + +Berbeda dengan membuka akun baru dengan perusahaan, membuat akun Ethereum dilakukan secara bebas, pribadi, dan tanpa memerlukan izin. Akun dikontrol menggunakan kunci dari perangkat lunak dompet yang Anda buat, tidak dikeluarkan oleh pihak ketiga atau disimpan secara terpusat. + +## Langkah 1: Pilih dompet + +Dompet adalah aplikasi yang membantu Anda mengelola akun Ethereum Anda. Dompet menggunakan kunci Anda untuk mengirim dan menerima transaksi serta masuk ke aplikasi. Ada banyak jenis dompet yang dapat dipilih - seluler, desktop, atau ekstensi browser. + + + Temukan dompet + + +Jika Anda baru, Anda dapat memilih filter "Baru dalam kripto" pada halaman "cari dompet" untuk mengidentifikasi dompet yang seharusnya mencakup semua fitur yang diperlukan dan cocok untuk pemula. + +![pemilihan filter di halaman 'cari dompet'](./wallet-box.png) + +Ada juga filter profil lain untuk memenuhi kebutuhan Anda. Ini contoh-contoh dompet yang sering digunakan - Anda sebaiknya melakukan penelitian sendiri sebelum mempercayai perangkat lunak apa pun. + +## Langkah 2: Unduh dan instal aplikasi dompet Anda + +Setelah Anda memilih dompet, buka situs web resmi mereka atau app store kemudian unduh dan instal. Semuanya gratis. + +## Langkah 3: Buka aplikasi dan buat atau impor akun Ethereum Anda + +Ketika pertama kali membuka aplikasi dompet yang baru, Anda akan diminta untuk memilih membuat akun baru atau mengimpor akun yang sudah ada. Klik pembuatan akun baru. + +## Langkah 4: Simpan frasa pemulihan Anda + +Beberapa aplikasi akan meminta Anda untuk menyimpan 'frase benih' rahasia (Anda juga mungkin melihat ini disebut sebagai "frasa pemulihan" atau "mnemonik"). Menjaga frase benih ini tetap aman sangat penting! Frase benih digunakan untuk menghasilkan kunci rahasia untuk sebuah akun yang dapat digunakan untuk menandatangani dan mengirim transaksi. Setiap orang yang mengetahui frase benih dapat mengambil alih kendali atas semua akun yang dihasilkannya. Jangan pernah berbagi frase benih dengan siapa pun. Frase benih harus terdiri dari 12 hingga 24 kata yang dihasilkan secara acak (urutan kata-kata penting). + +Setelah Anda menyimpan frase benih, Anda seharusnya dapat melihat dasbor dompet beserta saldo Anda. Lihat panduan kami: [cara menggunakan dompet.](/guides/how-to-use-a-wallet) + +
+ + +
Ingin mempelajari selengkapnya?
+ + Lihat panduan lainnya + +
+ +## Pertanyaan yang sering diajukan + +### Apakah dompet dan akun Ethereum saya itu sama? + +Tidak. Dompet adalah alat pengelolaan yang membantu Anda mengelola akun. Satu dompet mungkin memberikan akses ke beberapa akun, dan satu akun dapat diakses oleh beberapa dompet. Frase benih digunakan untuk membuat akun yang kemudian dikendalikan oleh dompet. + +Anda dapat menganggap akun-akun itu seperti daun-daun pada pohon yang semuanya 'tumbuh' dari satu frase benih. Setiap frasa benih unik akan menumbuhkan pohon akun yang benar-benar berbeda. + +### Apakah saya bisa mengirimkan bitcoin ke alamat Ethereum, atau ether ke alamat Bitcoin? + +Tidak, Anda tidak bisa. Bitcoin dan ether ada di dua jaringan terpisah (yaitu, rantai blok yang berbeda), masing-masing dengan model pencatatan dan format alamatnya sendiri. Telah ada berbagai upaya untuk menghubungkan kedua jaringan yang berbeda tersebut, di antaranya yang paling aktif saat ini adalah [Wrapped Bitcoin atau WBTC](https://www.bitcoin.com/get-started/what-is-wbtc/). Ini bukan merupakan dukungan, karena WBTC adalah solusi kustodial (berarti sekelompok orang mengendalikan beberapa fungsi kritis) dan disediakan di sini hanya untuk tujuan informasi. + +### Jika saya memiliki alamat ETH, apakah akan sama di rantai blok yang lain? + +Anda dapat menggunakan alamat yang sama di semua rantai blok yang menggunakan perangkat lunak dasar yang serupa dengan Ethereum (dikenal sebagai 'kompatibel dengan EVM'). [Daftar](https://chainlist.org/) berikut ini memperlihatkan bagaimana cara menggunakan rantai blok dengan alamat yang sama. Beberapa rantai blok seperti Bitcoin, menerapkan peraturan pada jaringan yang terpisah dan Anda akan membutuhkan alamat yang berbeda dengan format yang berbeda pula. Jika Anda memiliki dompet kontrak pintar, maka Anda dapat melihat situs web produknya untuk mendapatkan informasi lebih lanjut mengenai rantai blok yang didukung olehnya. + +### Apakah memiliki dompet sendiri lebih aman dibandingkan dengan menyimpan dana di bursa? + +Mempunyai dompet sendiri berarti Anda bertanggung jawab atas keamanan aset Anda. Sayangnya, ada banyak contoh bursa yang gagal dan kehilangan uang pelanggan mereka. Memiliki dompet (dengan frase benih) menghilangkan risiko yang terkait dengan mempercayai entitas tertentu untuk menyimpan aset Anda. Namun, Anda harus mengamankan kunci Anda sendiri dan menghindari penipuan phishing, secara tidak sengaja menyetujui transaksi atau mengungkapkan kunci, berinteraksi dengan situs web palsu, dan risiko penyimpanan sendiri lainnya. Risiko dan manfaatnya berbeda. + +### Jika saya kehilangan dompet seluler/perangkat keras, apakah saya perlu menggunakan aplikasi dompet yang sama lagi untuk memulihkan akun yang hilang? + +Tidak, Anda dapat menggunakan dompet yang berbeda. Selama memiliki frase benih, Anda dapat memasukkannya ke sebagian besar dompet dan mereka akan mengembalikan akun Anda. Berhati-hatilah jika Anda perlu melakukannya: yang terbaik adalah memastikan Anda tidak terhubung ke internet saat memulihkan dompet agar frase benih Anda tidak bocor secara tidak sengaja. Sering kali tidak mungkin memulihkan dana yang hilang tanpa frase benih. diff --git a/src/content/translations/id/guides/how-to-id-scam-tokens/index.md b/src/content/translations/id/guides/how-to-id-scam-tokens/index.md new file mode 100644 index 00000000000..1eb547ceecb --- /dev/null +++ b/src/content/translations/id/guides/how-to-id-scam-tokens/index.md @@ -0,0 +1,97 @@ +--- +title: Bagaimana cara mengidentifikasi token palsu +description: Memahami token palsu, bagaimana mereka membuat diri terlihat sah, dan cara menghindarinya. +lang: id +--- + +# Bagaimana cara mengidentifikasi token palsu {#identify-scam-tokens} + +Salah satu kegunaan paling umum dari Ethereum untuk suatu grup adalah membuat token yang dapat dipertukarkan, dalam pengertian sebagai mata uang mereka sendiri. Token-token ini umumnya mengikuti standar [ERC-20](/developers/docs/standards/tokens/erc-20/). Namun, di mana pun ada kasus penggunaan sah yang membawa nilai, juga ada para penjahat yang mencoba mencuri nilai tersebut untuk diri mereka sendiri. + +Ada dua cara di mana mereka kemungkinan akan menipu Anda: + +- **Mengajukan token palsu kepada Anda**, yang mungkin terlihat seperti token sah yang ingin Anda beli, tetapi diterbitkan oleh penipu dan tidak memiliki nilai. +- **Membujuk Anda untuk menandatangani transaksi buruk**, biasanya dengan mengarahkan Anda ke antarmuka pengguna mereka sendiri. Mereka mungkin mencoba membuat Anda memberikan ijin untuk kontrak mereka pada token ERC-20 Anda, mengungkapkan informasi sensitif yang memberikan akses kepada mereka terhadap aset Anda, dan sebagainya. Antarmuka pengguna ini mungkin menjadi tiruan hampir sempurna dari situs yang jujur, tetapi dengan trik tersembunyi. + +Untuk mengilustrasikan apa itu token palsu, dan bagaimana mengidentifikasinya, kita akan melihat contoh salah satunya: [`wARB`](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82). Token ini berusaha terlihat seperti token sah [`ARB`](https://etherscan.io/address/0xb50721bcf8d664c30412cfbc6cf7a15145234ad1). + + + +Arbitrum adalah organisasi yang mengembangkan dan mengelola rollup optimistis. Pada awalnya, Arbitrum diorganisir sebagai perusahaan berorientasi keuntungan, namun kemudian mengambil langkah-langkah untuk mendesentralisasikan. Sebagai bagian dari proses tersebut, mereka menerbitkan token tata kelola yang dapat diperdagangkan. + + + + + +Ada konvensi dalam Ethereum bahwa ketika suatu aset tidak mematuhi standar ERC-20, kita membuat versi "wrapped" darinya dengan nama yang diawali oleh "w". Jadi, sebagai contoh, kita memiliki wBTC untuk bitcoin dan wETH untuk ether. + +Tidak masuk akal untuk membuat versi wrapped dari token ERC-20 yang sudah ada di Ethereum, tetapi penipu mengandalkan tampilan keabsahan daripada realitas yang mendasarinya. + + + +## Bagaimana cara kerja token palsu? {#how-do-scam-tokens-work} + +Inti dari Ethereum adalah desentralisasi. Ini berarti tidak ada otoritas pusat yang dapat menyita aset Anda atau mencegah Anda melakukan penyebaran kontrak pintar. Namun, ini juga berarti bahwa penipu dapat menyebarluaskan kontrak pintar apa pun yang mereka inginkan. + + + +Kontrak pintar adalah program-program yang berjalan di atas rantai blok Ethereum. Setiap token ERC-20, misalnya, diimplementasikan sebagai kontrak pintar. + + + +Secara khusus, Arbitrum telah menyebarkan kontrak yang menggunakan simbol `ARB`. Namun, hal itu tidak menghentikan orang lain untuk juga menyebarkan kontrak yang menggunakan simbol yang sama persis, atau serupa. Siapa pun yang menulis kontrak memiliki kuasa untuk menentukan apa yang akan dilakukan oleh kontrak tersebut. + +## Terlihat sah {#appearing-legitimate} + +Terdapat beberapa trik yang dilakukan oleh pencipta token palsu untuk terlihat sah. + +- **Nama dan simbol yang sah**. Seperti yang disebut sebelumnya, kontrak ERC-20 dapat memiliki simbol dan nama yang sama dengan kontrak ERC-20 lainnya. Anda tidak bisa mengandalkan bidang-bidang tersebut untuk keamanan. + +- **Pemilik sah**. Token palsu seringkali mengirimkan sejumlah saldo besar secara tiba-tiba ke alamat-alamat yang bisa diharapkan sebagai pemegang sah dari token yang sebenarnya. + + Sebagai contoh, mari kita lihat lagi `wARB`. [Tentang 16% dari token-token tersebut](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82?a=0x1c8db745abe3c8162119b9ef2c13864cd1fdd72f) dipegang oleh sebuah alamat yang tag publiknya adalah [Arbitrum Foundation: Deployer](https://etherscan.io/address/0x1c8db745abe3c8162119b9ef2c13864cd1fdd72f). Ini _bukan_ alamat palsu, ini benar-benar adalah alamat yang [mendeploy kontrak ARB asli di Jaringan Utama Ethereum](https://etherscan.io/tx/0x242b50ab4fe9896cb0439cfe6e2321d23feede7eeceb31aa2dbb46fc06ed2670). + + Karena saldo ERC-20 dari suatu alamat adalah bagian dari penyimpanan kontrak ERC-20, kontrak dapat menentukannya sesuai dengan keinginan pengembang kontrak. Juga mungkin bagi suatu kontrak untuk melarang transfer sehingga pengguna sah tidak akan dapat menghilangkan token palsu tersebut. + +- **Transfer sah**. _Pemilik sah tidak akan membayar untuk mentransfer token palsu kepada orang lain, jadi jika ada transfer, itu pasti sah, bukan?_ **Salah**. Aksi `Transfer` dihasilkan oleh kontrak ERC-20. Seorang penipu dengan mudah dapat menulis kontrak sedemikian rupa sehingga akan menghasilkan tindakan-tindakan tersebut. + +## Situs web penipuan {#websites} + +Penipu juga dapat membuat situs web yang sangat meyakinkan, kadang-kadang bahkan klon presisi dari situs asli dengan UI yang identik, tetapi dengan trik-trik yang halus. Contohnya mungkin adalah tautan eksternal yang tampak sah, namun sebenarnya mengarahkan pengguna ke situs penipuan eksternal, atau instruksi yang salah yang membimbing pengguna untuk mengungkapkan kunci mereka atau mengirim dana ke alamat penyerang. + +Praktik terbaik untuk menghindari ini adalah dengan cermat memeriksa URL situs yang Anda kunjungi, dan menyimpan alamat situs otentik yang dikenal dalam daftar bookmark Anda. Kemudian, Anda dapat mengakses situs asli melalui daftar bookmark Anda tanpa secara tidak sengaja membuat kesalahan ejaan atau bergantung pada tautan eksternal. + +## Bagaimana Anda bisa melindungi diri? {#protect-yourself} + +1. **Periksa alamat kontrak**. Token sah berasal dari organisasi yang sah, dan Anda dapat melihat alamat kontrak di situs web organisasi tersebut. Sebagai contoh, [untuk `ARB` Anda dapat melihat alamat sahnya di sini](https://docs.arbitrum.foundation/deployment-addresses#token). + +2. **Token-token nyata memiliki likuiditas**. Pilihan lainnya adalah melihat ukuran kolam likuiditas di [Uniswap](https://uniswap.org/), salah satu protokol pertukaran token yang paling umum digunakan. Protokol ini bekerja dengan menggunakan kolam likuiditas, di mana para investor mendepositkan token-token mereka dengan harapan mendapatkan pengembalian dari biaya perdagangan. + +Token palsu umumnya memiliki kolam likuiditas yang sangat kecil, jika ada, karena para penipu tidak ingin mengambil risiko atas aset nyata. Sebagai contoh, kolam Uniswap `ARB`/`ETH` memiliki sekitar satu juta dolar ([lihat di sini untuk nilai terbaru](https://info.uniswap.org/#/pools/0x755e5a186f0469583bd2e80d1216e02ab88ec6ca)) dan membeli atau menjual sejumlah kecil tidak akan mengubah harga: + +![Membeli token yang sah](./uniswap-real.png) + +Namun, saat Anda mencoba membeli token palsu `wARB`, bahkan pembelian kecil akan mengubah harga lebih dari 90%: + +![Membeli token palsu](./uniswap-scam.png) + +Ini adalah bukti lain yang menunjukkan bahwa `wARB` kemungkinan bukanlah token yang sah. + +3. **Cari di Etherscan**. Banyak token palsu sudah diidentifikasi dan dilaporkan oleh komunitas. Token-token seperti itu [dicatat di Etherscan](https://info.etherscan.com/etherscan-token-reputation/). Meskipun Etherscan bukan sumber otoritatif kebenaran (ini adalah sifat jaringan terdesentralisasi bahwa tidak bisa ada sumber otoritatif untuk keabsahan), token-token yang diidentifikasi oleh Etherscan sebagai penipuan kemungkinan besar adalah penipuan. + + ![Token palsu di Etherscan](./etherscan-scam.png) + +## Kesimpulan {#conclusion} + +Selama masih ada nilai di dunia, akan selalu ada penipu yang mencoba mencurinya untuk diri mereka sendiri, dan dalam dunia terdesentralisasi, tidak ada yang melindungi Anda kecuali diri Anda sendiri. Semoga Anda ingat poin-poin ini untuk membantu membedakan token sah dari penipuan: + +- Token palsu berpura-pura menjadi token sah, mereka dapat menggunakan nama, simbol, dan sebagainya yang sama. +- Token palsu _tidak dapat_ menggunakan akun kontrak yang sama. +- Sumber terbaik untuk alamat token sah adalah organisasi yang memiliki token tersebut. +- Jika tidak berhasil, Anda dapat menggunakan aplikasi-aplikasi populer dan terpercaya seperti [Uniswap](https://app.uniswap.org/#/swap) dan [Etherscan](https://etherscan.io/). diff --git a/src/content/translations/id/guides/how-to-revoke-token-access/index.md b/src/content/translations/id/guides/how-to-revoke-token-access/index.md new file mode 100644 index 00000000000..ed5ad728c59 --- /dev/null +++ b/src/content/translations/id/guides/how-to-revoke-token-access/index.md @@ -0,0 +1,73 @@ +--- +title: Cara mencabut akses smart contract ke dana kripto anda +description: Panduan cara mencabut akses token kontrak pintar yang eksploitatif +lang: id +--- + +# Cara mencabut akses smart contract ke dana kripto anda + +Panduan ini akan mengajarkan Anda cara melihat daftar semua kontrak pintar yang sudah Anda izinkan untuk mengakses dana Anda dan cara membatalkannya. + +Terkadang pengembang jahat membangun pintu belakang ke dalam kontrak pintar yang memungkinkan akses ke dana pengguna yang tidak sadar yang berinteraksi dengan kontrak pintar. Yang sering terjadi adalah platform semacam itu meminta izin kepada pengguna untuk membelanjakan **jumlah token yang tidak terbatas** dalam upaya untuk menghemat sejumlah kecil gas di masa depan, tetapi hal ini memiliki risiko yang lebih besar. + +Setelah sebuah platform memiliki hak akses tak terbatas ke token di dompet Anda, mereka dapat membelanjakan semua token tersebut meskipun Anda telah menarik dana Anda dari platform mereka ke dalam dompet Anda. Pelaku kejahatan masih dapat mengakses dana Anda dan menariknya ke dalam dompet mereka tanpa ada opsi pemulihan untuk Anda. + +Satu-satunya perlindungan adalah menahan diri untuk tidak menggunakan proyek baru yang belum teruji, hanya menyetujui apa yang Anda perlukan, atau secara teratur mencabut akses. Jadi, bagaimana Anda melakukannya? + +## Langkah 1: Gunakan perangkat pencabutan akses + +Beberapa situs web memungkinkan Anda untuk melihat dan mencabut kontrak pintar yang terhubung ke alamat Anda. Kunjungi situs web dan hubungkan dompet Anda: + +- [Ethallowance](https://ethallowance.com/) (Ethereum) +- [Etherscan](https://etherscan.io/tokenapprovalchecker) (Ethereum) +- [Cointool](https://cointool.app/approve/eth) (beberapa jaringan) +- [Pencabutan](https://revoke.cash/) (beberapa jaringan) +- [Unrekt](https://app.unrekt.net/) (beberapa jaringan) +- [EverRevoke](https://everrise.com/everrevoke/) (beberapa jaringan) + +## Langkah 2: Hubungkan dompet Anda + +Setelah Anda berada di situs web, klik "Hubungkan dompet". Situs web akan meminta Anda untuk menghubungkan dompet. + +Pastikan Anda menggunakan jaringan yang sama di dompet dan situs web Anda. Anda hanya akan melihat kontrak pintar yang terkait dengan jaringan yang dipilih. Sebagai contoh, jika Anda terhubung ke Jaringan Utama Ethereum, Anda hanya akan melihat kontrak Ethereum, bukan kontrak dari rantai lain seperti Polygon. + +## Langkah 3: Pilih kontrak pintar yang ingin Anda cabut + +Anda harus melihat semua kontrak yang diizinkan mengakses token Anda dan batas pengeluarannya. Temukan yang ingin Anda hentikan. + +Jika Anda tidak tahu kontrak mana yang harus dipilih, Anda dapat mencabut semuanya. Ini tidak akan menimbulkan masalah bagi Anda, tetapi Anda harus memberikan serangkaian izin baru saat berikutnya Anda berinteraksi dengan salah satu kontrak ini. + +## Langkah 4: Cabut akses ke dana Anda + +Setelah mengklik cabut, Anda akan melihat saran transaksi baru di dompet Anda. Hal ini sudah bisa diduga. Anda harus membayar biaya agar pembatalan berhasil. Tergantung pada jaringan, hal ini dapat memakan waktu dari satu menit hingga beberapa menit untuk diproses. + +Kami menyarankan Anda untuk menyegarkan alat pencabutan setelah beberapa menit dan menghubungkan dompet Anda lagi untuk memeriksa apakah kontrak yang dicabut sudah hilang dari daftar. + +Kami menyarankan Anda untuk tidak pernah mengizinkan proyek memiliki akses tanpa batas ke token Anda dan mencabut semua akses token secara teratur. Mencabut akses token tidak akan pernah mengakibatkan hilangnya dana, terutama jika Anda menggunakan perangkat yang tercantum di atas. + +
+ + +
Ingin mempelajari selengkapnya?
+ + Lihat panduan lainnya + +
+ +## Pertanyaan yang sering diajukan + +### Apakah mencabut akses token juga menghentikan penaruhang, pooling, pemberian pinjaman, dll? + +Tidak, ini tidak akan memengaruhi strategi DeFi Anda. Anda akan tetap berada di posisi Anda dan terus mendapatkan hadiah, dll. + +### Apakah memutuskan dompet dari sebuah proyek sama dengan menghapus izin untuk menggunakan dana saya? + +Tidak, jika Anda memutuskan dompet dari proyek, tetapi Anda telah memberikan izin pemberian token, mereka masih dapat menggunakan token tersebut. Anda perlu mencabut akses tersebut. + +### Kapan izin kontrak akan berakhir? + +Tidak ada tanggal kedaluwarsa pada izin kontrak. Jika Anda memberikan izin kontrak, izin tersebut dapat digunakan, bahkan bertahun-tahun setelah diberikan. + +### Mengapa proyek menetapkan jatah token tidak terbatas? + +Proyek sering kali melakukan hal ini untuk meminimalkan jumlah permintaan yang diperlukan, yang berarti pengguna hanya perlu menyetujui satu kali dan membayar biaya transaksi satu kali saja. Meskipun nyaman, hal ini bisa berbahaya bagi pengguna untuk menyetujui secara sembarangan, pada situs yang tidak terbukti dengan waktu atau diaudit. Beberapa dompet memungkinkan Anda untuk membatasi jumlah token yang disetujui secara manual untuk membatasi risiko Anda. Tanyakan penyedia dompet Anda untuk informasi lebih lanjut. diff --git a/src/content/translations/id/guides/how-to-swap-tokens/index.md b/src/content/translations/id/guides/how-to-swap-tokens/index.md new file mode 100644 index 00000000000..79dfc42d47e --- /dev/null +++ b/src/content/translations/id/guides/how-to-swap-tokens/index.md @@ -0,0 +1,67 @@ +--- +title: Cara menukar token +description: Panduan tentang cara menukar token di Ethereum. +lang: id +--- + +# Cara menukar token + +Apakah Anda lelah mencari bursa yang mencantumkan semua token favorit Anda? Anda dapat menukar sebagian besar token menggunakan bursa terdesentralisasi. + +Penukaran token melibatkan pertukaran dua aset berbeda yang ada di jaringan Ethereum, misalnya menukar ETH dengan DAI (token ERC-20). Prosesnya sangat cepat dan murah. Anda harus memiliki dompet kripto untuk menukar token. + +**Prasyarat:** + +- jika Anda memiliki dompet kripto, Anda dapat mengikuti tutorial ini: [Cara: "Mendaftarkan" akun Ethereum](/guides/how-to-register-an-ethereum-account/) +- menambahkan dana ke dompet Anda + +## 1. Hubungkan dompet Anda ke bursa terdesentralisasi (DEX) pilihan Anda + +Beberapa bursa yang populer adalah: + +- [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) + +Jika Anda ingin mempelajari lebih lanjut tentang apa itu DeFi dan bagaimana cara kerja bursa jenis baru ini, kami dapat merekomendasikan [Pustaka Kernel](https://library.kernel.community/Topic+-+DeFi/Topic+-+DeFi). + +## 2. Pilih pasangan token yang ingin Anda tukarkan + +Misalnya, ETH dan DAI. Pastikan Anda memiliki dana di salah satu dari dua token tersebut. ![Antarmuka umum untuk pertukaran](./swap1.png) + +## 3. Masukkan jumlah token yang ingin Anda perdagangkan dan klik tukar + +Bursa akan secara otomatis menghitung berapa banyak token yang akan Anda dapatkan. + +![Antarmuka umum untuk pertukaran](./swap2.png) + +## 4. Konfirmasi transaksi + +Tinjau detail transaksi. Periksa nilai tukar dan biaya lainnya untuk mencegah kejutan yang tidak diinginkan. + +![Antarmuka umum untuk meninjau transaksi](./swap3.png) + +## 5. Tunggu hingga transaksi diproses + +Anda bisa melihat perkembangan transaksi di penjelajah rantai blok mana pun. Proses ini seharusnya tidak memakan waktu lebih dari 10 menit. + +Anda akan secara otomatis menerima token yang ditukar di dompet Anda setelah transaksi diproses. +
+ + +
Ingin mempelajari selengkapnya?
+ + Lihat panduan lainnya + +
+ +## Pertanyaan yang sering diajukan + +### Dapatkah saya menukar ETH dengan BTC dari dompet saya? + +Tidak, Anda hanya bisa menukar token yang berasal dari jaringan Ethereum, seperti ETH, token ERC-20, atau NFT. Anda hanya bisa menukar bentuk "terbungkus" Bitcoin yang ada di Ethereum. + +### Apa yang dimaksud dengan slippage? + +Ini adalah selisih antara nilai tukar yang Anda harapkan dan nilai tukar yang sebenarnya. diff --git a/src/content/translations/id/guides/how-to-use-a-bridge/index.md b/src/content/translations/id/guides/how-to-use-a-bridge/index.md new file mode 100644 index 00000000000..28884c52a5a --- /dev/null +++ b/src/content/translations/id/guides/how-to-use-a-bridge/index.md @@ -0,0 +1,70 @@ +--- +title: Cara bridge token ke layer 2 +description: Panduan yang menjelaskan cara memindahkan token dari Ethereum ke lapisan ke-2 menggunakan jembatan. +lang: id +--- + +# Cara bridge token ke layer 2 + +Jika ada banyak lalu lintas di Ethereum, itu bisa menjadi mahal. Salah satu solusi untuk hal ini adalah dengan membuat "lapisan" baru: yaitu jaringan yang berbeda yang beroperasi dengan cara yang serupa dengan Ethereum itu sendiri. Lapisan ke-2 ini membantu mengurangi kemacetan dan biaya di Ethereum dengan memroses lebih banyak transaksi dengan biaya yang lebih rendah, dan hanya menyimpan hasilnya di Ethereum sesering mungkin. Dengan demikian, lapisan ke-2 ini memungkinkan kita untuk bertransaksi dengan kecepatan yang lebih tinggi dan biaya yang lebih rendah. Banyak proyek kripto populer yang berpindah ke lapisan ke-2 karena keuntungan-keuntungan ini. Cara paling sederhana untuk memindahkan token dari Ethereum ke lapisan ke-2 adalah dengan menggunakan jembatan. + +**Prasyarat:** + +- jika Anda memiliki dompet kripto, Anda dapat mengikuti tutorial ini: [Cara: "Mendaftarkan" akun Ethereum](/guides/how-to-register-an-ethereum-account/) +- menambahkan dana ke dompet Anda + +## 1. Tentukan jaringan lapisan ke-2 mana yang ingin Anda gunakan + +Anda dapat mempelajari lebih lanjut tentang berbagai proyek dan tautan penting di halaman [lapisan ke-2](/layer-2/). + +## 2. Buka jembatan yang dipilih + +Beberapa lapisan ke-2 yang populer adalah: + +- [Jembatan Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [Jembatan Optimism](https://app.optimism.io/bridge/deposit) +- [Jembatan Boba network](https://gateway.boba.network/) + +## 3. Hubungkan ke jembatan dengan dompet Anda + +Pastikan dompet Anda terhubung ke jaringan Jaringan Utama Ethereum. Jika tidak, situs web akan secara otomatis meminta Anda untuk berpindah jaringan. + +![Antarmuka umum untuk menjembatani token](./bridge1.png) + +## 4. Tentukan jumlah dan pindahkan dana + +Tinjau jumlah yang akan Anda dapatkan sebagai imbalan pada jaringan lapisan ke-2 dan biayanya untuk menghindari kejutan yang tidak menyenangkan. + +![Antarmuka umum untuk menjembatani token](./bridge2.png) + +## 5. Konfirmasikan transaksi di dompet Anda + +Anda harus membayar biaya dalam bentuk ETH untuk memproses transaksi. + +![Antarmuka umum untuk menjembatani token](./bridge3.png) + +## 6. Tunggu hingga dana Anda dipindahkan + +Proses ini seharusnya tidak memakan waktu lebih dari 10 menit. + +## 7. Tambahkan jaringan lapisan ke-2 yang dipilih ke dompet Anda (opsional) + +Anda dapat menggunakan [chainlist.org](http://chainlist.org) untuk menemukan detail RPC jaringan. Setelah jaringan ditambahkan dan transaksi selesai, Anda akan melihat token di dompet Anda. +
+ + +
Ingin mempelajari selengkapnya?
+ + Lihat panduan lainnya + +
+ +## Pertanyaan yang sering diajukan + +### Bagaimana jika saya memiliki dana di bursa? + +Anda mungkin dapat menarik ke beberapa layer 2 langsung dari bursa. Lihat bagian "Memindahkan ke lapisan ke-2" pada [halaman Lapisan ke-2](/layer-2/) untuk informasi lebih lanjut. + +### Dapatkah saya kembali ke jaringan utama Ethereum setelah menjembatani token saya ke L2? + +Ya, Anda selalu dapat memindahkan dana kembali ke jaringan utama menggunakan jembatan yang sama. diff --git a/src/content/translations/id/guides/how-to-use-a-wallet/index.md b/src/content/translations/id/guides/how-to-use-a-wallet/index.md new file mode 100644 index 00000000000..ec47acb6910 --- /dev/null +++ b/src/content/translations/id/guides/how-to-use-a-wallet/index.md @@ -0,0 +1,88 @@ +--- +title: Cara menggunakan dompet +description: Panduan yang menjelaskan cara mengirim, menerima token, dan terhubung ke proyek web3. +lang: id +--- + +# Cara menggunakan dompet + +Pelajari cara mengoperasikan semua fungsi dasar dompet. Jika Anda belum memilikinya, lihat [Cara: membuat akun Ethereum](/guides/how-to-create-an-ethereum-account/). + +## Buka dompet Anda + +Anda akan melihat dasbor yang kemungkinan besar akan menampilkan saldo Anda dan berisi tombol untuk mengirim dan menerima token. + +## Menerima mata uang kripto + +Apakah Anda ingin menerima kripto ke dalam dompet Anda? + +Setiap akun Ethereum memiliki alamat penerimanya sendiri yang merupakan urutan angka dan huruf yang unik. Alamat berfungsi seperti nomor rekening bank. Alamat Ethereum akan selalu dimulai dengan "0x". Anda dapat membagikan alamat ini dengan siapa pun: aman untuk melakukannya. + +Alamat Anda sama seperti alamat rumah: Anda harus memberi tahu orang-orang di mana alamat tersebut sehingga mereka dapat menemukan Anda. Hal ini aman untuk dilakukan, karena Anda masih bisa mengunci pintu depan dengan kunci lain yang hanya Anda yang bisa mengendalikannya sehingga tidak ada yang bisa masuk, meskipun mereka tahu tempat tinggal Anda. + +Anda harus memberikan alamat publik kepada siapa pun yang ingin mengirimi Anda uang. Banyak aplikasi dompet yang memungkinkan Anda menyalin alamat atau menampilkan kode QR untuk dipindai agar lebih mudah digunakan. Hindari mengetik alamat Ethereum secara manual. Hal ini dapat dengan mudah menyebabkan kesalahan administrasi dan kehilangan dana. + +Aplikasi yang berbeda mungkin berbeda atau menggunakan bahasa yang berbeda, tetapi akan membawa Anda melalui proses serupa jika Anda mencoba mentransfer dana. + +1. Buka aplikasi dompet Anda. +2. Klik "Terima" (atau opsi dengan kata yang serupa). +3. Salin alamat Ethereum Anda ke clipboard. +4. Berikan alamat Ethereum penerima kepada pengirim. + +## Kirim mata uang kripto + +Apakah Anda ingin mengirim ETH ke dompet lain? + +1. Buka aplikasi dompet Anda. +2. Dapatkan alamat penerima dan pastikan Anda terhubung ke jaringan yang sama dengan penerima. +3. Masukkan alamat penerima atau pindai kode QR dengan kamera Anda sehingga Anda tidak perlu menulis alamat secara manual. +4. Klik tombol "Kirim" di dompet Anda (atau tombol lain yang serupa). + +![Bidang kirim untuk alamat kripto](./send.png) +
+ +5. Banyak aset, seperti DAI atau USDC, ada di beberapa jaringan. Saat mentransfer token kripto, pastikan penerima menggunakan jaringan yang sama dengan Anda, karena token ini tidak dapat dipertukarkan. +6. Pastikan dompet Anda memiliki ETH yang cukup untuk membayar biaya transaksi, yang bervariasi tergantung pada kondisi jaringan. Sebagian besar dompet akan secara otomatis menambahkan biaya yang disarankan ke dalam transaksi yang kemudian dapat Anda konfirmasikan. +7. Setelah transaksi Anda diproses, jumlah kripto yang sesuai akan muncul di akun penerima. Hal ini dapat memakan waktu mulai dari beberapa detik hingga beberapa menit, tergantung pada seberapa banyak jaringan sedang digunakan. + +## Menghubungkan ke proyek + +Alamat Anda akan sama di semua proyek Ethereum. Anda tidak perlu mendaftar secara individual pada proyek apa pun. Setelah Anda memiliki dompet, Anda dapat terhubung ke proyek Ethereum apa pun tanpa informasi tambahan apa pun. Tidak ada email atau informasi pribadi lainnya yang diperlukan. + +1. Kunjungi situs web proyek mana pun. +2. Jika halaman arahan proyek hanya berupa deskripsi statis tentang proyek, Anda seharusnya dapat mengklik tombol "Buka Aplikasi" di menu yang akan menavigasi Anda ke aplikasi web yang sebenarnya. +3. Setelah Anda berada di dalam aplikasi, klik "Hubungkan" + +![Tombol yang memungkinkan pengguna terhubung ke situs web dengan dompet](./connect1.png) + +4. Pilih dompet Anda dari daftar opsi yang tersedia. Jika Anda tidak dapat melihat dompet Anda, dompet tersebut mungkin tersembunyi di bawah opsi "WalletConnect". + +![Memilih dari daftar dompet yang akan dihubungkan](./connect2.png) + +5. Konfirmasikan permintaan tanda tangan di dompet Anda untuk membuat koneksi. **Menandatangani pesan ini tidak perlu mengeluarkan ETH**. +6. Itu saja! Mulai menggunakan aplikasi. Anda dapat menemukan beberapa proyek menarik di halaman [dApps](/dapps/#explore).
+ + +
Ingin mempelajari selengkapnya?
+ + Lihat panduan lainnya + +
+ +## Pertanyaan yang sering diajukan + +### Jika saya memiliki alamat ETH, apakah akan sama di rantai blok yang lain? + +Anda dapat menggunakan alamat yang sama pada semua rantai blok yang kompatibel dengan EVM (jika Anda memiliki jenis dompet dengan frasa pemulihan). [Daftar](https://chainlist.org/) berikut ini memperlihatkan bagaimana cara menggunakan rantai blok dengan alamat yang sama. Beberapa rantai blok seperti Bitcoin, menerapkan peraturan pada jaringan yang terpisah dan Anda akan membutuhkan alamat yang berbeda dengan format yang berbeda pula. Jika Anda memiliki dompet kontrak pintar, maka Anda dapat melihat situs web produknya untuk mendapatkan informasi lebih lanjut mengenai rantai blok yang didukung olehnya. + +### Dapatkah saya menggunakan alamat yang sama di beberapa perangkat? + +Ya, Anda dapat menggunakan alamat yang sama pada beberapa perangkat. Dompet secara teknis hanyalah sebuah antarmuka untuk menunjukkan saldo Anda dan untuk melakukan transaksi, akun Anda tidak disimpan di dalam dompet, tetapi di rantai blok. + +### Saya belum menerima kripto, di mana saya bisa mengecek status transaksi? + +Anda bisa menggunakan [penjelajah blok](/developers/docs/data-and-analytics/block-explorers/) untuk melihat status transaksi apa pun secara real-time. Yang perlu Anda lakukan adalah mencari alamat dompet Anda atau ID transaksi. + +### Dapatkah saya membatalkan atau mengembalikan transaksi? + +Tidak, setelah transaksi dikonfirmasi, Anda tidak dapat membatalkan transaksi. diff --git a/src/content/translations/id/guides/index.md b/src/content/translations/id/guides/index.md new file mode 100644 index 00000000000..b8486db9d4e --- /dev/null +++ b/src/content/translations/id/guides/index.md @@ -0,0 +1,27 @@ +--- +title: Panduan Ethereum +description: Kumpulan panduan praktis yang menjelaskan dasar-dasar penggunaan Ethereum untuk pemula. +lang: id +--- + +# Panduan Ethereum + +Apakah Anda ingin memulai perjalanan Ethereum Anda? Panduan praktis kami menuntun Anda langkah demi langkah untuk memulai, dan memudahkan Anda menavigasi teknologi baru ini. + +## Memulai + +1. [Cara "membuat" akun Ethereum](/guides/how-to-create-an-ethereum-account/) - Siapa pun dapat membuat dompet secara gratis. Panduan ini akan menunjukkan kepada Anda dari mana harus memulai. + +2. [Cara menggunakan dompet](/guides/how-to-use-a-wallet/) - Pengenalan fitur-fitur dasar dompet apa pun dan cara menggunakannya. + +## Dasar-dasar keamanan + +1. [Cara mencabut akses kontrak pintar ke dana kripto Anda](/guides/how-to-revoke-token-access/) - Jika Anda tiba-tiba melihat transaksi di dompet yang tidak Anda mulai, panduan ini akan mengajari Anda cara mencegah hal itu terjadi lagi. + +2. [Cara mengidentifikasi token penipuan](/guides/how-to-id-scam-tokens/) - Apa itu token penipuan, bagaimana token tersebut terlihat sah, dan bagaimana cara mengidentifikasinya untuk melindungi diri Anda sendiri dan menghindari penipuan. + +## Menggunakan Ethereum + +1. [Cara menjembatani token ke lapisan ke-2](/guides/how-to-use-a-bridge/) - Apakah transaksi Ethereum terlalu mahal? Pertimbangkan untuk beralih ke solusi penskalaan Ethereum yang disebut dengan lapisan ke-2. + +2. [Bagaimana cara menukar token](/guides/how-to-swap-tokens/) - Apakah Anda ingin menukarkan token Anda dengan token lain? Panduan sederhana ini akan menunjukkan kepada Anda bagaimana caranya. diff --git a/src/content/translations/id/roadmap/account-abstraction/index.md b/src/content/translations/id/roadmap/account-abstraction/index.md new file mode 100644 index 00000000000..b22d5808ddb --- /dev/null +++ b/src/content/translations/id/roadmap/account-abstraction/index.md @@ -0,0 +1,126 @@ +--- +title: Abstraksi akun +description: Ikhtisar rencana Ethereum untuk membuat akun pengguna menjadi lebih sederhana dan aman +lang: id +summaryPoints: + - Abstraksi akun memudahkan untuk membuat dompet kontrak pintar + - Dompet kontrak pintar memudahkan untuk mengelola akses ke akun Ethereum + - Kunci yang hilang dan terbuka dapat dipulihkan dengan menggunakan beberapa cadangan +--- + +# Abstraksi akun {#account-abstraction} + +Pengguna berinteraksi dengan Ethereum menggunakan **[akun yang dimiliki secara eksternal (EOA)](/glossary/#eoa)**. Ini adalah satu-satunya cara untuk memulai transaksi atau mengeksekusi kontrak pintar. Hal ini membatasi bagaimana pengguna dapat berinteraksi dengan Ethereum. Misalnya, menyulitkan untuk melakukan banyak transaksi dan mengharuskan pengguna untuk selalu menjaga saldo ETH untuk menutupi gas. + +Abstraksi akun adalah cara untuk mengatasi masalah ini dengan memungkinkan pengguna secara fleksibel memprogram lebih banyak keamanan dan pengalaman pengguna yang lebih baik ke dalam akun mereka. Hal ini dapat terjadi dengan [memperbarui EOA](https://eips.ethereum.org/EIPS/eip-3074) sehingga dapat dikontrol oleh kontrak pintar, atau dengan [memperbarui kontrak pintar](https://eips.ethereum.org/EIPS/eip-2938) agar dapat memulai transaksi. Kedua opsi ini membutuhkan perubahan pada protokol Ethereum. Ada juga jalur ketiga yang melibatkan penambahan [sistem transaksi kedua yang terpisah](https://eips.ethereum.org/EIPS/eip-4337) untuk berjalan secara paralel dengan protokol yang ada. Terlepas dari rutenya, hasilnya adalah akses ke Ethereum melalui dompet kontrak pintar, baik yang didukung secara native sebagai bagian dari protokol yang ada atau melalui jaringan transaksi tambahan. + +Dompet kontrak pintar membuka banyak manfaat bagi pengguna, termasuk: + +- menentukan aturan keamanan fleksibel Anda sendiri +- memulihkan akun Anda jika Anda kehilangan kunci +- berbagi keamanan akun Anda di seluruh perangkat atau individu tepercaya +- membayar gas orang lain, atau meminta orang lain membayar gas Anda +- transaksi batch secara bersamaan (mis. menyetujui dan mengeksekusi pertukaran sekaligus) +- lebih banyak kesempatan bagi dapps dan pengembang dompet untuk berinovasi pada pengalaman pengguna + +Manfaat ini tidak didukung secara native saat ini karena hanya akun yang dimiliki secara eksternal ([EOA](/glossary/#eoa)) yang dapat memulai transaksi. EOA secara sederhana adalah pasangan kunci publik-pribadi. Cara kerjanya seperti ini: + +- jika Anda memiliki kunci pribadi, Anda dapat melakukan _apa saja_ sesuai dengan aturan Mesin Virtual Ethereum (EVM) +- jika Anda tidak memiliki kunci pribadi, Anda _tidak dapat melakukan apa-apa_. + +Jika Anda kehilangan kunci, kunci tersebut tidak dapat dipulihkan, dan kunci yang dicuri memberi pencuri akses instan ke semua dana dalam akun. + +Dompet kontrak pintar adalah solusi untuk masalah ini, tetapi saat ini sulit untuk diprogram karena pada akhirnya logika apa pun yang diterapkan harus diterjemahkan ke dalam satu set transaksi EOA sebelum dapat diproses oleh Ethereum. Abstraksi akun memungkinkan kontrak pintar untuk memulai transaksi sendiri, sehingga logika apa pun yang ingin diimplementasikan oleh pengguna dapat dikodekan ke dalam dompet kontrak pintar itu sendiri dan dieksekusi di Ethereum. + +Pada akhirnya, abstraksi akun meningkatkan dukungan untuk dompet kontrak pintar, membuatnya lebih mudah dibuat dan lebih aman digunakan. Pada akhirnya, dengan abstraksi akun, pengguna dapat menikmati semua manfaat Ethereum tanpa harus mengetahui atau peduli dengan teknologi yang mendasarinya. + +## Di luar frasa benih {#beyond-seed-phrases} + +Akun-akun saat ini diamankan menggunakan kunci pribadi yang dihitung dari frasa benih. Setiap orang yang memiliki akses ke frase benih dapat dengan mudah menemukan kunci pribadi yang melindungi sebuah akun dan mendapatkan akses ke semua aset yang dilindunginya. Jika kunci pribadi dan frase benih hilang, maka tidak akan pernah bisa dipulihkan dan aset yang dikontrolnya akan dibekukan selamanya. Mengamankan frase benih ini sangat sulit, bahkan bagi pengguna yang sudah ahli sekalipun, dan phishing frasa benih merupakan salah satu cara yang paling umum dilakukan untuk menipu para pengguna. + +Abstraksi akun akan menyelesaikan masalah ini dengan menggunakan kontrak pintar untuk menyimpan aset dan mengesahkan transaksi. Kontrak pintar ini kemudian dapat didekorasi dengan logika khusus untuk membuatnya seaman mungkin dan disesuaikan dengan pengguna. Pada akhirnya, Anda masih menggunakan kunci pribadi untuk mengontrol akses ke akun Anda, tetapi dengan jaring pengaman yang membuatnya lebih mudah dan aman untuk dikelola. + +Sebagai contoh, kunci cadangan dapat ditambahkan ke dompet sehingga jika Anda kehilangan atau secara tidak sengaja mengekspos kunci utama Anda, kunci tersebut dapat diganti dengan kunci baru yang aman dengan izin dari kunci cadangan. Anda bisa mengamankan setiap kunci ini dengan cara yang berbeda, atau membaginya ke beberapa penjaga yang tepercaya. Hal ini membuat pencuri lebih sulit mendapatkan kendali penuh atas dana Anda. Sama halnya, Anda dapat menambahkan peraturan pada dompet untuk mengurangi dampak jika kunci utama Anda diretas, sebagai contoh, Anda dapat mengizinkan transaksi bernilai rendah untuk diverifikasi dengan satu tanda tangan, sedangkan transaksi bernilai lebih tinggi membutuhkan persetujuan dari beberapa penanda tangan yang terautentikasi. Ada beberapa cara lain dompet kontrak pintar dapat membantu Anda untuk menggagalkan pencurian, contohnya adalah daftar putih yang dapat digunakan untuk memblokir setiap transaksi kecuali jika transaksi tersebut ditujukan kepada alamat yang terpercaya atau diverifikasi oleh beberapa kunci yang telah Anda setujui sebelumnya. + +### Contoh logika keamanan yang dapat dibangun ke dalam dompet kontrak pintar: + +- **Otorisasi multisig**: Anda dapat berbagi kredensial otorisasi di beberapa orang atau perangkat tepercaya. Kemudian kontrak dapat dikonfigurasikan sehingga transaksi yang melebihi nilai yang telah ditetapkan memerlukan otorisasi dari proporsi tertentu (mis. 3/5) dari pihak-pihak tepercaya. Sebagai contoh, transaksi bernilai tinggi mungkin memerlukan persetujuan dari perangkat seluler dan dompet perangkat keras, atau tanda tangan dari akun yang didistribusikan ke anggota keluarga tepercaya. +- **Pembekuan akun**: Jika perangkat hilang atau disusupi, akun dapat dikunci dari perangkat lain yang sah, untuk melindungi aset pengguna. +- **Pemulihan akun**: Kehilangan perangkat atau lupa kata sandi? Dalam paradigma saat ini, ini berarti aset Anda bisa dibekukan selamanya. Dengan dompet kontrak pintar, Anda dapat mengatur beberapa akun yang telah disetujui sebelumnya yang dapat mengizinkan perangkat baru dan mengatur ulang akses. +- **Tetapkan batas transaksi**: tentukan ambang batas harian berapa banyak nilai yang dapat ditransfer dari akun dalam satu hari/minggu/bulan. Ini berarti jika penyerang mendapatkan akses ke akun Anda, mereka tidak dapat menguras semuanya sekaligus dan Anda memiliki kesempatan untuk membekukan dan mengatur ulang akses. +- **Buat daftar putih**: hanya mengizinkan transaksi ke alamat tertentu yang Anda ketahui aman. Ini berarti bahwa _meskipun_ kunci pribadi Anda dicuri, penyerang tidak dapat mengirimkan dana ke akun tujuan yang tidak masuk dalam daftar putih. Daftar putih ini akan membutuhkan beberapa tanda tangan untuk mengubahnya sehingga penyerang tidak dapat menambahkan alamat mereka sendiri ke dalam daftar kecuali mereka memiliki akses ke beberapa kunci cadangan Anda. + +## Pengalaman pengguna yang lebih baik {#better-user-experience} + +Abstraksi akun memungkinkan pengalaman **pengguna yang lebih baik secara keseluruhan** serta **peningkatan keamanan** karena menambahkan dukungan untuk dompet kontrak pintar di tingkat protokol. Alasan yang paling penting untuk hal ini adalah akan memberi pengembang kontrak pintar, dompet, dan aplikasi lebih banyak kebebasan untuk berinovasi pada pengalaman pengguna dengan cara yang mungkin belum dapat kita antisipasi. Beberapa peningkatan nyata yang akan datang bersama dengan abstraksi akun termasuk penggabungan transaksi untuk kecepatan dan efisiensi. Sebagai contoh, pertukaran sederhana seharusnya merupakan operasi sekali klik, tetapi saat ini memerlukan penandatanganan beberapa transaksi untuk menyetujui pengeluaran token individu sebelum pertukaran dieksekusi. Abstraksi akun menghilangkan gesekan tersebut dengan mengizinkan penggabungan transaksi. Selain itu, transaksi yang digabungkan dapat menyetujui dengan tepat nilai token yang tepat yang diperlukan untuk setiap transaksi dan kemudian mencabut persetujuan setelah transaksi selesai, memberikan keamanan tambahan. + +Manajemen gas juga jauh lebih baik dengan adanya abstraksi akun. Aplikasi tidak hanya dapat menawarkan untuk membayar biaya gas penggunanya, tetapi biaya gas dapat dibayar dengan token selain ETH, membebaskan pengguna dari keharusan untuk mempertahankan saldo ETH untuk mendanai transaksi. Ini akan bekerja dengan menukar token pengguna dengan ETH di dalam kontrak dan kemudian menggunakan ETH untuk membayar gas. + + + +Manajemen gas adalah salah satu gesekan utama bagi pengguna Ethereum, terutama karena ETH adalah satu-satunya aset yang dapat digunakan untuk membayar transaksi. Bayangkan Anda memiliki dompet dengan saldo USDC, tetapi tidak memiliki ETH. Anda tidak dapat memindahkan atau menukar token USDC tersebut karena Anda tidak dapat membayar gas. Anda juga tidak dapat menukar USDC dengan ETH, karena itu sendiri membutuhkan gas. Anda harus mengirim lebih banyak ETH ke akun Anda dari bursa atau alamat lain untuk menyelesaikan masalah. Dengan dompet kontrak pintar, Anda cukup membayar gas dalam USDC, sehingga membebaskan akun Anda. Anda tidak perlu lagi menyimpan saldo ETH di semua akun Anda. + +Abstraksi akun juga memungkinkan pengembang dapp untuk berkreasi dengan manajemen gas. Sebagai contoh, Anda mungkin dapat mulai membayar DEX favorit Anda dengan biaya tetap setiap bulan untuk transaksi tanpa batas. Dapps mungkin menawarkan untuk membayar semua biaya gas Anda atas nama Anda sebagai imbalan karena telah menggunakan platform mereka, atau sebagai penawaran orientasi. Akan lebih mudah bagi pengembang untuk berinovasi pada gas ketika dompet kontrak pintar didukung di tingkat protokol. + + + +Sesi tepercaya juga berpotensi mengubah pengalaman pengguna, terutama untuk aplikasi seperti game, di mana sejumlah besar transaksi kecil mungkin memerlukan persetujuan dalam waktu singkat. Menyetujui setiap transaksi secara individual akan merusak pengalaman bermain game, tetapi persetujuan permanen tidak aman. Dompet kontrak pintar dapat menyetujui transaksi tertentu untuk waktu tertentu, hingga nilai tertentu atau hanya ke alamat tertentu. + +Menarik juga untuk mempertimbangkan bagaimana pembelian dapat berubah dengan abstraksi akun. Saat ini, setiap transaksi harus disetujui dan dieksekusi dari dompet yang sudah didanai sebelumnya dengan jumlah token yang tepat. Dengan abstraksi akun, pengalamannya bisa lebih mirip dengan belanja daring yang sudah dikenal di mana pengguna dapat mengisi "keranjang" dengan barang-barang dan mengklik sekali untuk membeli sekaligus, dengan semua logika yang diperlukan ditangani oleh kontrak, bukan oleh pengguna. + +Ini hanyalah beberapa contoh bagaimana pengalaman pengguna dapat ditingkatkan dengan abstraksi akun, tetapi akan ada lebih banyak lagi yang belum kami bayangkan. Abstraksi akun membebaskan pengembang dari batasan EOA saat ini, memungkinkan mereka untuk membawa aspek-aspek yang baik dari web2 ke dalam web3 tanpa mengorbankan hak milik dan meretas secara kreatif pada pengalaman pengguna baru yang kreatif. + +## Bagaimana abstraksi akun akan diimplementasikan? {#how-will-aa-be-implemented} + +Dompet kontrak pintar sudah ada saat ini, namun sulit untuk diimplementasikan karena EVM tidak mendukungnya. Sebaliknya, mereka mengandalkan pembungkusan kode yang relatif rumit di sekitar transaksi Ethereum standar. Ethereum dapat mengubah hal ini dengan mengizinkan kontrak pintar untuk memulai transaksi, menangani logika yang diperlukan dalam kontrak pintar Ethereum, bukan di luar rantai. Menambahkan logika ke dalam kontrak pintar juga meningkatkan desentralisasi Ethereum karena menghilangkan kebutuhan untuk "relayers" yang dikelola oleh pengembang dompet guna menerjemahkan pesan yang ditandatangani oleh pengguna ke dalam transaksi Ethereum reguler. + + + +EIP-2771 memperkenalkan konsep transaksi meta yang memungkinkan pihak ketiga untuk membayar biaya gas pengguna tanpa membuat perubahan pada protokol Ethereum. Idenya adalah bahwa transaksi yang ditandatangani oleh pengguna dikirim ke kontrak `Pengirim`. Pengirim adalah entitas tepercaya yang memverifikasi bahwa transaksi tersebut valid sebelum mengirimkannya ke relai gas. Hal ini dilakukan secara di luar rantai, sehingga tidak perlu membayar gas. Relai gas meneruskan transaksi ke kontrak `Penerima`, membayar gas yang diperlukan agar transaksi dapat dieksekusi di Ethereum. Transaksi dieksekusi jika `Pengirim` dikenal dan dipercaya oleh `Penerima`. Model ini memudahkan pengembang untuk mengimplementasikan transaksi tanpa gas bagi pengguna. + + + + + +EIP-4337 adalah langkah pertama menuju dukungan dompet kontrak pintar asli dengan cara yang terdesentralisasi tanpa memerlukan perubahan pada protokol Ethereum. Alih-alih memodifikasi lapisan konsensus untuk mendukung dompet kontrak pintar, sistem baru ditambahkan secara terpisah ke protokol gosip transaksi normal. Sistem tingkat yang lebih tinggi ini dibangun di sekitar objek baru yang disebut UserOperation yang mengemas tindakan dari pengguna bersama dengan tanda tangan yang relevan. Objek UserOperation ini kemudian disiarkan ke dalam kolam memori khusus di mana validator dapat mengumpulkannya ke dalam "transaksi paket". Transaksi paket mewakili urutan banyak UserOperations individu dan dapat dimasukkan ke dalam blok Ethereum seperti halnya transaksi normal, dan akan diambil oleh validator menggunakan model seleksi pemaksimalan biaya yang serupa. + +Cara kerja dompet juga akan berubah di bawah EIP-4337. Daripada setiap dompet mengimplementasikan kembali logika keamanan yang umum namun rumit, fungsi-fungsi tersebut akan dialihdayakan ke kontrak dompet global yang dikenal sebagai "titik masuk". Ini akan menangani operasi seperti membayar biaya dan mengeksekusi kode EVM sehingga pengembang dompet dapat fokus untuk memberikan pengalaman pengguna yang sangat baik. + +Catatan kontrak titik masuk EIP 4337 telah digunakan pada Jaringan Utama Ethereum pada tanggal 1 Maret 2023. Anda dapat melihat kontraknya di Etherscan. + + + + + +EIP-2938 bertujuan untuk memperbarui protokol Ethereum dengan memperkenalkan jenis transaksi baru, AA_TX_TYPE yang mencakup tiga bidang: nonce, target, dan data, di mana nonce adalah penghitung transaksi, target adalah alamat kontrak titik masuk, dan data adalah kode bita EVM. Untuk menjalankan transaksi-transaksi ini, dua instruksi baru (dikenal sebagai opcode) harus ditambahkan ke EVM: NONCE dan PAYGAS. Opcode NONCE melacak urutan transaksi dan PAYGAS menghitung dan menarik gas yang diperlukan untuk menjalankan transaksi dari saldo kontrak. Fitur-fitur baru ini memungkinkan Ethereum untuk mendukung dompet kontrak pintar secara alami karena infrastruktur yang diperlukan sudah terpasang pada protokol Ethereum. + +Perhatikan bahwa EIP-2938 saat ini tidak aktif. Komunitas saat ini lebih menyukai EIP-4337 karena tidak memerlukan perubahan pada protokol. + + + + + +EIP-3074 bertujuan untuk memperbarui akun yang dimiliki oleh Ethereum secara eksternal dengan mengizinkannya untuk mendelegasikan kontrol kepada kontrak pintar. Ini berarti logika kontrak pintar dapat menyetujui transaksi yang berasal dari EOA. Hal ini akan memungkinkan fitur-fitur seperti sponsor gas dan transaksi berkelompok. Agar dapat berfungsi, dua opcode baru harus ditambahkan ke EVM: AUTH dan AUTHCALL. Dengan EIP-3074, manfaat dompet kontrak pintar tersedia tanpa memerlukan kontrak - sebagai gantinya, jenis kontrak tanpa negara, tanpa kepercayaan, dan tidak dapat ditingkatkan yang dikenal sebagai "invoker" yang menangani transaksi. + +Perhatikan bahwa EIP-3074 saat ini tidak aktif. Komunitas saat ini lebih menyukai EIP-4337 karena tidak memerlukan perubahan pada protokol. + + + +## Kemajuan saat ini {#current-progress} + +Dompet kontrak pintar sudah tersedia, tetapi lebih banyak peningkatan diperlukan untuk membuatnya terdesentralisasi dan tanpa izin. EIP-4337 adalah proposal matang yang tidak memerlukan perubahan apa pun pada protokol Ethereum, sehingga sangat mungkin untuk diimplementasikan dengan cepat. Namun, peningkatan yang mengubah protokol Ethereum saat ini tidak dalam pengembangan aktif, sehingga perubahan tersebut mungkin membutuhkan waktu lebih lama untuk dikirimkan. Hal ini juga memungkinkan bahwa abstraksi akun dicapai dengan cukup baik oleh EIP-4337 sehingga tidak ada perubahan protokol yang diperlukan. + +## Bacaan lebih lanjut {#further-reading} + +- [erc4337.io](https://www.erc4337.io/) +- [Diskusi panel abstraksi akun dari Devcon Bogota](https://www.youtube.com/watch?app=desktop&v=WsZBymiyT-8) +- ["Mengapa abstraksi akun adalah pengubah permainan untuk dapps" dari Devcon Bogota](https://www.youtube.com/watch?v=OwppworJGzs) +- ["Abstraksi akun ELI5" dari Devcon Bogota](https://www.youtube.com/watch?v=QuYZWJj65AY) +- [Catatan "Jalan Menuju Abstraksi Akun" dari Vitalik](https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap#Transaction-inclusion-lists) +- [Postingan blog Vitalik tentang dompet pemulihan sosial](https://vitalik.ca/general/2021/01/11/recovery.html) +- [Catatan EIP-2938](https://hackmd.io/@SamWilsn/ryhxoGp4D#What-is-EIP-2938) +- [Dokumentasi EIP-2938](https://eips.ethereum.org/EIPS/eip-2938) +- [Catatan EIP-4337](https://medium.com/infinitism/erc-4337-account-abstraction-without-ethereum-protocol-changes-d75c9d94dc4a) +- [Dokumentasi EIP-4337](https://eips.ethereum.org/EIPS/eip-4337) +- [Dokumentasi EIP-2771](https://eips.ethereum.org/EIPS/eip-2771) +- ["Dasar-dasar Abstraksi Akun" - Apa itu Abstraksi Akun Bagian I](https://www.alchemy.com/blog/account-abstraction) diff --git a/src/content/translations/id/roadmap/beacon-chain/index.md b/src/content/translations/id/roadmap/beacon-chain/index.md index 8ee144be626..b1405f4d2e8 100644 --- a/src/content/translations/id/roadmap/beacon-chain/index.md +++ b/src/content/translations/id/roadmap/beacon-chain/index.md @@ -4,64 +4,71 @@ description: Belajar tentang Rantai Suar - peningkatan yang memperkenalkan bukti lang: id template: upgrade image: ../../../../../assets/upgrades/core.png -summaryPoint1: Rantai Suar tidak mengubah apa pun terkait Ethereum yang kita gunakan saat ini. -summaryPoint2: Rantai Suar akan mengoordinasikan jaringan, yang berfungsi sebagai lapisan konsensus. -summaryPoint3: Rantai Suar memperkenalkan bukti taruhan ke ekosistem Ethereum. -summaryPoint4: Anda mungkin mengenalnya sebagai "Fase 0" pada roadmap teknis. +summaryPoint1: Rantai Suar memperkenalkan bukti taruhan ke dalam ekosistem Ethereum. +summaryPoint2: Rantai ini digabungkan dengan rantai bukti kerja Ethereum yang asli pada bulan September 2022. +summaryPoint3: Rantai Suar memperkenalkan logika konsensus dan protokol gosip blok yang sekarang mengamankan Ethereum. --- - Rantai Suar yang diluncurkan pada siang hari, 1 Desember 2020 waktu UTC. Untuk mempelajari lebih lanjut, jelajahi data ini. Jika Anda ingin membantu memvalidasi rantai, Anda dapat menaruhkan ETH Anda. + Rantai Suar dikirimkan pada tanggal 1 Desember 2020, dan meresmikan bukti taruhan sebagai mekanisme konsensus Ethereum dengan peningkatan Penggabungan pada tanggal 15 September 2022. -## Apa yang dilakukan oleh Rantai Suar? {#what-does-the-beacon-chain-do} +## Apa yang dimaksud dengan Rantai Suar? {#what-is-the-beacon-chain} + +Rantai Suar adalah nama rantai blok bukti taruhan asli yang diluncurkan pada tahun 2020. Ini dibuat untuk memastikan logika konsensus bukti taruhan yang baik dan berkelanjutan sebelum mengaktifkannya di Jaringan Utama Ethereum. Oleh karena itu, ia berjalan bersama dengan Ethereum bukti kerja yang asli. Rantai Suar adalah sebuah rantai blok 'kosong', tetapi mematikan bukti kerja dan mengaktifkan bukti taruhan pada Ethereum membutuhkan instruksi kepada Rantai Suar untuk menerima data transaksi dari klien eksekusi, menggabungkannya ke dalam blok-blok, dan kemudian mengaturnya ke dalam sebuah rantai blok dengan menggunakan sebuah mekanisme konsensus berbasis bukti taruhan. Pada saat yang sama, klien Ethereum yang asli mematikan penambangan, penyebaran blok, dan logika konsensus mereka, dan menyerahkan semuanya kepada Rantai Suar. Acara ini dikenal sebagai [Penggabungan](/roadmap/merge/). Setelah Penggabungan terjadi, tidak ada lagi dua rantai blok. Sebagai gantinya, hanya ada satu bukti taruhan Ethereum, yang sekarang membutuhkan dua klien yang berbeda per simpul. Rantai Suar sekarang menjadi lapisan konsensus, sebuah jaringan klien konsensus rekan-ke-rekan yang menangani gosip blok dan logika konsensus, sementara klien asli membentuk lapisan eksekusi, yang bertanggung jawab untuk menggosipkan dan mengeksekusi transaksi, dan mengelola status Ethereum. Kedua lapisan tersebut dapat berkomunikasi satu sama lain menggunakan API Engine. -Rantai Suar akan mengadakan atau mengoordinasi jaringan yang sudah diperluas dari [shard](/roadmap/danksharding/) dan [penaruh](/staking/). Tapi itu tidak akan sama seperti [Jaringan Utama Ethereum](/glossary/#mainnet) saat ini. Rantai suar tidak bisa menangani akun ataupun kontrak pintar. +## Apa yang dilakukan oleh Rantai Suar? {#what-does-the-beacon-chain-do} -Peran Rantai Suar akan berubah seiring berjalannya waktu, namun rantai ini merupakan komponen dasar untuk [jaringan Ethereum yang aman, berkelanjutan, dan terukur yang sedang kami kerjakan](/roadmap/vision/). +Rantai Suar adalah nama yang diberikan kepada buku besar akun yang melakukan dan mengkoordinasikan jaringan [penaruh](/staking/) sebelum para penaruh tersebut mulai memvalidasi blok Ethereum yang sebenarnya. Lapisan ini tidak memproses transaksi atau menangani interaksi kontrak pintar karena hal itu dilakukan di lapisan eksekusi. Rantai Suar bertanggung jawab untuk hal-hal seperti penanganan blok dan pengesahan, menjalankan algoritma pilihan garpu, dan mengelola imbalan, dan penalti. Baca lebih lanjut di [halaman arsitektur simpul](/developers/docs/nodes-and-clients/node-architecture/#node-comparison). -## Fitur-fitur Rantai Suar {#beacon-chain-features} +## Dampak Rantai Suar {#beacon-chain-features} ### Memperkenalkan penaruhan {#introducing-staking} -Rantai Suar akan memperkenalkan [bukti taruhan](/developers/docs/consensus-mechanisms/pos/) kepada Ethereum. Ini adalah cara baru untuk anda membantu mempertahankan keamanan Ethereum. Bayangkan ini sebagai sebuah kebaikan umum yang akan membuat Ethereum lebih sehat dan menghasilkan lebih banyak ETH dalam prosesnya. Pada praktiknya, itu akan melibatkan Anda untuk menaruhkan ETH dengan tujuan mengaktifkan perangkat lunak validator. Sebagai validator Anda akan memroses transaksi dan menciptakan blok-blok baru di dalam rantai. +Rantai Suar memperkenalkan [bukti taruhan](/developers/docs/consensus-mechanisms/pos/) pada Ethereum. Hal ini membuat Ethereum tetap aman dan membuat validator mendapatkan lebih banyak ETH dalam prosesnya. Dalam praktiknya, penaruhan melibatkan penaruhan ETH untuk mengaktifkan perangkat lunak validator. Sebagai penaruh, Anda menjalankan perangkat lunak yang membuat dan memvalidasi blok baru dalam chain. + +Penaruhan memiliki tujuan yang serupa dengan [penambangan](/developers/docs/mining/), tetapi berbeda dalam banyak hal. Penambangan membutuhkan pengeluaran besar di muka dalam bentuk perangkat keras yang kuat dan konsumsi energi, yang menghasilkan skala ekonomi, dan mendorong sentralisasi. Penambangan juga tidak dilengkapi dengan persyaratan untuk mengunci aset sebagai jaminan, membatasi kemampuan protokol untuk menghukum pelaku kejahatan setelah terjadi serangan. -Penaruhan dan menjadi validator lebih mudah daripada [menambang](/developers/docs/mining/) (itulah bagaimana saat ini jaringan aman). Ini diharapkan dapat membantu membuat Ethereum lebih aman dalam jangka panjang. Semakin banyak orang berpartisipasi dalam jaringan ini, makin terdesentralisasi dan amanlah jaringan ini dari serangan. +Transisi ke bukti taruhan membuat Ethereum secara signifikan lebih aman dan terdesentralisasi dibandingkan dengan bukti kerja. Semakin banyak orang yang berpartisipasi dalam jaringan, semakin terdesentralisasi dan aman dari serangan. + +Dan menggunakan bukti taruhan sebagai mekanisme konsensus adalah komponen dasar untuk [Ethereum yang aman, ramah lingkungan, dan dapat diskalakan yang kita miliki saat ini](/roadmap/vision/). -Jika Anda tertarik untuk menjadi validator dan membantu mengamankan Rantai Suar, pelajari selengkapnya tentang penaruhan. + Jika Anda tertarik untuk menjadi validator dan membantu mengamankan Ethereum, pelajari lebih lanjut tentang penaruhan. -Ini juga merupakan perubahan penting untuk peningkatan lainnya: [rantai shard](/roadmap/danksharding/). +### Menyiapkan untuk pecahan {#setting-up-for-sharding} + +Sejak Rantai Suar bergabung dengan Jaringan Utama Ethereum yang asli, komunitas Ethereum mulai mencari cara untuk penskalaan jaringan. -### Menyiapkan rantai shard {#setting-up-for-shard-chains} +Bukti taruhan memiliki keuntungan karena memiliki registri semua produsen blok yang disetujui pada waktu tertentu, masing-masing dengan ETH yang dipertaruhkan. Registri ini menetapkan panggung untuk kemampuan membagi dan menaklukkan, tetapi dengan andal membagi tanggung jawab jaringan tertentu. -Setelah Jaringan Utama bergabung dengan Rantai Suar, peningkatan berikutnya akan memperkenalkan rantai shard ke jaringan bukti taruhan. "Shard" ini akan meningkatkan kapasitas jaringan dan meningkatkan kecepatan transaksi dengan memperluas jaringan menjadi 64 blockchain. Rantai Suar adalah langkah penting utama dalam mengenalkan rantai shard, karena membutuhkan penaruhan agar berfungsi dengan aman. +Tanggung jawab ini berbeda dengan bukti kerja, di mana penambang tidak memiliki kewajiban terhadap jaringan dan dapat berhenti menambang dan mematikan perangkat lunak simpul mereka secara permanen dalam sekejap tanpa ada konsekuensi. Juga tidak ada registri pengusul blok yang dikenal dan tidak ada cara yang dapat diandalkan untuk membagi tanggung jawab jaringan dengan aman. -Nantinya Rantai Suar juga akan bertangung jawab untuk para penaruh yang dipilih secara acak untuk mengesahkan rantai shard. Ini adalah kunci untuk membuat para penaruh sulit berkolusi dan mengambil alih shard. Ini berarti mereka mempunyai [kesempatan kurang dari 1 dalam satu triliun](https://medium.com/@chihchengliang/minimum-committee-size-explained-67047111fa20). +[Lebih lanjut tentang pecahan](/roadmap/danksharding/) -## Hubungan antar Peningkatan {#relationship-between-upgrades} +## Hubungan antar peningkatan {#relationship-between-upgrades} Semua peningkatan Ethereum saling terkait. Jadi ayo kita ingat kembali bagaimana Rantai Suar memengaruhi peningkatan lainnya. -### Jaringan Utama dan Rantai Suar {#mainnet-and-beacon-chain} +### Rantai Suar dan Penggabungan {#merge-and-beacon-chain} -Rantai Suar, pada awalnya, akan hadir terpisah dari Jaringan Utama Ethereum yang kita gunakan saat ini. Tetapi mereka akan disatukan ke depannya. Rencananya adalah "menggabungkan" Jaringan Utama ke dalam sistem bukti taruhan yang dikontrol dan dikoordinasi oleh Rantai Suar. +Pada awalnya, Rantai Suar ada secara terpisah dari Jaringan Utama Ethereum, tetapi keduanya digabungkan pada tahun 2022. - Penggabungan + Penggabungan -### Shard dan Rantai Suar {#shards-and-beacon-chain} +### Pecahan dan Rantai Suar {#shards-and-beacon-chain} -Rantai shard hanya dapat masuk dalam ekosistem Ethereum dengan mekanisme konsesus bukti taruhan. Rantai Suar akan memperkenalkan penaruhan, menyiapkan jalan bagi peningkatan rantai shard berikutnya. +Pecahan hanya dapat masuk ke dalam ekosistem Ethereum dengan aman dengan adanya mekanisme konsensus bukti taruhan. Rantai Suar memperkenalkan penaruhan, yang 'bergabung' dengan Jaringan Utama, membuka jalan bagi pecahan untuk membantu meningkatkan skala Ethereum. - Rantai shard + Rantai shard - - -## Berinteraksi dengan Rantai Suar {#interact-with-beacon-chain} +## Bacaan Lebih Lanjut - +- [Lebih lanjut tentang peningkatan Ethereum di masa depan](/roadmap/vision) +- [Lebih lanjut tentang arsitektur simpul](/developers/docs/nodes-and-clients/node-architecture) +- [Lebih lanjut tentang bukti taruhan](/developers/docs/consensus-mechanisms/pos) diff --git a/src/content/translations/id/roadmap/danksharding/index.md b/src/content/translations/id/roadmap/danksharding/index.md new file mode 100644 index 00000000000..2f374f1908a --- /dev/null +++ b/src/content/translations/id/roadmap/danksharding/index.md @@ -0,0 +1,91 @@ +--- +title: Danksharding +description: Pelajari tentang Proto-Danksharding dan Danksharding - dua peningkatan berurutan untuk penskalaan Ethereum. +lang: id +summaryPoints: + - Danksharding adalah peningkatan multi-fase untuk meningkatkan skalabilitas dan kapasitas Ethereum. + - Tahap pertama, Proto-Danksharding, menambahkan blob data ke dalam blok + - Blob data menawarkan cara rollup yang lebih murah untuk memposting data ke Ethereum dan biaya tersebut dapat diteruskan kepada pengguna dalam bentuk biaya transaksi yang lebih rendah. + - Nantinya, Danksharding penuh akan menyebarkan tanggung jawab untuk memverifikasi blob data di seluruh subset simpul, yang selanjutnya akan melakukan penskalaan Ethereum menjadi lebih dari 100.000 transaksi per detik. +--- + +# Danksharding {#danksharding} + +**Danksharding** adalah bagaimana Ethereum menjadi rantai blok yang benar-benar dapat diskalakan, tetapi ada beberapa peningkatan protokol yang diperlukan untuk mencapainya. **Proto-Danksharding** adalah langkah menengah di sepanjang prosesnya. Keduanya bertujuan untuk membuat transaksi di Lapisan ke-2 semurah mungkin bagi pengguna dan harus meningkatkan skala Ethereum hingga >100.000 transaksi per detik. + +## Apa yang dimaksud dengan Proto-Danksharding? {#what-is-protodanksharding} + +Proto-Danksharding, juga dikenal sebagai [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), adalah sebuah cara [rollup](/layer2/#rollups) untuk menambahkan data yang lebih murah ke dalam blok. Nama ini berasal dari dua peneliti yang mengusulkan ide tersebut: Protolambda dan Dankrad Feist. Saat ini, rollup terbatas pada seberapa murahnya mereka dapat melakukan transaksi pengguna karena mereka memposting transaksi mereka dalam `CALLDATA`. Ini mahal karena diproses oleh semua simpul Ethereum dan berada di rantai selamanya, meskipun rollup hanya membutuhkan data untuk waktu yang singkat. Proto-Danksharding memperkenalkan blob data yang dapat dikirim dan dilampirkan ke blok. Data dalam blob ini tidak dapat diakses oleh EVM dan secara otomatis dihapus setelah periode waktu tertentu (1-3 bulan). Ini berarti rollup dapat mengirimkan data mereka dengan lebih murah dan meneruskan penghematan tersebut kepada pengguna akhir dalam bentuk transaksi yang lebih murah. + + + +Rollup adalah cara untuk menskalakan Ethereum dengan mengelompokkan transaksi di luar rantai dan kemudian memposting hasilnya ke Ethereum. Rollup pada dasarnya terdiri dari dua bagian: data dan pemeriksaan eksekusi. Data tersebut merupakan urutan lengkap dari transaksi yang sedang diproses oleh rollup untuk menghasilkan perubahan status yang diposting ke Ethereum. Pemeriksaan eksekusi adalah eksekusi ulang transaksi-transaksi tersebut oleh beberapa aktor yang jujur ("prover") untuk memastikan bahwa perubahan status yang diusulkan adalah benar. Agar pemeriksaan eksekusi dapat dilakukan, data transaksi harus tersedia cukup lama agar dapat diunduh dan diperiksa oleh siapa pun. Ini berarti setiap perilaku tidak jujur dari rollup sequencer dapat diidentifikasi dan ditantang oleh prover. Namun demikian, ini tidak harus tersedia selamanya. + + + + + +Rollup memposting komitmen ke data transaksinya di dalam rantai dan juga membuat data aktual tersedia dalam blob data. Ini berarti pembuktian dapat memeriksa apakah komitmen tersebut valid atau menantang data yang mereka anggap salah. Pada tingkat simpul, blob data disimpan di klien konsensus. Klien konsensus membuktikan bahwa mereka telah melihat data tersebut dan telah disebarkan di seluruh jaringan. Jika data disimpan selamanya, klien-klien ini akan membengkak dan menyebabkan kebutuhan perangkat keras yang besar untuk menjalankan simpul. Sebagai gantinya, data secara otomatis dipangkas dari simpul setiap 1-3 bulan. Pengesahan klien konsensus menunjukkan bahwa ada kesempatan yang cukup bagi para prover untuk memverifikasi data. Data aktual dapat disimpan di luar rantai oleh operator rollup, pengguna, atau lainnya. + + + +### Bagaimana data blob diverifikasi? {#how-are-blobs-verified} + +Rollup memposting transaksi yang mereka lakukan dalam blob data. Mereka juga memposting "komitmen" terhadap data. Mereka melakukan ini dengan menyesuaikan fungsi polinomial pada data. Fungsi ini kemudian dapat dievaluasi pada berbagai titik. Sebagai contoh, jika kita mendefinisikan fungsi yang sangat sederhana `f(x) = 2x-1` maka kita dapat mengevaluasi fungsi ini untk `x = 1`, `x = 2`, `x = 3` yang memberi hasil `1, 3, 5`. Peribahasa menerapkan fungsi yang sama pada data dan mengevaluasinya pada titik-titik yang sama. Jika data asli diubah, fungsi tidak akan sama, dan oleh karena itu, nilai yang dievaluasi pada setiap titik juga tidak sama. Pada kenyataannya, komitmen dan pembuktian menjadi lebih rumit karena dibungkus dengan fungsi kriptografi. + +### Apa itu KZG? {#what-is-kzg} + +KZG adalah singkatan dari Kate-Zaverucha-Goldberg - nama dari tiga [penulis asli](https://link.springer.com/chapter/10.1007/978-3-642-17373-8_11) dari skema yang mereduksi blob data menjadi sebuah ["komitmen" kriptografi](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html) yang kecil. Blob data yang dikirimkan oleh rollup harus diverifikasi untuk memastikan rollup tidak bermasalah. Ini melibatkan prover yang mengeksekusi ulang transaksi dalam blob untuk memeriksa apakah komitmen itu valid. Hal ini secara konseptual sama dengan cara klien eksekusi memeriksa keabsahan transaksi Ethereum pada lapisan 1 menggunakan bukti Merkle. KZG adalah sebuah bukti alternatif yang sesuai dengan persamaan polinomial pada data. Komitmen mengevaluasi polinomial pada beberapa titik data rahasia. Seorang prover akan memasukkan polinomial yang sama ke dalam data dan mengevaluasinya pada nilai yang sama, memeriksa apakah hasilnya sama. Ini adalah cara untuk memverifikasi data yang kompatibel dengan teknik zero-knowledge yang digunakan oleh beberapa rollup dan pada akhirnya bagian lain dari protokol Ethereum. + +### Apa yang dimaksud dengan Upacara KZG? {#what-is-a-kzg-ceremony} + +Upacara KZG adalah cara bagi banyak orang dari seluruh komunitas Ethereum untuk menghasilkan serangkaian angka acak rahasia yang dapat digunakan untuk memverifikasi beberapa data. Sangat penting bahwa rangkaian angka ini tidak diketahui dan tidak dapat dibuat ulang oleh siapa pun. Untuk memastikan hal ini, setiap orang yang berpartisipasi dalam upacara ini menerima seutas tali dari peserta sebelumnya. Mereka kemudian membuat beberapa nilai acak baru (misalnya dengan mengizinkan peramban mereka untuk mengukur pergerakan mouse mereka) dan mencampurkannya dengan nilai sebelumnya. Mereka kemudian mengirimkan nilai tersebut ke peserta berikutnya dan menghancurkannya dari mesin lokal mereka. Selama satu orang dalam upacara tersebut melakukan hal ini dengan jujur, nilai akhirnya tidak akan dapat diketahui oleh penyerang. Upacara EIP-4844 KZG terbuka untuk umum dan puluhan ribu orang berpartisipasi untuk menambahkan entropi mereka sendiri. Agar upacara dapat dirusak, 100% dari para peserta harus secara aktif tidak jujur. Dari sudut pandang peserta, jika mereka tahu bahwa mereka jujur, tidak perlu mempercayai orang lain karena mereka tahu bahwa mereka telah mengamankan upacara tersebut (mereka secara individu memenuhi persyaratan 1 dari N peserta yang jujur). + + + +Ketika sebuah rollup memposting data dalam sebuah blob, mereka memberikan "komitmen" yang mereka posting pada rantai. Komitmen ini merupakan hasil evaluasi kecocokan polinomial terhadap data pada titik-titik tertentu. Titik-titik ini ditentukan oleh angka acak yang dihasilkan dalam upacara KZG. Prover kemudian dapat mengevaluasi polinomial pada titik-titik yang sama untuk memverifikasi data - jika mereka sampai pada nilai yang sama, maka data tersebut benar. + + + + + +Jika seseorang mengetahui lokasi acak yang digunakan untuk komitmen, maka akan mudah bagi mereka untuk membuat polinomial baru yang sesuai dengan titik-titik tertentu (yaitu "tabrakan"). Ini berarti mereka bisa menambahkan atau menghapus data dari blob dan tetap memberikan bukti yang sah. Untuk mencegah hal ini, alih-alih memberikan pembuktian lokasi rahasia yang sebenarnya, mereka benar-benar menerima lokasi yang dibungkus dalam "kotak hitam" kriptografi menggunakan kurva elips. Ini secara efektif mengacak nilai sedemikian rupa sehingga nilai asli tidak dapat direkayasa, tetapi dengan beberapa pembuktian aljabar yang cerdas dan pemeriksa masih dapat mengevaluasi polinomial pada titik-titik yang diwakilinya. + + + + + Baik Danksharding maupun Proto-Danksharding tidak mengikuti model "pecahan" tradisional yang bertujuan untuk membagi rantai blok menjadi beberapa bagian. Rantai pecahan tidak lagi menjadi bagian dari peta perjalanan. Sebagai gantinya, Danksharding menggunakan pengambilan sampel data terdistribusi di seluruh blob untuk menskalakan Ethereum. Ini jauh lebih sederhana untuk diterapkan. Model ini kadang-kadang disebut sebagai "data-pecahan". + + +## Apa yang dimaksud dengan Danksharding? {#what-is-danksharding} + +Danksharding adalah realisasi penuh dari penskalaan rollup yang dimulai dengan Proto-Danksharding. Danksharding akan memberikan ruang yang sangat besar di Ethereum untuk melakukan rollup untuk membuang data transaksi yang telah dikompresi. Ini berarti Ethereum akan dapat mendukung ratusan rollup individu dengan mudah dan membuat jutaan transaksi per detik menjadi kenyataan. + +Cara kerjanya adalah dengan memperluas blob yang melekat pada blok dari 1 pada Proto-Danksharding menjadi 64 pada Danksharding penuh. Perubahan lainnya yang diperlukan adalah pembaruan pada cara klien konsensus beroperasi untuk memungkinkan mereka menangani blob besar yang baru. Beberapa dari perubahan ini sudah ada di peta perjalanan untuk tujuan lain yang tidak terkait dengan Danksharding. Sebagai contoh, Danksharding mengharuskan pemisahan pengusul-pembangun untuk diimplementasikan. Ini adalah peningkatan yang memisahkan tugas membangun blok dan mengusulkan blok di seluruh validator yang berbeda. Demikian pula, pengambilan sampel ketersediaan data diperlukan untuk Danksharding, tetapi juga diperlukan untuk pengembangan klien yang sangat ringan yang tidak menyimpan banyak data historis ("klien tanpa kewarganegaraan"). + + + +Pemisahan pengusul-pembuat diperlukan untuk mencegah keharusan validator individual membuat komitmen dan bukti yang mahal untuk data blob sebesar 32MB. Hal ini akan memberikan beban yang terlalu berat bagi para penaruh rumahan dan mengharuskan mereka untuk berinvestasi pada perangkat keras yang lebih kuat, yang akan merugikan desentralisasi. Sebagai gantinya, pembuat blok khusus bertanggung jawab atas pekerjaan komputasi yang mahal ini. Kemudian, mereka membuat blok mereka tersedia bagi para pengusul blok untuk disiarkan. Pengusul blok hanya memilih blok yang paling menguntungkan. Siapa pun bisa memverifikasi blob dengan biaya yang murah dan cepat, artinya setiap validator biasa dapat memeriksa apakah pembangun blok berperilaku jujur. Ini memungkinkan blob besar diproses tanpa mengorbankan desentralisasi. Pembangun blok yang berperilaku buruk dapat dengan mudah dikeluarkan dari jaringan dan dihukum pemotongan imbalan - orang lain akan menggantikannya karena membangun blok adalah kegiatan yang menguntungkan. + + + + + +Pengambilan sampel ketersediaan data diperlukan oleh validator untuk dengan cepat dan efisien memverifikasi data blob. Dengan menggunakan pengambilan sampel ketersediaan data, para validator dapat yakin bahwa data blob tersedia dan tercatat dengan benar. Setiap validator dapat secara acak memilih beberapa titik data dan membuat bukti, artinya tidak ada validator yang harus memeriksa seluruh blob. Jika ada data yang hilang, hal itu akan segera teridentifikasi dan blob akan ditolak. + + + +### Kemajuan saat ini {#current-progress} + +Danksharding penuh masih beberapa tahun lagi. Namun, Proto-Danksharding seharusnya tiba dalam waktu yang relatif singkat. Pada saat penulisan (Feb 2023), upacara KZG masih terbuka dan telah menarik lebih dari 50.000 kontributor. [EIP](https://eips.ethereum.org/EIPS/eip-4844) untuk Proto-Danksharding sudah siap, spesifikasinya disetujui, dan klien telah mengimplementasikan prototipe yang saat ini sedang diuji dan disiapkan untuk produksi. Langkah selanjutnya adalah menerapkan perubahan tersebut di jaringan percobaan publik. Anda dapat tetap mendapatkan informasi terkini dengan menggunakan [daftar periksa kesiapan EIP 4844](https://github.com/ethereum/pm/blob/master/Breakout-Room/4844-readiness-checklist.md#client-implementation-status). + +### Bacaan lebih lanjut {#further-reading} + +- [Catatan Proto-Danksharding](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq) - _Vitalik Buterin_ +- [Catatan Dankrad tentang Danksharding](https://notes.ethereum.org/@dankrad/new_sharding) +- [Dankrad, Proto, dan Vitalik membahas tentang Danksharding](https://www.youtube.com/watch?v=N5p0TB77flM) +- [Upacara KZG](https://ceremony.ethereum.org/) +- [Pemaparan Carl Beekhuizen tentang pengaturan tepercaya di konferensi Devcon](https://archive.devcon.org/archive/watch/6/the-kzg-ceremony-or-how-i-learnt-to-stop-worrying-and-love-trusted-setups/?tab=YouTube) +- [Lebih lanjut tentang pengambilan sampel ketersediaan data untuk blob](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling) +- [Dankrad Feist tentang komitmen dan bukti KZG](https://youtu.be/8L2C6RDMV9Q) +- [Komitmen polinomial KZG](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html) diff --git a/src/content/translations/id/roadmap/future-proofing/index.md b/src/content/translations/id/roadmap/future-proofing/index.md new file mode 100644 index 00000000000..84dd323805d --- /dev/null +++ b/src/content/translations/id/roadmap/future-proofing/index.md @@ -0,0 +1,38 @@ +--- +title: Ethereum yang siap menghadapi masa depan +description: Peningkatan ini memperkuat Ethereum sebagai lapisan dasar terdesentralisasi yang tangguh untuk masa depan, apa pun yang akan terjadi. +lang: id +image: ../../../../../assets/roadmap/roadmap-future.png +alt: "Peta Perjalanan Ethereum" +template: roadmap +--- + +Beberapa bagian dari peta perjalanann tidak selalu diperlukan untuk penskalaan atau mengamankan Ethereum dalam waktu dekat, tetapi menyiapkan Ethereum untuk stabilitas dan keandalan jauh di masa depan. + +## Resistensi kuantum {#quantum-resistance} + +Beberapa kriptografi yang mengamankan Ethereum saat ini akan dikompromikan ketika komputasi kuantum menjadi kenyataan. Meskipun komputer kuantum mungkin masih beberapa dekade lagi untuk menjadi ancaman nyata bagi kriptografi modern, Ethereum dibangun untuk menjadi aman selama berabad-abad yang akan datang. Ini berarti membuat [Ethereum tahan kuantum](https://consensys.net/blog/developers/how-will-quantum-supremacy-affect-blockchain/) sesegera mungkin. + +Tantangan yang dihadapi oleh para pengembang Ethereum adalah protokol bukti taruhan saat ini bergantung pada skema tanda tangan yang sangat efisien yang dikenal sebagai BLS untuk mengumpulkan suara pada blok yang valid. Skema tanda tangan ini dipatahkan oleh komputer kuantum, tetapi alternatif tahan kuantum tidak seefisien itu. + +[Skema komitmen "KZG"](/roadmap/danksharding/#what-is-kzg) yang digunakan di beberapa tempat di seluruh Ethereum untuk menghasilkan rahasia kriptografi dikenal rentan terhadap kuantum. Saat ini, hal ini diakali dengan menggunakan "pengaturan tepercaya" di mana banyak pengguna menghasilkan keacakan yang tidak dapat direkayasa oleh komputer kuantum. Namun, solusi yang ideal adalah dengan menggabungkan kriptografi aman kuantum. Terdapat dua pendekatan utama yang dapat menjadi pengganti yang efisien untuk skema BLS: [berbasis STARK](https://hackmd.io/@vbuterin/stark_aggregation) dan [berbasis lattice](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175) untuk penandatanganan. Ini masih dalam tahap penelitian dan pembuatan prototipe. + + Baca tentang KZG dan pengaturan tepercaya + +## Ethereum yang lebih sederhana dan lebih efisien {#simpler-more-efficient-ethereum} + +Kompleksitas menciptakan peluang untuk bug atau kerentanan yang dapat dieksploitasi oleh penyerang. Oleh karena itu, bagian dari peta perjalanan adalah menyederhanakan Ethereum dan menghapus kode yang telah bertahan melalui berbagai peningkatan tetapi tidak lagi diperlukan atau sekarang dapat ditingkatkan. Basis kode yang lebih ramping dan sederhana lebih mudah dipelihara dan dipahami oleh pengembang. + +Ada beberapa pembaruan yang akan dilakukan pada [Mesin Virtual Ethereum (EVM)](/developers/docs/evm) untuk membuatnya lebih sederhana dan efisien. Ini termasuk [menghapus opcode SELFDESTRUCT](https://hackmd.io/@vbuterin/selfdestruct) - perintah yang jarang digunakan yang tidak lagi diperlukan dan dalam beberapa situasi dapat berbahaya untuk digunakan, terutama jika digabungkan dengan peningkatan lain di masa depan pada model penyimpanan Ethereum. Klien Ethereum juga masih mendukung beberapa jenis transaksi lama yang sekarang dapat dihapus sepenuhnya. Cara penghitungan gas juga dapat ditingkatkan dan metode yang lebih efisien untuk aritmatika yang mendasari beberapa operasi kriptografi dapat digunakan. + +Demikian pula, ada pembaruan yang dapat dilakukan pada bagian lain dari klien Ethereum saat ini. Salah satu contohnya adalah klien eksekusi dan konsensus saat ini menggunakan jenis kompresi data yang berbeda. Akan jauh lebih mudah dan lebih intuitif untuk berbagi data di antara klien ketika skema kompresi disatukan di seluruh jaringan. + +## Kemajuan saat ini {#current-progress} + +Sebagian besar peningkatan yang diperlukan untuk membuktikan Ethereum di masa depan masih dalam tahap penelitian dan mungkin masih beberapa tahun lagi untuk diimplementasikan. Peningkatan seperti menghapus SELF-DESTRUCT dan menyelaraskan skema kompresi yang digunakan dalam klien eksekusi dan konsensus kemungkinan besar akan hadir lebih cepat daripada kriptografi tahan kuantum. + +**Bacaan lebih lanjut** + +- [Gas](/developers/docs/gas) +- [EVM](/developers/docs/evm) +- [Struktur data](/developers/docs/data-structures-and-encoding) diff --git a/src/content/translations/id/roadmap/index.md b/src/content/translations/id/roadmap/index.md new file mode 100644 index 00000000000..efa35914e5c --- /dev/null +++ b/src/content/translations/id/roadmap/index.md @@ -0,0 +1,117 @@ +--- +title: Peta Perjalanan Ethereum +description: Jalan menuju peningkatan skalabilitas, keamanan, dan keberlanjutan Ethereum. +lang: id +template: roadmap +image: ../../../../assets/roadmap/roadmap-main.png +alt: "Peta Perjalanan Ethereum" +summaryPoints: +buttons: + - label: Peningkatan lebih lanjut + toId: perubahan-apa-yang-akan-terjadi + - label: Peningkatan sebelumnya + to: /history/ + variant: ikhtisar +--- + +Ethereum sudah menjadi platform koordinasi global yang kuat, tetapi masih terus ditingkatkan. Serangkaian peningkatan yang ambisius akan meningkatkan Ethereum dari bentuknya saat ini menjadi platform yang berskala penuh dengan ketahanan maksimal. Berbagai peningkatan ini diuraikan dalam peta jalan Ethereum. + +**Untuk mempelajari tentang peningkatan Ethereum sebelumnya, harap buka halaman [Sejarah](/history/) kami** + +## Perubahan apa yang akan terjadi pada Ethereum? {#what-changes-are-coming} + +Peta jalan Ethereum menguraikan peningkatan spesifik yang akan dilakukan pada protokol di masa depan. Secara keseluruhan, peta jalan ini akan memberikan manfaat berikut kepada pengguna Ethereum: + + + + + + + + +## Mengapa Ethereum membutuhkan peta jalan? {#why-does-ethereum-need-a-roadmap} + +Ethereum ditingkatkan secara rutin untuk meningkatkan skalabilitas, keamanan, atau keberlanjutannya. Salah satu kekuatan inti Ethereum adalah menyesuaikan dengan ide-ide baru yang muncul dari penelitian dan pengembangan. Kemampuan beradaptasi memberikan fleksibilitas kepada Ethereum untuk mengatasi tantangan yang muncul dan mengikuti terobosan teknologi yang paling canggih. + + + +Peta jalan ini sebagian besar adalah hasil kerja bertahun-tahun dari para peneliti dan pengembang - karena protokol ini sangat teknis - tetapi setiap orang yang berminat boleh ikut serta. Ide-ide biasanya dimulai dari diskusi di forum seperti [ethresear.ch](https://ethresear.ch/), [Ethereum magicians](https://www.figma.com/exit?url=https%3A%2F%2Fethereum-magicians.org%2F) atau server discord Eth R&D. Ide-ide tersebut mungkin tanggapan terhadap kerentanan baru yang ditemukan, saran dari organisasi yang bekerja di lapisan aplikasi (seperti dapps dan bursa pertukaran) atau dari perselisihan yang diketahui oleh pengguna akhir (seperti biaya atau kecepatan transaksi). Ketika sudah matang, ide-ide ini dapat diusulkan sebagai [Proposal Peningkatan Ethereum](https://eips.ethereum.org/). Semua ini dilakukan di ruang publik sehingga setiap anggota komunitas dapat memberi masukan kapan saja. + +[Selengkapnya tentang tata kelola Ethereum](/governance/) + + + + +

Apa itu ETH2?

+ +

Istilah 'Eth2' sebelumnya digunakan untuk menggambarkan masa depan Ethereum sebelum beralih ke konsep bukti kepemilikan, tetapi istilah ini kemudian perlahan ditinggalkan karena ada terminologi lain yang lebih tepat. Istilah ini pada awalnya digunakan untuk membedakan jaringan Ethereum sebelum beralih ke konsep bukti kepemilikan dan jaringan setelahnya, atau terkadang digunakan untuk menyebut klien Ethereum yang lain (klien eksekusi terkadang disebut sebagai klien ETH1 dan klien konsensus terkadang disebut sebagai klien ETH2).

+ +
+ +## Apakah peta jalan Ethereum akan berubah seiring dengan waktu? {#will-ethereums-roadmap-change-over-time} + +Ya-hampir pasti. Peta jalan adalah rencana saat ini untuk meningkatkan Ethereum, yang mencakup rencana jangka pendek dan jangka panjang. Kami memperkirakan peta jalan ini akan berubah seiring dengan tersedianya informasi dan teknologi baru. + +Bayangkan peta jalan Ethereum sebagai sekelompok maksud untuk meningkatkan Ethereum; ini adalah hipotesis terbaik dari para peneliti dan pengembang inti tentang masa depan Ethereum yang paling optimal. + +## Kapan peta jalan ini akan berakhir? {#when-will-the-roadmap-be-finished} + +Ethereum akan mengimplementasikan beberapa peningkatan dalam enam bulan ke depan (misalnya, penarikan staking); peningkatan lainnya berprioritas lebih rendah dan kemungkinan besar tidak akan diimplementasikan dalam 5-10 tahun ke depan (misalnya, resistensi kuantum). Waktu yang tepat untuk setiap peningkatan sulit diprediksi karena banyak bagian dari peta jalan yang dikerjakan secara paralel dan dikembangkan dengan kecepatan yang berbeda. Urgensi peningkatan juga dapat berubah seiring waktu tergantung faktor eksternal (misalnya, lompatan mendadak kinerja dan ketersediaan komputer kuantum dapat menyebabkan lebih mendesaknya kebutuhan kriptografi quantum-resistant atau tahan terhadap serangan dari komputer kuantum). + +Salah satu cara berpikir untuk pengembangan Ethereum adalah dengan analogi evolusi biologis. Jaringan yang mampu beradaptasi dengan tantangan baru dan mempertahankan kondisinya lebih mungkin berhasil daripada jaringan yang menentang perubahan, meskipun seiring meningkatnya kinerja, skalabilitas, dan keamanan jaringan, makin sedikit perubahan protokol yang diperlukan. + +## Apakah ada yang harus saya lakukan ketika ada peningkatan? {#do-i-have-to-do-anything-when-there-is-an-upgrade} + +Peningkatan cenderung tidak berdampak pada pengguna akhir, kecuali meningkatkan pengalaman pengguna dan meningkatkan keamanan protokol serta mungkin lebih banyak opsi untuk cara berinteraksi dengan Ethereum. Pengguna akhir tidak diwajibkan untuk berpartisipasi aktif dalam peningkatan, dan juga tidak perlu melakukan apa pun untuk mengamankan aset mereka. Para operator simpul harus memperbarui klien mereka sebagai persiapan peningkatan. Beberapa peningkatan dapat menyebabkan perubahan bagi pengembang aplikasi. Misalnya, peningkatan pada masa kedaluwarsa riwayat dapat menyebabkan pengembang aplikasi mengambil data riwayat dari sumber referensi baru. + +## Bagaimana dengan The Verge, The Splurge, dll? {#what-about-the-verge-splurge-etc} + +[Vitalik Buterin mengajukan visi untuk peta jalan Ethereum](https://twitter.com/VitalikButerin/status/1588669782471368704) yang diorganisasikan dalam beberapa kategori yang dihubungkan dengan pengaruhnya terhadap arsitektur Ethereum. Termasuk di dalamnya: + +- Penggabungan: peningkatan yang terkait dengan peralihan dari konsep bukti kerja ke bukti kepemilikan +- Lonjakan: peningkatan yang terkait skalabilitas dengan rollup dan sharding pada data +- Ancaman: peningkatan yang terkait dengan resistansi terhadap sensor, desentralisasi, dan risiko protokol dari MEV +- The Verge: peningkatan yang terkait dengan mempermudah verifikasi blok +- Pembersihan: peningkatan yang terkait dengan penurunan biaya komputasi untuk menjalankan simpul dan menyederhanakan protokol +- The Splurge: peningkatan lain yang tidak cocok dengan kategori yang disebutkan sebelumnya. + +Kami memutuskan untuk tidak menggunakan terminologi ini karena kami ingin menggunakan model yang lebih sederhana dan lebih berpusat pada pengguna. Meskipun kami menggunakan istilah yang berpusat pada pengguna, visinya tetap sama dengan yang diajukan oleh Vitalik. + +## Bagaimana dengan sharding? {#what-about-sharding} + +Sharding adalah pemecahan rantai blok Ethereum agar subset validator hanya bertanggung jawab atas sebagian kecil dari total data. Metode ini awalnya dimaksudkan sebagai cara penskalaan Ethereum. Namun, rollup lapisan ke-2 telah berkembang jauh lebih cepat dari yang diperkirakan dan telah memberikan banyak penskalaan, serta akan memberikan lebih banyak lagi setelah penerapan Proto-Danksharding. Hal ini berarti "rantai pecahan" tidak diperlukan lagi dan telah dihapus dari peta jalan. + +## Mencari peningkatan teknis yang spesifik? {#looking-for-specific-technical-upgrades} + +- [Danksharding](/roadmap/danksharding) - Danksharding menyebabkan rollup lapisan ke-2 menjadi lebih murah bagi pengguna dengan menambahkan "blob" data ke blok Ethereum. +- [Penarikan staking](/staking/withdrawals) - Peningkatan Shanghai/Capella memungkinkan penarikan staking di Ethereum sehingga pengguna dapat membuka penguncian ETH yang ditaruh sebagai stake oleh mereka. +- [Finalitas ruang tunggal](/roadmap/single-slot-finality) - Daripada menunggu lima belas menit, blok bisa dipinang dan diselesaikan dalam ruang yang sama. Hal ini lebih praktis bagi aplikasi dan menjadi jauh lebih sulit untuk diserang. +- [Pemisahan pengusul-pembuat](/roadmap/pbs) - Memisahkan tugas pembuatan blok dan pengajuan blok pada berbagai validator akan menghasilkan cara yang lebih adil, lebih tahan sensor, dan efisien bagi Ethereum untuk mencapai konsensus. +- [Pemilihan pemimpin rahasia](/roadmap/secret-leader-election) - Kriptografi cerdas dapat digunakan untuk memastikan agar identitas pengusul blok terkini tidak diumumkan kepada publik sehingga melindunginya dari beberapa jenis serangan tertentu. +- [Abstraksi akun](/roadmap/account-abstraction) - Abstraksi akun adalah suatu tingkat peningkatan yang mendukung dompet kontrak pintar secara asli di Ethereum, sebagai pengganti penggunaan middleware yang rumit. +- [Pohon Verkle](/roadmap/verkle-trees) - Pohon Verkle adalah struktur data yang dapat digunakan untuk mengaktifkan klien tanpa keadaan di Ethereum. Klien "tanpa keadaan" ini hanya membutuhkan ruang penyimpanan yang sangat kecil, tetapi masih dapat memverifikasi blok baru. +- [Keadaan tanpa keadaan](/roadmap/statelessness) - klien tanpa keadaan akan dapat memverifikasi blok baru tanpa harus menyimpan data dalam jumlah besar. Hal ini akan memberikan semua manfaat menjalankan simpul dengan biaya yang sangat kecil dibandingkan dengan biaya yang berlaku saat ini. diff --git a/src/content/translations/id/roadmap/merge/index.md b/src/content/translations/id/roadmap/merge/index.md index 1da1439a1ef..a41c282fe05 100644 --- a/src/content/translations/id/roadmap/merge/index.md +++ b/src/content/translations/id/roadmap/merge/index.md @@ -1,67 +1,228 @@ --- title: Penggabungan -description: Pelajari tentang Penggabungan - ketika Jaringan Utama Ethereum berkolaborasi dengan sistem bukti taruhan Rantai Suar yang terkoordinir. +description: Pelajari tentang Penggabungan - ketika Jaringan Utama Ethereum mengadopsi bukti taruhan. lang: id template: upgrade image: ../../../../../assets/upgrades/merge.png -summaryPoint1: Pada akhirnya, Jaringan Utama Ethereum saat ini akan "bergabung" dengan sistem bukti taruhan rantai suar. -summaryPoint2: Ini akan menandai akhir bukti kerja untuk Ethereum, dan transisi penuh ke bukti taruhan. -summaryPoint3: Ini direncanakan mendahului peluncuran rantai shard. -summaryPoint4: Sebelumnya kami menyebutnya sebagai "docking." +summaryPoint1: Jaringan Utama Ethereum menggunakan bukti taruhan, tetapi tidak selalu demikian. +summaryPoint2: Peningkatan dari mekanisme bukti kerja yang asli menjadi bukti taruhan disebut Penggabungan. +summaryPoint3: Penggabungan mengacu pada penggabungan Jaringan Utama Ethereum asli dengan rantai blok bukti taruhan terpisah yang disebut Rantai Suar, yang sekarang ada sebagai satu rantai. +summaryPoint4: Penggabungan ini mengurangi konsumsi energi Ethereum sebesar ~99,95%. --- - - Peningkatan ini mewakilkan peralihan resmi ke konsensus bukti taruhan. Ini menghilangkan kebutuhan akan penambangan dengan energi besar, dan alih-alih mengamankan jaringan yang menggunakan ether yang ditaruhkan. Satu langkah yang sangat menyenangkan dalam mewujudkan visi Ethereum – lebih banyak skalabilitas, keamanan, dan keberlanjutan. + + Penggabungan telah dilaksanakan pada tanggal 15 September 2022. Hal ini menyelesaikan transisi Ethereum ke konsensus bukti taruhan, yang secara resmi tidak lagi menggunakan bukti kerja dan mengurangi konsumsi energi sebesar ~99,95%. -## Apa itu Penggabungan? {#what-is-the-docking} +## Apa itu Penggabungan? {#what-is-the-merge} -Penting untuk diingat bahwa pada awalnya [Rantai Suar](/roadmap/beacon-chain/) diluncurkan terpisah dari [Jaringan Utama](/glossary/#mainnet) - sistem rantai yang kita pakai saat ini. Jaringan Utama Ethereum terus diamankan oleh [bukti kerja](/developers/docs/consensus-mechanisms/pow/), sekalipun Rantai Suar beroperasi secara paralel menggunakan [bukti taruhan](/developers/docs/consensus-mechanisms/pos/). Penggabungan adalah ketika pada akhirnya kedua sistem ini menjadi satu. +Penggabungan adalah penyatuan lapisan eksekusi asli Ethereum (Jaringan Utama yang telah ada sejak [genesis](/history/#frontier)) dengan lapisan konsensus bukti taruhan baru, Rantai Suar. Ini menghilangkan kebutuhan akan penambangan yang boros energi dan sebagai gantinya memungkinkan jaringan untuk diamankan menggunakan ETH yang dipertaruhkan. Ini adalah langkah yang sangat menarik dalam mewujudkan visi Ethereum - skalabilitas, keamanan, dan keberlanjutan yang lebih baik. -Bayangkan Ethereum adalah sebuah kapal luar angkasa yang belum cukup siap untuk perjalanan antar bintang. Dengan Rantai Suar, komunitas telah membangun sebuah mesin baru dan lambung kapal yang lebih kuat. Ketika sudah saatnya, kapal yang ada saat ini akan bergabung dengan sistem baru, menjadi satu kapal, siap untuk melakukan perjalanan tahun cahaya yang intens, dan mengarungi alam semesta. + -## Penggabungan dengan Jaringan Utama {#docking-mainnet} +Pada awalnya, [Rantai Suar](/roadmap/beacon-chain/) dikirim secara terpisah dari [Jaringan Utama](/glossary/#mainnet). Jaringan Utama Ethereum - dengan semua akun, saldo, kontrak pintar, dan status rantai blok - tetap diamankan oleh [bukti kerja](/developers/docs/consensus-mechanisms/pow/), bahkan saat Rantai Suar berjalan paralel menggunakan [bukti taruhan](/developers/docs/consensus-mechanisms/pos/). Penggabungan adalah saat kedua sistem ini akhirnya digabungkan, dan bukti kerja digantikan secara permanen oleh bukti taruhan. -Ketika sudah siap, Jaringan Utama Ethereum akan "bergabung" dengan Rantai Suar, menjadi shard-nya sendiri yang menggunakan sistem bukti taruhan alih-alih [bukti kerja](/developers/docs/consensus-mechanisms/pow/). +Bayangkan Ethereum adalah sebuah pesawat luar angkasa yang diluncurkan sebelum cukup siap untuk melakukan perjalanan antarbintang. Dengan Rantai Suar, komunitas membuat mesin baru dan lambung kapal yang dikeraskan. Setelah pengujian yang signifikan, tiba saatnya untuk menukar mesin baru dengan mesin lama di tengah penerbangan. Penggabungan mesin baru yang lebih efisien ke dalam kapal yang sudah ada memungkinkannya untuk menjelajah beberapa tahun cahaya dan menjelajahi alam semesta. -Jaringan Utama akan memampukan pengoperasian kontrak pintar menjadi sistem bukti taruhan, ditambah dengan pengalaman, dan kondisi Ethereum saat ini, untuk memastikan transisi yang mulus bagi semua pemilik dan pengguna ETH. +## Penggabungan dengan Jaringan Utama {#merging-with-mainnet} -## Setelah Penggabungan {#after-the-merge} +Bukti kerja mengamankan Jaringan Utama Ethereum dari awal hingga Penggabungan. Hal ini memungkinkan rantai blok Ethereum yang kita semua kenal hadir pada bulan Juli 2015 dengan semua fitur-fiturnya yang sudah tidak asing lagi - transaksi, kontrak pintar, akun, dll. -Ini akan menandakan akhir dari bukti kerja untuk Ethereum dan memulai era Ethereum yang lebih berkelanjutan dan ramah lingkungan. Pada titik ini Ethereum akan satu langkah lebih dekat pada pencapaian penskalaan, keamanan, dan keberlanjutan penuh yang digariskan dalam [visi Ethereum](/roadmap/vision/). +Sepanjang sejarah Ethereum, para pengembang mempersiapkan diri untuk transisi dari bukti kerja ke bukti taruhan. Pada tanggal 1 Desember 2020, Rantai Suar dibuat sebagai rantai blok yang terpisah dari Jaringan Utama, berjalan secara paralel. -Penting untuk dicatat bahwa satu tujuan implementasi dari Penggabungan adalah kemudahan untuk mempercepat transisi dari sistem bukti kerja ke bukti taruhan. Pengembang sedang memusatkan usaha mereka pada transisi ini, dan mengurangi fitur tambahan yang bisa menunda pencapaian tujuan ini. +Rantai Suar pada awalnya tidak memproses transaksi Jaringan Utama. Sebaliknya, ia mencapai konsensus tentang keadaannya sendiri dengan menyetujui validator aktif dan saldo akun mereka. Setelah pengujian ekstensif, tiba saatnya bagi Rantai Suar untuk mencapai konsensus pada data dunia nyata. Setelah Penggabungan, Rantai Suar menjadi mesin konsensus untuk semua data jaringan, termasuk transaksi lapisan eksekusi dan saldo akun. -**Ini berati beberapa fitur, seperti kemampuan untuk menarik ETH yang dipertaruhkan, harus menunggu sedikit lebih lama setelah Penggabungan selesai.** Rencananya mencakup peningkatan "pembersihan" pascapenggabungan untuk menyelesaikan fitur ini, yang diharapkan terjadi sesegera mungkin setelah Penggabungan selesai. +Penggabungan ini merupakan peralihan resmi untuk menggunakan Rantai Suar sebagai mesin produksi blok. Penambangan tidak lagi menjadi sarana untuk menghasilkan blok yang valid. Sebagai gantinya, validator bukti taruhan telah mengadopsi peran ini dan sekarang bertanggung jawab untuk memproses keabsahan semua transaksi dan mengusulkan blok. + +Tidak ada sejarah yang hilang dalam Penggabungan. Ketika Jaringan Utama bergabung dengan Rantai Suar, Jaringan Utama juga menggabungkan seluruh sejarah transaksi Ethereum. + + +Transisi ke bukti taruhan ini mengubah cara penerbitan ether. Pelajari lebih lanjut tentang pengeluaran ether sebelum dan setelah Penggabungan. + + +### Pengguna dan pemegang {#users-holders} + +**Penggabungan tidak mengubah apa pun bagi pemegang/pengguna.** + +_Ini patut diulang_: Sebagai pengguna atau pemegang ETH atau aset digital lainnya di Ethereum, serta para staker non-simpul operator, **Anda tidak perlu melakukan apa pun dengan dana atau dompet Anda untuk mempertimbangkan Penggabungan.** ETH tetaplah ETH. Tidak ada yang namanya "ETH lama"/"ETH baru" atau "ETH1"/"ETH2" dan dompet bekerja sama persis setelah Penggabungan seperti yang mereka lakukan sebelumnya - orang yang memberi tahu Anda sebaliknya kemungkinan besar adalah penipu. + +Meskipun telah menukar bukti kerja, seluruh sejarah Ethereum sejak awal tetap utuh dan tidak diubah oleh transisi ke bukti taruhan. Semua dana yang tersimpan di dompet Anda sebelum Penggabungan masih dapat diakses setelah Penggabungan. **Tidak diperlukan tindakan untuk meningkatkan dari pihak Anda.** + +[Lebih lanjut tentang keamanan Ethereum](/security/#eth2-token-scam) + +### Operator simpul dan pengembang dapp {#node-operators-dapp-developers} + + + +Item-item tindakan utama meliputi: + +1. Jalankan _kedua_ klien konsensus dan klien eksekusi; titik akhir pihak ketiga untuk mendapatkan data eksekusi tidak lagi berfungsi sejak Penggabungan. +2. Autentikasi klien eksekusi dan konsensus dengan rahasia JWT bersama sehingga mereka dapat berkomunikasi dengan aman. +3. Tetapkan alamat `penerima biaya` untuk menerima tips biaya transaksi/MEV yang Anda peroleh. + +Tidak menyelesaikan dua hal pertama di atas akan mengakibatkan simpul Anda terlihat sebagai "offline" hingga kedua lapisan disinkronkan dan diautentikasi. + +Tidak menetapkan `penerima biaya` akan tetap memungkinkan validator Anda berperilaku seperti biasa, tetapi Anda akan kehilangan tips biaya yang tidak terbakar dan MEV yang seharusnya Anda dapatkan dari blok yang diajukan oleh validator Anda. + + + + +Hingga Penggabungan, klien eksekusi (seperti Geth, Erigon, Besu, atau Nethermind) sudah cukup untuk menerima, memvalidasi dengan benar, dan menyebarkan blok yang sedang digosipkan oleh jaringan. _Setelah Penggabungan_, validitas transaksi yang terkandung dalam muatan eksekusi sekarang juga bergantung pada validitas "blok konsensus" yang terkandung di dalamnya. + +Sebagai hasilnya, sebuah simpul Ethereum penuh sekarang membutuhkan klien eksekusi dan klien konsensus. Kedua klien ini bekerja bersama menggunakan API Engine yang baru. API Engine memerlukan autentikasi menggunakan rahasia JWT, yang disediakan untuk kedua klien yang memungkinkan komunikasi yang aman. + +Item-item tindakan utama meliputi: + +- Menginstal klien konsensus selain klien eksekusi +- Autentikasi klien eksekusi dan konsensus dengan rahasia JWT bersama sehingga mereka dapat berkomunikasi dengan aman satu sama lain. + +Tidak menyelesaikan item di atas akan mengakibatkan simpul Anda tampak "offline" hingga kedua lapisan disinkronkan dan diautentikasi. + + + + + +Penggabungan disertai dengan perubahan konsensus, yang juga mencakup perubahan yang terkait dengan:< + +
    +
  • struktur blok
  • +
  • pengaturan waktu ruang/blok
  • +
  • perubahan opcode
  • +
  • sumber keacakan di dalam rantai
  • +
  • konsep dari blok aman dan blok yang telah difinalisasi
  • +
+ +Untuk informasi lebih lanjut, lihat tulisan blog ini oleh Tim Beiko tentang Bagaimana Penggabungan Memengaruhi Lapisan Aplikasi Ethereum. + +
+ +## Penggabungan dan konsumsi energi {#merge-and-energy} + +Penggabungan ini menandai berakhirnya bukti kerja untuk Ethereum dan memulai era Ethereum yang lebih berkelanjutan dan ramah lingkungan. Konsumsi energi Ethereum turun sekitar 99,95%, menjadikan Ethereum sebagai rantai blok hijau. Pelajari lebih lanjut tentang [konsumsi energi Ethereum](/energy-consumption/). + +## Penggabungan dan penskalaan {#merge-and-scaling} + +Penggabungan juga membuka jalan untuk peningkatan skalabilitas lebih lanjut yang tidak mungkin dilakukan di bawah bukti kerja, mendekatkan Ethereum satu langkah lebih dekat untuk mencapai skala penuh, keamanan, dan keberlanjutan seperti yang diuraikan dalam [visi Ethereum](/roadmap/vision/)nya. + +## Kesalahpahaman tentang Penggabungan {#misconceptions} + + + +Ada dua jenis simpul Ethereum: simpul yang dapat mengusulkan blok dan simpul yang tidak. + +Simpul yang mengusulkan blok hanya sejumlah kecil dari total simpul di Ethereum. Kategori ini mencakup simpul penambangan di bawah bukti kerja (proof-of-work/PoW) dan simpul validator di bawah bukti kepemilikan (proof-of-stake/PoS). Kategori ini membutuhkan sumber daya ekonomi (seperti kekuatan hash GPU dalam bukti kerja atau ETH yang dipertaruhkan dalam bukti taruhan) sebagai imbalan atas kemampuan untuk sesekali mengusulkan blok berikutnya dan mendapatkan imbalan protokol. + +Simpul lain dalam jaringan (yaitu mayoritas) tidak perlu menyediakan sumber daya ekonomi apa pun di luar komputer kelas konsumen dengan penyimpanan yang tersedia sebesar 1-2 TB dan koneksi internet. Simpul-simpul ini tidak mengusulkan blok, tetapi mereka masih memiliki peran penting dalam mengamankan jaringan dengan meminta pertanggungjawaban dari semua pengusul blok dengan mendengarkan blok-blok baru dan memverifikasi keabsahannya pada saat kedatangan sesuai dengan aturan konsensus jaringan. Jika blok tersebut valid, simpul akan terus menyebarkannya melalui jaringan. Jika blok tidak valid karena alasan apa pun, perangkat lunak simpul akan mengabaikannya sebagai tidak valid dan menghentikan penyebarannya. + +Menjalankan simpul yang tidak memproduksi blok memungkinkan bagi siapa pun di bawah kedua mekanisme konsensus (bukti kerja atau bukti taruhan); ini sangat dianjurkan bagi semua pengguna jika mereka memiliki kemampuan. Menjalankan sebuah simpul sangat berharga bagi Ethereum dan memberikan manfaat tambahan bagi setiap individu yang menjalankannya, seperti peningkatan keamanan, privasi, dan ketahanan terhadap sensor. + +Kemampuan bagi siapa pun untuk menjalankan simpul mereka sendiri adalah mutlak penting untuk menjaga desentralisasi jaringan Ethereum. + +Lebih lanjut tentang menjalankan simpul Anda sendiri + + + + + +Biaya gas adalah produk dari permintaan jaringan relatif terhadap kapasitas jaringan. Penggabungan tidak lagi menggunakan bukti kerja, beralih ke bukti taruhan untuk konsensus, tetapi tidak secara signifikan mengubah parameter apa pun yang secara langsung memengaruhi kapasitas atau keluaran jaringan. + +Dengan peta perjalanan berbasis rollup, upaya difokuskan pada penskalaan aktivitas pengguna di lapisan ke-2, sambil memungkinkan Jaringan Utama lapisan ke-1 sebagai lapisan penyelesaian terdesentralisasi yang aman yang dioptimalkan untuk penyimpanan data rollup untuk membantu membuat transaksi rollup menjadi jauh lebih murah secara eksponensial. Transisi ke bukti taruhan merupakan langkah awal yang penting untuk mewujudkan hal ini. Lebih lanjut tentang gas dan biaya. + + + + +"Kecepatan" transaksi dapat diukur dengan beberapa cara, termasuk waktu untuk dimasukkan ke dalam blok dan waktu finalisasi. Kedua hal ini sedikit berubah, tetapi tidak begitu kentara bagi pengguna. + +Secara historis, pada bukti kerja, targetnya adalah memiliki blok baru setiap ~13,3 detik. Pada bukti taruhan, slot terjadi tepat setiap 12 detik, yang mana setiap slot merupakan kesempatan bagi validator untuk menerbitkan blok. Sebagian besar slot memiliki blok, tetapi belum tentu semuanya (misalnya, validator sedang offline). Pada bukti taruhan, blok diproduksi ~10% lebih sering dibandingkan dengan bukti kerja. Ini merupakan perubahan yang tidak terlalu signifikan dan kemungkinan tidak akan disadari oleh pengguna. + +Bukti taruhan memperkenalkan konsep finalitas transaksi yang sebelumnya tidak ada. Dalam bukti kerja, kemampuan untuk membalikkan sebuah blok menjadi lebih sulit secara eksponensial dengan setiap blok yang ditambang di atas transaksi, tetapi tidak pernah mencapai nol. Dalam bukti taruhan, blok digabungkan ke dalam periode waktu (rentang waktu 6,4 menit yang terdiri dari 32 peluang blok) yang akan dipilih oleh para validator. Ketika jangka waktu berakhir, para validator memberikan suara untuk memutuskan apakah jangka waktu tersebut 'dibenarkan' atau tidak. Jika validator setuju untuk membenarkan jangka waktu, maka epoch tersebut akan difinalisasi di jangka waktu berikutnya. Membatalkan transaksi yang telah difinalisasi tidak ekonomis karena akan memerlukan pengambilan dan pembakaran lebih dari sepertiga total ETH yang dipertaruhkan. + + + + + +Awalnya setelah Penggabungan, para staker hanya dapat mengakses tip biaya dan MEV yang diperoleh sebagai hasil dari usulan blok. Imbalan ini dikreditkan ke akun non-penaruhan yang dikendalikan oleh validator (dikenal sebagai penerima biaya), dan tersedia segera. Imbalan ini terpisah dari imbalan protokol untuk menjalankan tugas validator. + +Sejak upgrade jaringan Shanghai/Capella, para staker sekarang dapat menunjuk alamat penarikan untuk mulai menerima pembayaran otomatis dari saldo penaruhan berlebihan (ETH di atas 32 dari imbalan protokol). Upgrade ini juga memungkinkan kemampuan bagi validator untuk membuka kunci dan mengklaim seluruh saldo saat keluar dari jaringan. + +Lebih lanjut tentang penarikan staking + + + + +Sejak meningkatkan Shanghai/Capella mengizinkan penarikan, para validator memiliki insentif untuk menarik saldo penaruhan mereka yang melebihi 32 ETH, karena dana-dana tersebut tidak meningkatkan hasil dan sebaliknya terkunci. Tergantung pada APR (ditentukan oleh total ETH yang dipertaruhkan), mungkin ada insentif untuk keluar dari validatornya untuk mengklaim seluruh saldo atau bahkan mempertaruhkan lebih lagi menggunakan imbalannya untuk mendapatkan hasil lebih banyak. + +Namun, perlu dicatat bahwa keluar penuh dari validator dibatasi oleh protokol, dan hanya sejumlah terbatas validator yang diizinkan keluar setiap jangka waktu (setiap 6,4 menit). Batas ini bervariasi tergantung pada jumlah validator aktif, tetapi berjumlah sekitar 0,33% dari total ETH yang dipertaruhkan dapat keluar dari jaringan dalam satu hari. + +Hal ini mencegah terjadinya pengeluaran dana penaruhan secara massal. Selain itu, hal ini mencegah penyerang potensial yang memiliki akses ke sebagian besar total ETH yang dipertaruhkan untuk melakukan pelanggaran yang dapat dipotong dan keluar/menarik semua saldo validator yang melanggar pada jangka waktu yang sama sebelum protokol dapat memberlakukan hukuman pemotongan. + +APR juga disengaja dinamis, memungkinkan pasar para staker untuk menyeimbangkan seberapa banyak mereka bersedia dibayar untuk membantu mengamankan jaringan. Jika tingkatnya terlalu rendah, maka validator akan keluar dengan batas kecepatan yang ditentukan oleh protokol. Secara perlahan ini akan meningkatkan APR bagi semua yang tetap tinggal, menarik staker baru atau yang kembali lagi. + + +## Apa yang akan terjadi pada 'Eth2'? {#eth2} + +Istilah 'Eth2' telah dihentikan penggunaannya. Setelah menggabungkan 'Eth1' dan 'Eth2' menjadi satu rantai tunggal, tidak ada lagi kebutuhan untuk membedakan antara dua jaringan Ethereum; hanya ada Ethereum. + +Untuk mengurangi kebingungan, komunitas telah memperbarui istilah-istilah berikut ini: + +- 'Eth1' sekarang adalah 'lapisan eksekusi', yang menangani transaksi dan eksekusi. +- 'Eth2' sekarang adalah 'lapisan konsensus', yang menangani konsensus bukti taruhan. + +Pembaruan terminologi ini hanya mengubah konvensi penamaan; ini tidak mengubah tujuan atau peta jalan Ethereum. + +[Pelajari selengkapnya tentang penamaan ulang 'Eth2'](https://blog.ethereum.org/2022/01/24/the-great-eth2-renaming/) ## Hubungan antar peningkatan {#relationship-between-upgrades} Semua peningkatan Ethereum saling terkait. Jadi mari kita ringkas bagaimana Penggabungan ini berhubungan dengan peningkatan lain. -### Penggabungan dan Rantai Suar {#docking-and-beacon-chain} +### Penggabungan dan Rantai Suar {#merge-and-beacon-chain} + +Pengabungan mewakili adopsi resmi Rantai Suar sebagai lapisan konsensus baru untuk lapisan eksekusi Jaringan Utama asli. Sejak Penggabungan, para validator ditugaskan untuk mengamankan Jaringan Utama Ethereum, dan penambangan menggunakan [bukti kerja](/developers/docs/consensus-mechanisms/pow/) tidak lagi merupakan cara yang valid untuk produksi blok. -Saat penggabungan terjadi, stakers akan ditugaskan untuk memvalidasi Jaringan Utama Ethereum. [Menambang](/developers/docs/consensus-mechanisms/pow/mining/) tidak akan lagi diperlukan, jadi para penambang mungkin akan menginvestasikan pendapatan mereka dengan bertaruh dalam sistem bukti taruhan yang baru. +Blok diusulkan dengan memvalidasi simpul yang telah mempertaruhkan ETH dengan imbalan hak untuk berpartisipasi dalam konsensus. Peningkatan ini menyiapkan panggung untuk peningkatan skalabilitas di masa depan, termasuk pecahan. Rantai Suar -### Penggabungan dan pembersihan pasca penggabungan {#merge-and-post-merge-cleanup} +### Penggabungan dan peningkatan Shanghai {#merge-and-shanghai} -Segera setelah Penggabungan terjadi, beberapa fitur seperti menarik ETH yang dipertaruhkan, belum akan didukung. Ini direncanakan untuk peningkatan terpisah yang dilaksanakan segera setelah Penggabungan. +Untuk menyederhanakan dan memaksimalkan fokus pada transisi yang sukses ke bukti taruhan, peningkatan Penggabungan tidak menyertakan fitur-fitur tertentu yang telah diantisipasi seperti kemampuan untuk menarik ETH yang dipertaruhkan. Fungsionalitas ini diaktifkan secara terpisah dengan peningkatan Shanghai/Capella. -Ikuti perkembangannya bersama [Blog Pengembangan dan Penelitian EF](https://blog.ethereum.org/category/research-and-development/). Bagi mereka yang ingin tahu, pelajari selengkapnya tentang [Apa yang Terjadi Setelah Penggabungan](https://youtu.be/7ggwLccuN5s?t=101), yang disajikan oleh Vitalik pada acara ETHGlobal April 2021. +Bagi mereka yang ingin tahu, pelajari selengkapnya tentang [Apa yang Terjadi Setelah Penggabungan](https://youtu.be/7ggwLccuN5s?t=101), yang disajikan oleh Vitalik pada acara ETHGlobal April 2021. -### Penggabungan dan rantai shard {#docking-and-shard-chains} +### Penggabungan dan pecahan {#merge-and-data-sharding} -Pada awalnya, rencananya adalah melanjutkan pengembangan rantai shard sebelum Penggabungan - untuk menyelesaikan masalah skalabilitas. Namun, seiring dengan kepopuleran [solusi penskalaan layer 2](/developers/docs/scaling/#layer-2-scaling), prioritasnya berubah menjadi penukaran sistem proof-of-work ke proof-of-stake lewat proses penggabungan. +Awalnya, rencananya adalah mengerjakan pecahan sebelum Penggabungan untuk mengatasi skalabilitas. Namun, dengan munculnya solusi penskalaan [lapisan ke-2](/layer-2/), prioritas berubah menjadi menggantikan bukti kerja dengan bukti taruhan terlebih dahulu. -Ini akan menjadi penilaian berkelanjutan dari komunitas seiring dengan kebutuhan akan potensi beberapa putaran rantai shard untuk memungkinkan skalabilitas yang tak terbatas. +Rencana untuk pecahan berkembang dengan cepat, tetapi dengan munculnya dan keberhasilan teknologi lapisan ke-2 untuk meningkatkan eksekusi transaksi, rencana pecahan telah bergeser untuk menemukan cara yang paling optimal untuk mendistribusikan beban penyimpanan data panggilan terkompresi dari kontrak rollup, yang memungkinkan pertumbuhan kapasitas jaringan secara eksponensial. Hal ini tidak akan mungkin terjadi tanpa terlebih dahulu beralih ke bukti taruhan. - Pecahan rantai jaringan + Pecahan -## Baca lebih lanjut {#read-more} +## Bacaan lebih lanjut {#further-reading} + + diff --git a/src/content/translations/id/roadmap/merge/issuance/index.md b/src/content/translations/id/roadmap/merge/issuance/index.md new file mode 100644 index 00000000000..fccb7696b5c --- /dev/null +++ b/src/content/translations/id/roadmap/merge/issuance/index.md @@ -0,0 +1,134 @@ +--- +title: Bagaimana Penggabungan mempengaruhi pasokan ETH +description: Perincian tentang bagaimana Penggabungan mempengaruhi pasokan ETH +lang: id +--- + +# Bagaimana Penggabungan mempengaruhi pasokan ETH {#how-the-merge-impacts-ETH-supply} + +Penggabungan mewakili transisi jaringan Ethereum dari bukti kerja ke bukti taruhan yang terjadi pada bulan September 2022. Cara ETH diterbitkan mengalami perubahan pada saat masa transisi tersebut. Sebelumnya, ETH baru telah diterbitkan dari dua sumber: lapisan eksekusi (yaitu. Jaringan Utama) dan lapisan konsensus (yaitu. Rantai Suar). Sejak Penggabungan, penerbitan pada lapisan eksekusi sekarang menjadi nol. Mari kita uraikan hal ini. + +## Komponen penerbitan ETH {#components-of-eth-issuance} + +Kita dapat memecah pasokan ETH menjadi dua kekuatan utama: penerbitan dan pembakaran. + +**Penerbitan** ETH adalah proses pembuatan ETH yang sebelumnya tidak ada. **Pembakaran** ETH adalah ketika ETH yang ada dihancurkan, menghapusnya dari peredaran. Laju penerbitan dan pembakaran dihitung berdasarkan beberapa parameter, dan keseimbangan di antara keduanya menentukan tingkat inflasi/deflasi ether yang dihasilkan. + + + +- Sebelum beralih ke bukti taruhan, penambang diterbitkan sekitar 13.000 ETH/hari +- Penaruh diterbitkan sekitar 1.700 ETH/hari, berdasarkan sekitar 14 juta total ETH yang dipertaruhkan +- Penerbitan penaruhan yang tepat berfluktuasi berdasarkan jumlah total ETH yang dipertaruhkan +- **Sejak Penggabungan, hanya tersisa ~1.700 ETH/hari, menurunkan total penerbitan ETH baru sebesar ~88%** +- Pembakaran: Ini berfluktuasi sesuai dengan permintaan jaringan. _Jika_ harga gas rata-rata setidaknya 16 gwei diamati pada hari tertentu, ini secara efektif mengimbangi ~1.700 ETH yang diternitkan untuk validator dan membuat inflasi ETH bersih menjadi nol atau kurang untuk hari itu. + + + +## Pra-penggabungan (historis) {#pre-merge} + +### Penerbitan lapisan eksekusi {#el-issuance-pre-merge} + +Pada bukti kerja, penambang hanya berinteraksi dengan lapisan eksekusi dan mendapatkan reward blok jika mereka adalah penambang pertama yang menyelesaikan blok berikutnya. Sejak [peningkatan Constantinople](/history/#constantinople) pada tahun 2019, rewardnya adalah 2 ETH per blok. Para penambang juga diberi imbalan dengan menerbitkan blok [ommer](/glossary/#ommer), yang merupakan blok valid yang tidak berakhir di rantai terpanjang/kanonik. Imbalan ini maksimal sebesar 1,75 ETH per ommer, dan _sebagai tambahan untuk_ imbalan yang diterbitkan dari blok kanonik. Proses penambangan adalah kegiatan yang intensif secara ekonomi, yang secara historis membutuhkan tingkat penerbitan ETH yang tinggi untuk mempertahankannya. + +### Penerbitan lapisan konsensus {#cl-issuance-pre-merge} + +[Rantai Suar](/history/#beacon-chain-genesis) mulai beroperasi pada tahun 2020. Alih-alih penambang, ini diamankan oleh validator menggunakan bukti taruhan. Rantai ini di-bootstrap oleh pengguna Ethereum yang menyetor ETH satu arah ke dalam kontrak pintar di Jaringan Utama (lapisan eksekusi), yang kemudian didengarkan oleh Rantai Suar, dan mengkreditkan pengguna dengan jumlah ETH yang sama di rantai yang baru. Hingga Penggabungan terjadi, validator Rantai Suar tidak memproses transaksi dan pada dasarnya mencapai konsensus tentang keadaan kumpulan validator itu sendiri. + +Validator di Rantai Suar diberi imbalan dengan ETH karena telah membuktikan status rantai dan mengusulkan blok. Imbalan (atau penalti) dihitung dan didistribusikan pada setiap jangka waktu (setiap 6,4 menit) berdasarkan kinerja validator. Imbalan validator **secara signifikan** lebih kecil daripada imbalan penambangan yang sebelumnya dikeluarkan di bawah bukti kerja (2 ETH setiap ~13,5 detik), karena mengoperasikan simpul validasi tidak terlalu membutuhkan biaya yang besar sehingga tidak membutuhkan imbalan yang tinggi. + +### Pembagian penerbitan sebelum penggabungan {#pre-merge-issuance-breakdown} + +Total pasokan ETH: **~120.520.000 ETH** (saat Penggabungan pada September 2022) + +**Penerbitan lapisan eksekusi:** + +- Diperkirakan sekitar 2,08 ETH setiap 13,3 detik\*: **~4.930.000** ETH diterbitkan dalam setahun +- Menghasilkan tingkat inflasi sekitar **sekitar 4,09%** (4,93 juta per tahun / total 120,5 juta) +- \*Ini termasuk 2 ETH per blok kanonikal, ditambah rata-rata 0,08 ETH dari blok ommer dari waktu ke waktu. Juga menggunakan waktu 13,3 detik, target waktu blok dasar tanpa pengaruh dari [bom kesulitan](/glossary/#difficulty-bomb). ([Lihat sumber](https://bitinfocharts.com/ethereum/)) + +**Penerbitan lapisan konsensus:** + +- Dengan menggunakan total 14.000.000 ETH yang dipertaruhkan, tingkat penerbitan ETH adalah sekitar 1700 ETH/hari ([Lihat sumber](https://ultrasound.money/)) +- Hasilnya adalah **~620.500** ETH yang diterbitkan dalam setahun +- Menghasilkan tingkat inflasi **sekitar 0,52%** (620,5 ribu per tahun / total 119,3 juta) + + +Tingkat penerbitan tahunan total (sebelum penggabungan): ~4,61% (4,09% + 0,52%)

+~88,7% dari penerbitan diberikan kepada penambang pada lapisan eksekusi (4,09 / 4,61 * 100)

+~11,3% diterbitkan kepada para penaruh pada lapisan konsensus (0,52 / 4,61 * 100) +
+ +## Setelah penggabungan (saat ini) {#post-merge} + +### Penerbitan lapisan eksekusi {#el-issuance-post-merge} + +Penerbitan lapisan eksekusi sejak Penggabungan adalah nol. Bukti kerja bukan lagi cara yang valid untuk produksi blok berdasarkan aturan konsensus yang telah ditingkatkan. Seluruh aktivitas lapisan eksekusi dikemas ke dalam "blok suar", yang dipublikasikan dan diakui oleh validator bukti taruhan. Imbalan untuk membuktikan dan menerbitkan blok suar dihitung secara terpisah pada lapisan konsensus. + +### Penerbitan lapisan konsensus {#cl-issuance-post-merge} + +Penerbitan lapisan konsensus berlanjut hingga hari ini seperti sebelum Penggabungan, dengan imbalan kecil untuk validator yang menyetujui dan mengusulkan blok. Imbalan validator terus mengalir ke _saldo validator_ yang dikelola di dalam lapisan konsensus. Berbeda dengan akun saat ini (akun "eksekusi"), yang dapat melakukan transaksi di Jaringan Utama, akun Ethereum ini terpisah dan tidak dapat bertransaksi secara bebas dengan akun Ethereum lainnya. Dana di akun-akun ini hanya dapat ditarik ke satu alamat eksekusi yang ditentukan. + +Sejak peningkatan Shanghai/Capella yang terjadi pada April 2023, penarikan ini telah diaktifkan untuk para penaruh. Penaruh di anjurkan untuk mengambil _pendapatan/imbalan (saldo di atas 32 ETH)_ mereka karena dana tersebut sebaliknya tidak berkontribusi pada bobot taruhan mereka (yang mencapai maksimal 32). + +Penaruh juga dapat memilih untuk keluar dan menarik seluruh saldo validator mereka. Untuk memastikan Ethereum tetap stabil, jumlah validator yang keluar secara bersamaan dibatasi. + +Kira kira sekitar 0,33% dari total jumlah validator dapat keluar dalam satu hari tertentu. Secara default, empat (4) validator dapat keluar untuk setiap jangka waktu (setiap 6,4 menit, atau 900 per hari). Satu (1) validator tambahan diperbolehkan keluar untuk setiap 65.536 (216) validator tambahan di atas 262.144 (218). Sebagai contoh, dengan lebih dari 327.680 validator, lima (5) validator dapat keluar untuk setiap jangka waktu (1.125 per hari). Enam (6) validator akan diizinkan dengan jumlah validator aktif total lebih dari 393.216, dan seterusnya. + +Seiring bertambahnya validator yang menarik diri, jumlah maksimum validator yang keluar akan secara bertahap berkurang menjadi minimum empat untuk sengaja mencegah jumlah ETH yang dipertaruhkan besar dan mengganggu yang ditarik secara bersamaan. + +### Pembagian inflasi setelah penggabungan {#post-merge-inflation-breakdown} + +- Total pasokan ETH: **~120.520.000 ETH** (saat Penggabungan pada September 2022) +- Penerbitan lapisan eksekusi: **0** +- Penerbitan lapisan konsensus: Sama seperti sebelumnya, tingkat penerbitan tahunan sebesar **~0,52%** (dengan total 14 juta ETH yang dipertaruhkan) + + +Tingkat penerbitan tahunan total: ~0,52%

+Pengurangan bersih dalam penerbitan ETH tahunan: ~88,7% ((4,61% - 0,52%) / 4,61% * 100) +
+ +##  Pembakaran {#the-burn} + +Kekuatan berlawanan dengan penerbitan ETH adalah tingkat pembakaran ETH. Untuk sebuah transaksi dieksekusi di Ethereum, biaya minimum (dikenal sebagai "biaya dasar") harus dibayarkan, yang terus berfluktuasi (dari blok ke blok) tergantung pada aktivitas jaringan. Biaya tersebut dibayarkan dalam bentuk ETH dan _wajib_ agar transaksi dianggap sah. Biaya ini akan _dibakar_ selama proses transaksi, mengeluarkannya dari sirkulasi. + + +Pembakaran biaya diaktifkan dengan peningkatan London pada Agustus 2021, dan tetap tidak berubah sejak Terjadinya Penggabungan. + + +Selain pembakaran biaya yang diimplementasikan oleh peningkatan London, validator juga dapat dikenakan denda karena tidak aktif, atau bahkan lebih buruk lagi, mereka dapat dipotong karena melanggar aturan tertentu yang mengancam keamanan jaringan. Penalti ini mengakibatkan pengurangan ETH dari saldo validator tersebut, yang tidak langsung diberikan sebagai imbalan kepada akun lain, secara efektif dibakar/mengeluarkannya dari sirkulasi. + +### Menghitung harga gas rata-rata untuk deflasi {#calculating-average-gas-price-for-deflation} + +Seperti yang dibahas di atas, jumlah ETH yang diterbitkan dalam satu hari tertentu tergantung pada total ETH yang dipertaruhkan. Pada saat penulisan ini, jumlahnya kira-kira adalah 1700 ETH per hari. + +Untuk menentukan harga gas rata-rata yang diperlukan untuk sepenuhnya menutupi penerbitan dalam periode 24 jam tertentu, kita akan mulai dengan menghitung total jumlah blok dalam sehari, dengan waktu blok 12 detik: + +- `(1 blok / 12 detik) * (60 detik/menit) = 5 blok/menit` +- `(5 blok/menit) * (60 menit/jam) = 300 blok/jam` +- `(300 blok/jam) * (24 jam/hari) = 7200 blok/hari` + +Setiap blok ditargetkan untuk `15x10^6 gas/block` ([selanjutnya tentang gas](/developers/docs/gas/)). Dengan demikian, kita dapat mencari solusi untuk harga gas rata-rata (dalam satuan gwei/gas) yang diperlukan untuk menutupi penerbitan, dengan total penerbitan ETH harian sebesar 1700 ETH: + +- `7200 blocks/day * 15x10^6 gas/block *`**`Y gwei/gas`**`* 1 ETH/ 10^9 gwei = 1700 ETH/day` + +Menyelesaikan untuk `Y`: + +- `Y = (1700(10^9))/(7200 * 15(10^6)) = (17x10^3)/(72 * 15) = 16 gwei` (dibulatkan menjadi hanya dua angka penting) + +Cara lain untuk menyusun ulang langkah terakhir adalah dengan mengganti `1700` dengan variabel `X` yang mewakili penerbitan ETH harian, dan menyederhanakan sisanya menjadi: + +- `Y = (X(10^3)/(7200 * 15)) = X/108` + +Kita bisa menyederhanakan dan menulisnya sebagai fungsi dari `X`: + +- `f(X) = X/108` di mana `X` adalah penerbitan ETH harian, dan `f(X)` mewakili harga gwei/gas yang diperlukan untuk menutupi semua ETH yang baru diterbitkan. + +Jadi, sebagai contoh, jika `X` (penerbitan ETH harian) meningkat menjadi 1800 berdasarkan total ETH yang dipertaruhkan, maka `f(X)` (harga gwei yang diperlukan untuk menutupi seluruh penerbitan) akan menjadi `17 gwei` (menggunakan 2 angka penting) + +## Bacaan lebih Lanjut {#further-reading} + +- [Penggabungan](/roadmap/merge/) +- [Ultrasound.money](https://ultrasound.money/) - _Dasbor yang tersedia untuk memvisualisasikan penerbitan dan pembakaran ETH secara real-time_ +- [Charting Ethereum Issuance](https://www.attestant.io/posts/charting-ethereum-issuance/) - _Jim McDonald 2020_ diff --git a/src/content/translations/id/roadmap/pbs/index.md b/src/content/translations/id/roadmap/pbs/index.md new file mode 100644 index 00000000000..c32eb198542 --- /dev/null +++ b/src/content/translations/id/roadmap/pbs/index.md @@ -0,0 +1,51 @@ +--- +title: Pemisahan pengusul-pembuat +description: Pelajari bagaimana dan mengapa validator Ethereum akan membagi tanggung jawab membangun blok dan menyiarkan blok mereka. +lang: id +--- + +# Pemisahan pengusul-pembuat {#proposer-builder-separation} + +Validator Ethereum saat ini membuat _dan_ menyiarkan blok. Mereka mengelompokkan transaksi yang mereka dengar melalui jaringan gosip dan mengemasnya ke dalam blok yang dikirimkan kepada rekan-rekan di jaringan Ethereum. **Pemisahan pengusul-pembangun (PBS)** membagi tugas ini di antara beberapa validator. Pembangun blok menjadi bertanggung jawab untuk membuat blok dan menawarkannya kepada pengusul blok pada setiap ruang. Pengusul blok tidak dapat melihat konten blok, mereka hanya memilih yang paling menguntungkan, membayar biaya kepada pembangun blok sebelum mengirim blok ke rekan-rekannya. + +Ini adalah peningkatan penting karena beberapa alasan. Pertama, menciptakan peluang untuk mencegah penyensoran transaksi pada tingkat protokol. Kedua, mencegah validator pemula dari persaingan dengan pemain institusi yang dapat lebih baik mengoptimalkan profitabilitas pembangunan blok mereka. Ketiga, membantu dalam penskalaan Ethereum dengan memungkinkan peningkatan Danksharding. + +## PBS dan ketahanan terhadap penyensoran {#pbs-and-censorship-resistance} + +Memisahkan pembangun blok dan pengusul blok membuat lebih sulit bagi pembangun blok untuk menyensor transaksi. Hal ini karena kriteria inklusi yang relatif kompleks dapat ditambahkan yang memastikan tidak ada penyensoran yang terjadi sebelum blok diusulkan. Karena pengusul blok adalah entitas terpisah dari pembangun blok, ia dapat mengambil peran pelindung terhadap penyensoran pembangun blok. + +Sebagai contoh, daftar inklusi dapat diperkenalkan sehingga ketika validator mengetahui tentang transaksi tetapi tidak melihatnya dimasukkan dalam blok, mereka dapat memaksa agar transaksi tersebut menjadi syarat wajib dalam blok berikutnya. Daftar inklusi dihasilkan dari kolam memori lokal pengusul blok (daftar transaksi yang diwaspadai) dan dikirimkan kepada rekan-rekan mereka tepat sebelum blok diusulkan. Jika ada transaksi dari daftar inklusi yang hilang, pengusul dapat menolak blok, menambahkan transaksi yang hilang sebelum mengusulkannya, atau mengusulkannya dan membiarkan blok tersebut ditolak oleh validator lain ketika mereka menerimanya. Ada juga versi yang mungkin lebih efisien dari gagasan ini yang menyatakan bahwa pembangun harus sepenuhnya memanfaatkan ruang blok yang tersedia, dan jika tidak, transaksi ditambahkan dari daftar inklusi pengusul. Ini masih merupakan area penelitian aktif dan konfigurasi optimal untuk daftar inklusi belum ditentukan. + +[Kolam memori yang dienkripsi](https://www.youtube.com/watch?v=fHDjgFcha0M&list=PLpktWkixc1gUqkyc1-iE6TT0RWQTBJELe&index=3) juga dapat membuat pembangun dan pengusul tidak bisa mengetahui transaksi mana yang mereka masukkan ke dalam blok hingga setelah blok disiarkan. + + + +Organisasi yang kuat dapat memberi tekanan kepada validator untuk menyensor transaksi ke atau dari alamat tertentu. Validator mematuhi tekanan ini dengan mendeteksi alamat-alamat yang masuk dalam daftar hitam di dalam kolam memori transaksi mereka dan menghilangkannya dari blok yang mereka usulkan. Setelah PBS, hal ini tidak akan lagi mungkin terjadi karena pengusul blok tidak akan tahu transaksi mana yang mereka siarkan dalam blok mereka. Mungkin penting bagi individu atau aplikasi tertentu untuk mematuhi aturan penyensoran, misalnya ketika aturan tersebut dijadikan hukum di wilayah mereka. Dalam kasus-kasus ini, kepatuhan terjadi pada tingkat aplikasi, sementara protokol tetap terbuka dan bebas penyensoran. + + + +## PBS dan MEV {#pbs-and-mev} + +**Nilai ekstraksi maksimum (MEV)** mengacu pada validator memaksimalkan profitabilitas mereka dengan mengurutkan transaksi dengan cara yang menguntungkan. Contoh umum meliputi arbitrase pertukaran di bursa terdesentralisasi (misalnya, mendahului penjualan atau pembelian besar) atau mengidentifikasi peluang untuk likuidasi posisi DeFi. Memaksimalkan MEV memerlukan pemahaman teknis yang canggih dan perangkat lunak khusus yang ditambahkan ke validator normal, sehingga lebih mungkin bagi operator institusi untuk melampaui individu dan validator pemula dalam ekstraksi MEV. Ini berarti pengembalian penaruhan kemungkinan akan lebih tinggi dengan operator terpusat, menciptakan kekuatan sentralisasi yang mengurangi insentif untuk penaruhan di rumah. + +PBS memecahkan masalah ini dengan mengonfigurasi ulang ekonomi MEV. Alih-alih pengusul blok melakukan pencarian MEV mereka sendiri, mereka hanya memilih blok dari banyak blok yang ditawarkan kepada mereka oleh pembangun blok. Pembangun blok mungkin telah melakukan ekstraksi MEV yang canggih, tetapi imbalannya diberikan kepada pengusul blok. Ini berarti bahwa meskipun sekelompok kecil pembangun blok khusus mendominasi ekstraksi MEV, imbalannya bisa diberikan kepada validator mana pun di jaringan, termasuk individu yang melakukan penaruhan di rumah. + + + +Seseorang dapat diberi insentif untuk melakukan penaruhan dengan pool daripada melakukannya atas keinginan sendiri karena peningkatan imbalan yang ditawarkan oleh strategi MEV yang canggih. Memisahkan pembangunan blok dari usulan blok berarti bahwa MEV yang diekstraksi akan tersebar di lebih banyak validator daripada terpusat pada pencari MEV yang paling efektif. Pada saat yang sama, memungkinkan pembangun blok khusus untuk ada menghilangkan beban pembangunan blok dari individu, dan juga mencegah individu mencuri MEV untuk diri mereka sendiri, sambil memaksimalkan jumlah validator individu dan independen yang dapat memeriksa blok-blok yang jujur. Konsep penting adalah "asimetri pemberi bukti-pemverifikasi" yang mengacu pada gagasan bahwa produksi blok terpusat dapat diterima selama ada jaringan validator yang kuat dan sepenuhnya terdesentralisasi yang mampu membuktikan bahwa blok-blok tersebut jujur. Desentralisasi adalah sarana, bukan tujuan akhir - yang kita inginkan adalah blok-blok yang jujur. + + +## PBS dan Danksharding {#pbs-and-danksharding} + +Danksharding adalah cara di mana Ethereum akan melakukan skalabilitas hingga >100.000 transaksi per detik dan meminimalkan biaya bagi pengguna rollup. Ini mengandalkan PBS karena menambah beban kerja bagi pembangun blok, yang harus menghitung bukti untuk hingga 64 MB data rollup dalam waktu kurang dari 1 detik. Hal ini mungkin akan memerlukan pembangun khusus yang dapat mengalokasikan perangkat keras yang cukup besar untuk tugas tersebut. Namun, dalam situasi saat ini, pembangunan blok bisa menjadi semakin terpusat di sekitar operator yang lebih canggih dan kuat karena ekstraksi MEV. Pemisahan pengusul-pembangun adalah cara untuk merangkul realitas ini dan mencegahnya memberikan tekanan terpusat pada validasi blok (bagian yang penting) atau distribusi imbalan penaruhan. Manfaat samping yang besar adalah bahwa pembangun blok khusus juga bersedia dan mampu menghitung bukti data yang diperlukan untuk Danksharding. + +## Kemajuan saat ini {#current-progress} + +PBS berada dalam tahap penelitian yang canggih, tetapi masih ada beberapa pertanyaan desain penting yang perlu dipecahkan sebelum dapat diprototipekan dalam klien Ethereum. Belum ada spesifikasi final yang tersedia. Ini berarti PBS kemungkinan akan memerlukan waktu setahun atau lebih lagi. Periksa [status terbaru penelitian](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance). + +## Bacaan Lebih Lanjut {#further-reading} + +- [Status penelitian: ketahanan terhadap penyensoran di bawah PBS](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance) +- [Desain pasar bebas yang ramah PBS](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725) +- [PBS dan ketahanan terhadap penyensoran](https://notes.ethereum.org/@fradamt/H1TsYRfJc#Secondary-auctions) +- [Daftar inklusi](https://notes.ethereum.org/@fradamt/H1ZqdtrBF) diff --git a/src/content/translations/id/roadmap/scaling/index.md b/src/content/translations/id/roadmap/scaling/index.md new file mode 100644 index 00000000000..ab29f99effd --- /dev/null +++ b/src/content/translations/id/roadmap/scaling/index.md @@ -0,0 +1,47 @@ +--- +title: Penskalaan Ethereum +description: Melakukan rollup transaksi batch secara bersamaan di luar rantai, sehingga mengurangi biaya bagi pengguna. Namun, cara rollup saat ini menggunakan data saat ini terlalu mahal, sehingga membatasi seberapa murah transaksi yang bisa dilakukan. Proto-Danksharding memperbaiki hal ini. +lang: id +image: ../../../../../assets/roadmap/roadmap-transactions.png +alt: "Peta Perjalanan Ethereum" +template: roadmap +--- + +Ethereum diskalakan menggunakan [lapisan ke-2](/layer-2/#rollups) (juga dikenal sebagai rollup), yang mengumpulkan transaksi secara bersamaan dan mengirimkan hasilnya ke Ethereum. Meskipun rollup hingga delapan kali lebih murah daripada Jaringan Utama Ethereum, Anda dapat mengoptimalkan rollup lebih lanjut untuk mengurangi biaya bagi pengguna akhir. Rollup juga bergantung pada beberapa komponen terpusat yang dapat dihapus oleh pengembang saat rollup sudah matang. + + +
    +
  • Rollup hari ini ~3-8x lebih murah daripada lapisan 1 Ethereum
  • +
  • Rollup ZK akan segera menurunkan biaya sebesar ~40-100x
  • +
  • Perubahan yang akan datang pada Ethereum akan memberikan penskalaan ~100-1000x lainnya
  • +
  • Pengguna harus mendapatkan keuntungan dari transaksi berharga kurang dari $0,001
  • +
+
+ +## Membuat data lebih murah {#making-data-cheaper} + +Rollup mengumpulkan sejumlah besar transaksi, mengeksekusinya, dan mengirimkan hasilnya ke Ethereum. Hal ini menghasilkan banyak data yang harus tersedia secara terbuka sehingga siapa pun dapat melakukan transaksi untuk diri mereka sendiri dan memverifikasi bahwa operator rollup tersebut jujur. Jika seseorang menemukan ketidaksesuaian, mereka dapat mengajukan tantangan. + +### Proto-Danksharding {#proto-danksharding} + +Data rollup disimpan di Ethereum secara permanen, yang harganya mahal. Lebih dari 90% dari biaya transaksi yang dibayarkan pengguna pada rollup disebabkan oleh penyimpanan data ini. Untuk mengurangi biaya transaksi, kita dapat memindahkan data ke dalam penyimpanan 'blob' sementara yang baru. Blob lebih murah karena tidak permanen; data ini akan dihapus dari Ethereum setelah tidak lagi dibutuhkan. Menyimpan data rollup dalam jangka panjang menjadi tanggung jawab pihak-pihak yang membutuhkannya, seperti operator rollup, bursa, layanan pengindeksan, dll. Menambahkan transaksi blob ke Ethereum adalah bagian dari peningkatan yang dikenal sebagai "Proto-Danksharding". Transaksi blob diperkirakan akan dikirim dalam waktu dekat—mungkin pada akhir tahun 2023. + +Setelah transaksi blob menjadi bagian dari protokol Ethereum melalui Proto-Danksharding, maka akan dimungkinkan menambahkan banyak blob ke dalam blok Ethereum. Ini akan menjadi peningkatan substansial (>100x) pada keluaran Ethereum dan penurunan biaya transaksi. + +### Danksharding {#danksharding} + +Tahap kedua dari perluasan data blob cukup rumit karena membutuhkan metode baru untuk memeriksa data rollup yang tersedia di jaringan dan bergantung pada validator yang memisahkan tanggung jawab pembangunan blok dan proposal blok. Hal ini juga membutuhkan cara untuk membuktikan secara kriptografis bahwa validator telah memverifikasi subset data blob. + +Langkah kedua ini dikenal sebagai ["Danksharding"](/roadmap/danksharding/). Kemungkinan masih beberapa tahun lagi untuk dapat diimplementasikan secara penuh. Danksharding bergantung pada pengembangan lain seperti [pemisahan pembangunan blok dan proposal blok](/roadmap/pbs) dan desain jaringan baru yang memungkinkan jaringan secara efisien mengonfirmasi bahwa data tersedia dengan mengambil sampel beberapa kilobita secara acak dalam satu waktu, yang dikenal dengan nama [pengambilan sampel data (DAS)](/developers/docs/data-availability). + +Lebih lanjut tentang Danksharding + +## Desentralisasi rollup {#decentralizing-rollups} + +[Rollup](/layer-2) sudah menskalakan Ethereum. Ekosistem [yang kaya akan proyek rollup](https://l2beat.com/scaling/tvl) memungkinkan pengguna untuk bertransaksi dengan cepat dan murah, dengan berbagai jaminan keamanan. Namun, rollup telah di-bootstrap menggunakan sequencer terpusat (komputer yang melakukan semua pemrosesan dan agregasi transaksi sebelum mengirimkannya ke Ethereum). Hal ini rentan terhadap penyensoran, karena operator sequencer dapat dikenai sanksi, disuap, atau dikompromikan. Pada saat yang sama, [rollup bervariasi](https://l2beat.com) dalam cara mereka memvalidasi data yang masuk. Cara terbaik adalah "pemberi bukti" mengirimkan bukti kecurangan atau bukti validitas, tetapi belum semua rollup ada di sana. Bahkan rollup yang menggunakan bukti validitas/penipuan menggunakan kumpulan kecil pemberi bukti yang diketahui. Oleh karena itu, langkah penting berikutnya dalam penskalaan Ethereum adalah mendistribusikan tanggung jawab untuk menjalankan sequencer dan pembuktian kepada lebih banyak orang. + +Lebih lanjut tentang rollup + +## Kemajuan saat ini {#current-progress} + +Proto-Danksharding kemungkinan besar akan menjadi salah satu item peta perjalanan awal yang akan diimplementasikan. Langkah-langkah komputasi terdesentralisasi yang diperlukan untuk menyiapkannya sudah berjalan dan beberapa klien telah mengimplementasikan prototipe untuk menangani data blob. Danksharding penuh kemungkinan masih akan berlangsung beberapa tahun lagi, karena hal ini bergantung pada beberapa item peta perjalanan lainnya yang harus diselesaikan terlebih dahulu. Desentralisasi infrastruktur rollup kemungkinan besar akan menjadi proses yang bertahap - ada banyak rollup berbeda yang membangun sistem yang sedikit berbeda dan akan sepenuhnya terdesentralisasi dengan kecepatan yang berbeda. diff --git a/src/content/translations/id/roadmap/secret-leader-election/index.md b/src/content/translations/id/roadmap/secret-leader-election/index.md new file mode 100644 index 00000000000..c8597c7f4af --- /dev/null +++ b/src/content/translations/id/roadmap/secret-leader-election/index.md @@ -0,0 +1,44 @@ +--- +title: Pilihan pemimimpin rahasia +description: Penjelasan tentang bagaimana pemilihan pemimpin rahasia dapat membantu melindungi validator dari serangan +lang: id +summaryPoints: + - Alamat IP pengusul blok dapat diketahui sebelumnya, membuat mereka rentan terhadap serangan + - Pemilihan pemimpin rahasia menyembunyikan identitas validator sehingga tidak dapat diketahui sebelumnya + - Perpanjangan dari ide ini adalah membuat pemilihan validator secara acak di setiap ruang. +--- + +# Pilihan pemimimpin rahasia {#single-secret-leader-election} + +Dalam mekanisme konsensus berbasis [bukti taruhan](/developers/docs/consensus-mechanisms/pos) yang ada saat ini, daftar pengusul blok yang akan datang bersifat publik dan memungkinkan untuk memetakan alamat IP mereka. Ini berarti penyerang dapat mengidentifikasi validator mana yang akan mengajukan blok dan menargetkan mereka dengan serangan denial-of-service (DOS) yang membuat mereka tidak dapat mengajukan blok tepat waktu. + +Hal ini dapat menciptakan peluang bagi penyerang untuk mendapatkan keuntungan. Sebagai contoh, seorang pengusul blok yang dipilih untuk ruang `n+1` dapat melakukan serangan DOS terhadap pengusul blok di ruang `n` sehingga mereka melewatkan kesempatan untuk mengusulkan blok. Hal ini akan memungkinkan pengusul blok yang menyerang untuk mengekstrak MEV dari kedua ruang, atau mengambil semua transaksi yang seharusnya dibagi menjadi dua blok dan memasukkannya ke dalam satu blok, dan mendapatkan semua biaya terkait. Hal ini cenderung mempengaruhi validator rumahan lebih banyak daripada validator institusional yang canggih yang dapat menggunakan metode yang lebih canggih untuk melindungi diri mereka sendiri dari serangan DOS, dan oleh karena itu dapat menjadi kekuatan pemusatan. + +Ada beberapa solusi untuk masalah ini. Salah satunya adalah [Teknologi Validator Terdistribusi](https://github.com/ethereum/distributed-validator-specs) yang bertujuan untuk menyebarkan berbagai tugas yang berkaitan dengan menjalankan validator di beberapa mesin, dengan redundansi, sehingga akan lebih sulit bagi penyerang untuk mencegah sebuah blok diusulkan di ruang tertentu. Namun, solusi yang paling kuat adalah **Pemilihan Pemimpin Rahasia Tunggal (SSLE)**. + +## Pemilihan pemimpin tunggal secara rahasia {#secret-leader-election} + +Dalam SSLE, kriptografi yang cerdas digunakan untuk memastikan bahwa hanya validator yang terpilih yang tahu bahwa mereka telah terpilih. Cara kerjanya adalah dengan meminta setiap validator untuk menyerahkan komitmen terhadap sebuah rahasia yang mereka miliki. Komitmen tersebut diacak dan dikonfigurasi ulang sehingga tidak ada seorang pun yang dapat memetakan komitmen ke validator, tetapi setiap validator mengetahui komitmen mana yang menjadi miliknya. Kemudian, satu komitmen dipilih secara acak. Jika seorang validator mendeteksi bahwa komitmen mereka terpilih, mereka tahu bahwa ini adalah giliran mereka untuk mengajukan blok. + +Implementasi utama dari ide ini disebut [Whisk](https://ethresear.ch/t/whisk-a-practical-shuffle-based-ssle-protocol-for-ethereum/11763). Yang berfungsi sebagai berikut: + +1. Validator berkomitmen untuk menjaga rahasia bersama. Skema komitmen dirancang sedemikian rupa sehingga dapat diikat ke identitas validator tetapi juga diacak sehingga tidak ada pihak ketiga yang dapat merekayasa pengikatan dan menautkan komitmen tertentu ke validator tertentu. +2. Pada awal sebuah jangka waktu, sekumpulan validator dipilih secara acak untuk mengambil sampel komitmen dari 16.384 validator, dengan menggunakan RANDAO. +3. Untuk 8182 ruang berikutnya (1 hari), pengusul blok mengocok dan mengacak sebagian dari komitmen menggunakan entropi pribadi mereka. +4. Setelah pengacakan selesai, RANDAO digunakan untuk membuat daftar komitmen yang terurut. Daftar ini dipetakan ke dalam ruang Ethereum. +5. Validator melihat bahwa komitmen mereka melekat pada ruang tertentu, dan ketika ruang tersebut tiba, mereka mengajukan blok. +6. Ulangi langkah-langkah ini sehingga penugasan komitmen ke ruang selalu jauh di depan ruang saat ini. + +Hal ini mencegah penyerang untuk mengetahui sebelumnya validator spesifik mana yang akan mengajukan blok berikutnya, mencegah kemampuan serangan DOS. + +## Pemilihan pemimpin non-tunggal secara rahasia (SnSLE) {#secret-non-single-leader-election} + +Ada juga proposal terpisah yang bertujuan untuk membuat skenario di mana validator masing-masing memiliki kesempatan acak untuk mengusulkan blok di setiap ruang, mirip dengan bagaimana proposal blok diputuskan di bawah bukti kerjak, yang dikenal sebagai **pemilihan pemimpin non-tunggal secara rahasia (SnSLE)**. Satu cara sederhana untuk melakukan ini adalah memanfaatkan fungsi RANDAO yang digunakan untuk memilih validator secara acak dalam protokol saat ini. Ide dari RANDAO adalah bahwa angka yang cukup acak dihasilkan dengan mencampurkan hash yang dikirimkan oleh banyak validator independen. Dalam SnSLE, hash ini dapat digunakan untuk memilih pengusul blok berikutnya, misalnya dengan memilih hash dengan nilai terendah. Kisaran hash yang valid dapat dibatasi untuk menyesuaikan kemungkinan validator individu yang dipilih di setiap ruang. Dengan mengklaim bahwa hash harus lebih kecil dari `2^256 * 5 / N` di mana `N` = jumlah validator aktif, peluang setiap validator individu terpilih di setiap ruang akan menjadi `5/N`. Dalam contoh ini, akan ada peluang 99,3% untuk setidaknya satu pengusul menghasilkan hash yang valid di setiap ruang. + +## Kemajuan saat ini {#current-progress} + +SSLE dan SnSLE keduanya sedang dalam tahap penelitian. Belum ada spesifikasi final untuk kedua ide tersebut. SSLE dan SnSLE merupakan proposal yang bersaing yang keduanya tidak dapat diimplementasikan bersama. Sebelum dikirim, mereka membutuhkan lebih banyak penelitian dan pengembangan, pembuatan prototipe, dan implementasi di jaringan percobaan publik. + +## Bacaan lebih lanjut {#further-reading} + +- [SnSLE](https://ethresear.ch/t/secret-non-single-leader-election/11789) diff --git a/src/content/translations/id/roadmap/security/index.md b/src/content/translations/id/roadmap/security/index.md new file mode 100644 index 00000000000..43971700bcf --- /dev/null +++ b/src/content/translations/id/roadmap/security/index.md @@ -0,0 +1,48 @@ +--- +title: Ethereum yang lebih aman +description: Ethereum merupakan platform kontrak pintar yang paling aman dan terdesentralisasi yang pernah ada. Namun, masih diperlukan perbaikan yang dapat dilakukan agar Ethereum tetap tangguh terhadap segala tingkat serangan di masa depan. +lang: id +image: ../../../../../assets/roadmap/roadmap-security.png +alt: "Peta Perjalanan Ethereum" +template: roadmap +--- + +Ethereum merupakan platform kontrak pintar yang sudah sangat aman dan terdesentralisasi. Namun, masih diperlukan perbaikan yang dapat dilakukan agar Ethereum tetap tangguh terhadap segala jenis serangan di masa depan. Ini termasuk perubahan pada cara klien Ethereum menangani blok yang bersaing, serta meningkatkan kecepatan jaringan dengan menganggap blok menjadi ["final"](/developers/docs/consensus-mechanisms/pos/#finality) (yang berarti tidak dapat diubah tanpa kerugian ekonomi yang ekstrem bagi penyerang). + +Ada juga perbaikan yang membuat sensor transaksi menjadi lebih sulit dengan membuat pengusul blok tidak dapat melihat isi sebenarnya dari blok mereka, dan cara baru untuk mengidentifikasi kapan klien melakukan sensor. Bersama-sama, perbaikan ini akan meningkatkan protokol bukti taruhan sehingga pengguna dari individu hingga korporasi memiliki kepercayaan instan pada aplikasi, data, dan aset mereka di Ethereum. + +## Penarikan penaruhan {#staking-withdrawals} + +Peningkatan dari bukti kerja ke bukti taruhan dimulai dengan para perintis Ethereum "menaruhkan" ETH mereka dalam kontrak deposit. ETH tersebut digunakan untuk melindungi jaringan. Namun, ETH tersebut belum dapat dibuka kunci dan dikembalikan kepada pengguna. Memungkinkan ETH untuk ditarik adalah bagian penting dari peningkatan bukti taruhan. Selain penarikan menjadi komponen penting dari protokol bukti taruhan yang berfungsi penuh, memungkinkan penarikan juga baik untuk keamanan Ethereum karena memungkinkan para penaruh untuk menggunakan hadiah ETH mereka untuk tujuan non-penaruhan lainnya. Ini berarti pengguna yang menginginkan likuiditas tidak harus bergantung pada derivatif penaruhan likuid (LSD) yang dapat menjadi kekuatan sentralisasi di Ethereum. Peningkatan ini dijadwalkan selesai pada 12 April 2023. + +Baca tentang penarikan + +## Bertahan dari serangan {#defending-against-attacks} + +Bahkan setelah penarikan, masih ada perbaikan yang perlu dilakukan untuk protokol [bukti taruhan](/developers/docs/consensus-mechanisms/pos/) Ethereum. Salah satunya adalah yang dikenal sebagai [lihat-gabungkan](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739) - sebuah algoritma pilihan garpu yang lebih aman dalam membuat beberapa jenis serangan yang canggih lebih sulit. + +Mengurangi waktu yang dibutuhkan Ethereum untuk menyelesaikan blok akan memberikan pengalaman pengguna yang lebih baik dan mencegah serangan "reorg" yang canggih di mana penyerang mencoba mengacak blok yang sangat baru untuk mendapatkan keuntungan atau menyensor transaksi tertentu. [**Finalitas ruang tunggal (SSF)**](/roadmap/single-slot-finality/) adalah cara untuk meminimalisir keterlambatan finalisasi. Saat ini ada 15 menit blok yang secara teoritis dapat digunakan oleh penyerang untuk mengkonfigurasi ulang validator lain. Dengan SSF, hanya ada 0. Pengguna, dari individu hingga aplikasi dan bursa, mendapat manfaat dari jaminan cepat bahwa transaksi mereka tidak akan dibatalkan, dan jaringan mendapat manfaat dengan menutup seluruh kumpulan serangan. + +Baca tentang finalitas ruang tunggal + +## Bertahan melawan sensor {#defending-against-censorship} + +Desentralisasi mencegah individu atau kelompok kecil validator menjadi terlalu berpengaruh. Teknologi penaruhan baru dapat membantu memastikan validator Ethereum tetap se-desentralisasi mungkin sekaligus melindungi mereka dari kegagalan perangkat keras, perangkat lunak, dan jaringan. Ini termasuk perangkat lunak yang membagi tanggung jawab validator di beberapa simpul. Ini dikenal sebagai **teknologi validator terdistribusi (DVT)**. Pool penaruhan mendapat insentif untuk menggunakan DVT karena memungkinkan beberapa komputer untuk berpartisipasi secara kolektif dalam validasi, menambah redundansi dan toleransi kesalahan. Ini juga membagi kunci validator di beberapa sistem, daripada memiliki operator tunggal yang menjalankan beberapa validator. Ini mempersulit operator yang tidak jujur untuk mengoordinasikan serangan terhadap Ethereum. Secara keseluruhan, ide ini adalah untuk mendapatkan manfaat keamanan dengan menjalankan validator sebagai _komunitas_ daripada sebagai individu. + +Baca tentang teknologi validator terdistribusi + +Mengimplementasikan **pemisahan pengusul-pembangun (PBS)** akan sangat meningkatkan pertahanan bawaan Ethereum terhadap sensor. PBS memungkinkan satu validator untuk membuat blok dan yang lain untuk menyiarkannya ke seluruh jaringan Ethereum. Ini memastikan bahwa keuntungan dari algoritma pembangun blok profesional yang memaksimalkan keuntungan dibagi lebih adil di seluruh jaringan, **mencegah taruhan berkonsentrasi** dengan penaruh institusional berkinerja terbaik dari waktu ke waktu. Pengusul blok dapat memilih blok paling menguntungkan yang ditawarkan oleh pasar pembangun blok. Untuk menyensor, pengusul blok harus sering memilih blok yang kurang menguntungkan, yang **tidak akan rasional secara ekonomi dan juga jelas bagi validator lain** di jaringan. + +Ada tambahan potensial untuk PBS, seperti transaksi terenkripsi dan daftar inklusi, yang dapat meningkatkan resistensi sensor Ethereum. Ini membuat pembangun blok dan pengusul tidak dapat melihat transaksi sebenarnya yang termasuk dalam blok mereka. + +Baca tentang pemisahan pengusul-pembangun + +## Melindungi validator {#protecting-validators} + +Ada kemungkinan bahwa penyerang canggih dapat mengidentifikasi validator yang akan datang dan menyerang mereka untuk mencegah mereka mengusulkan blok; ini dikenal sebagai serangan **penolakan layanan (DoS)**. Mengimplementasikan [**pemilihan pemimpin rahasia (SLE)**](/roadmap/secret-leader-election) akan melindungi dari jenis serangan ini dengan mencegah pengusul blok diketahui sebelumnya. Ini bekerja dengan terus mengacak sekumpulan komitmen kriptografi yang mewakili proposer blok kandidat dan menggunakan urutan mereka untuk menentukan validator mana yang dipilih dengan cara yang hanya diketahui oleh validator itu sendiri sebelumnya. + +Baca tentang pemilihan pemimpin rahasia + +## Kemajuan saat ini {#current-progress} + +Peningkatan keamanan di peta perjalanan berada di tahap penelitian lanjutan, tetapi tidak diharapkan akan diimplementasikan dalam waktu dekat. Langkah selanjutnya untuk view-merge, PBS, SSF, dan SLE adalah menyelesaikan spesifikasi dan mulai membangun prototipe. diff --git a/src/content/translations/id/roadmap/single-slot-finality/index.md b/src/content/translations/id/roadmap/single-slot-finality/index.md new file mode 100644 index 00000000000..efce220168a --- /dev/null +++ b/src/content/translations/id/roadmap/single-slot-finality/index.md @@ -0,0 +1,66 @@ +--- +title: Finalitas ruang tunggal +description: Penjelasan finalitas ruang tunggal +lang: id +--- + +# Finalitas ruang tunggal {#single-slot-finality} + +Perlu sekitar 15 menit bagi blok Ethereum untuk diselesaikan. Namun, kita bisa membuat mekanik konsensus Ethereum memvalidasi blok dengan lebih efisien dan mengurangi waktu-ke-finalitas secara dramatis. Daripada menunggu lima belas menit, blok bisa dipinang dan diselesaikan dalam ruang yang sama. Konsep ini dikenal dengan **finalitas ruang tunggal (SSF)**. + +## Apa itu kefinalan? {#what-is-finality} + +Dalam mekanisme konsensus berbasis bukti taruhan Ethereum, finalitas mengacu pada jaminan bahwa blok tidak dapat diubah atau dihapus dari rantai blok tanpa membakar setidaknya 33% dari total ETH yang ditambang. Ini adalah keamanan 'kripto-ekonomi' karena kepercayaan berasal dari biaya yang sangat tinggi yang terkait dengan mengubah urutan atau konten rantai yang akan mencegah aktor ekonomi rasional untuk mencobanya. + +## Mengapa mengincar finalitas yang lebih cepat? {#why-aim-for-quicker-finality} + +Waktu finalitas saat ini ternyata terlalu lama. Kebanyakan pengguna tidak ingin menunggu 15 menit untuk finalitas, dan ini tidak nyaman bagi aplikasi dan bursa yang mungkin ingin memiliki keluaran transaksi yang tinggi untuk harus menunggu selama itu untuk memastikan transaksi mereka permanen. Adanya jeda antara proposal dan finalisasi blok juga menciptakan peluang untuk reorg pendek yang dapat digunakan oleh penyerang untuk menyensor blok tertentu atau mengekstrak MEV. Mekanisme yang menangani peningkatan blok dalam tahap juga cukup rumit dan telah diperbaiki beberapa kali untuk menutup kerentanan keamanan, menjadikannya salah satu bagian dari basis kode Ethereum di mana bug halus lebih mungkin muncul. Masalah-masalah ini dapat dihilangkan dengan mengurangi waktu finalitas menjadi satu ruang. + +## Pengorbanan antara desentralisasi / waktu / overhead {#the-decentralization-time-overhead-tradeoff} + +Jaminan finalitas bukanlah sifat langsung dari blok baru; dibutuhkan waktu untuk blok baru mencapai finalitas. Alasannya adalah validator yang mewakili setidaknya 2/3 dari total ETH yang ditambang di jaringan harus memberikan suara untuk blok ("menyatakan") agar dianggap final. Setiap simpul memvalidasi di jaringan harus memproses pengesahan dari simpul lain untuk mengetahui apakah blok telah, atau belum, mencapai ambang batas 2/3 itu. + +Semakin singkat waktu yang diberikan untuk mencapai finalisasi, semakin banyak daya komputasi yang dibutuhkan di setiap simpul karena pemrosesan pengesahan harus dilakukan lebih cepat. Juga, semakin banyak simpul validasi yang ada di jaringan, semakin banyak pengesahan yang harus diproses untuk setiap blok, juga menambah daya komputasi yang dibutuhkan. Semakin banyak daya komputasi yang dibutuhkan, semakin sedikit orang yang dapat berpartisipasi karena perangkat keras yang lebih mahal diperlukan untuk memvalidasi setiap simpul. Meningkatkan waktu antara blok mengurangi daya komputasi yang dibutuhkan di setiap simpul tetapi juga memperpanjang waktu hingga finalitas, karena pengesahan diproses lebih lambat. + +Oleh karena itu, ada tawar-menawar antara overhead (daya komputasi), desentralisasi (jumlah simpul yang dapat berpartisipasi dalam memvalidasi rantai) dan waktu hingga finalitas. Sistem keseimbangan ideal daya komputasi minimum, desentralisasi maksimum dan waktu hingga finalitas minimum. + +Mekanisme konsensus Ethereum saat ini menyeimbangkan ketiga parameter ini dengan: + +- **Menetapkan taruhan minimum menjadi 32 ETH**. Ini menetapkan batas atas jumlah pernyataan validator yang harus diproses oleh simpul individu, dan karenanya batas atas persyaratan komputasi untuk setiap simpul. +- **Menetapkan waktu hingga finalitas sekitar ~15 menit**. Ini memberikan waktu yang cukup bagi validator yang dijalankan pada komputer rumah biasa untuk memproses pernyataan dengan aman untuk setiap blok. + +Dengan desain mekanisme saat ini, untuk mengurangi waktu hingga finalitas, perlu mengurangi jumlah validator di jaringan atau meningkatkan persyaratan perangkat keras untuk setiap simpul. Namun, ada peningkatan yang dapat dilakukan pada cara pemrosesan pernyataan yang dapat memungkinkan lebih banyak pengesahan dihitung tanpa menambah biaya overhead di setiap simpul. Pemrosesan yang lebih efisien akan memungkinkan finalitas ditentukan dalam satu ruang, bukan di dua jangka waktu. + +## Rute ke SSF {#routes-to-ssf} + + + +Mekanisme konsensus saat ini menggabungkan pengesahan dari beberapa validator, yang dikenal sebagai komite, untuk mengurangi jumlah pesan yang harus diproses oleh setiap validator untuk memvalidasi blok. Setiap validator memiliki kesempatan untuk mengesahkan dalam setiap jangka waktu (32 ruang) tetapi di setiap ruang, hanya sebagian validator, yang dikenal sebagai 'panitia' yang mengesahkan. Mereka melakukannya dengan membagi menjadi subnet di mana beberapa validator dipilih untuk menjadi 'agregator'. Agregator-agregator itu masing-masing menggabungkan semua tanda tangan yang mereka lihat dari validator lain di subnet mereka menjadi satu tanda tangan agregat. Agregator yang mencakup jumlah kontribusi individu terbanyak mengirimkan tanda tangan agregat mereka ke proposer blok, yang menyertakannya dalam blok bersama dengan tanda tangan agregat dari panitia lain. + +Proses ini memberikan kapasitas yang cukup untuk setiap validator memberikan suara dalam setiap jangka waktu, karena 32 ruang _ 64 panitia _ 256 validator per panitia = 524.288 validator per jangka waktu. Pada saat penulisan (Februari 2023) ada ~513.000 validator aktif. + +Dalam skema ini, hanya mungkin bagi setiap validator untuk memberikan suara pada blok dengan mendistribusikan pengesahan mereka di seluruh jangka waktu. Namun, ada kemungkinan cara untuk meningkatkan mekanisme sehingga _setiap validator memiliki kesempatan untuk mengesahkan dalam setiap ruang_. + + +Sejak mekanisme konsensus Ethereum dirancang, skema agregasi tanda tangan (BLS) telah ditemukan jauh lebih skalabel daripada yang awalnya dipikirkan, sementara kemampuan klien untuk memproses dan memverifikasi tanda tangan juga meningkat. Ternyata memproses pengesahan dari sejumlah besar validator sebenarnya mungkin dalam satu ruang. Misalnya, dengan satu juta validator masing-masing memberikan suara dua kali di setiap ruang, dan waktu ruang disesuaikan menjadi 16 detik, simpul akan diminta untuk memverifikasi tanda tangan dengan kecepatan minimum 125.000 agregasi per detik untuk memproses semua 1 juta pengesahan dalam ruang. Pada kenyataannya, dibutuhkan sekitar 500 nanodetik untuk melakukan satu verifikasi tanda tangan, yang berarti 125.000 dapat dilakukan dalam ~62,5 ms - jauh di bawah ambang batas satu detik. + +Peningkatan efisiensi lebih lanjut dapat dilakukan dengan membuat superkomite misalnya 125.000 validator acak dipilih per ruang. Hanya validator ini yang bisa memberikan suara pada blok dan oleh karena itu hanya subset validator ini yang memutuskan apakah blok sudah final atau tidak. Apakah ini ide yang baik atau tidak tergantung pada seberapa mahal komunitas lebih suka serangan berhasil pada Ethereum. Ini karena alih-alih membutuhkan 2/3 dari total ether yang ditambang, dan penyerang bisa menyelesaikan blok tidak jujur dengan 2/3 dari ether yang ditambang _di superkomite itu_. Ini masih merupakan area penelitian aktif, tetapi tampaknya masuk akal bahwa untuk set validator cukup besar untuk membutuhkan superkomite pada awalnya, biaya menyerang salah satu subkomite itu akan sangat tinggi (misalnya biaya serangan dalam ETH akan menjadi `2/3 * 125,000 * 32 = ~2.6 million ETH`). Biaya serangan dapat disesuaikan dengan meningkatkan ukuran set validator (misalnya sesuaikan ukuran validator sehingga biaya serangan sama dengan 1 juta ether, 4 juta ether, 10 juta ether, dll). [Jajak pendapat awal](https://youtu.be/ojBgyFl6-v4?t=755) dari komunitas tampaknya menunjukkan bahwa 1-2 juta ether adalah biaya serangan yang dapat diterima, yang menyiratkan ~65.536 - 97.152 validator per superkomite. + +Namun, verifikasi bukanlah hambatan sebenarnya - agregasi tanda tanganlah yang benar-benar menantang simpul validasi. Untuk meningkatkan skala agregasi tanda tangan mungkin akan membutuhkan peningkatan jumlah validator di setiap subnet, meningkatkan jumlah subnet, atau menambahkan lapisan agregasi tambahan (yaitu menerapkan panitia dari panitia). Bagian dari solusinya mungkin dengan mengizinkan agregator khusus - serupa dengan bagaimana pembangunan blok dan menghasilkan komitmen untuk data rollup akan diserahkan ke pembangun blok khusus di bawah pemisahan proposer-builder (PBS) dan Danksharding. + +## Apa peran aturan pilihan-garpu di SSF? {#role-of-the-fork-choice-rule} + +Mekanisme konsensus saat ini mengandalkan hubungan erat antara alat finalitas (algoritma yang menentukan apakah 2/3 validator telah memberikan kesaksian pada rantai tertentu) dan aturan pilihan garpu (algoritma yang memutuskan rantai mana yang benar ketika ada beberapa pilihan). Algoritma pilihan garpu hanya mempertimbangkan blok _sejak_ blok terakhir yang difinalisasi. Di bawah SSF tidak akan ada blok untuk dipertimbangkan oleh aturan pilihan garpu, karena finalitas terjadi di ruang yang sama dengan blok yang diajukan. Ini berarti bahwa di bawah SSF _baik_ algoritma pilihan cabang _maupun_ alat finalitas akan aktif setiap saat. Alat finalitas akan menyelesaikan blok di mana 2/3 validator sedang daring dan membuktikan dengan jujur. Jika sebuah blok tidak mampu melebihi ambang batas 2/3, aturan pilihan garpu akan berperan untuk menentukan rantai mana yang harus diikuti. Ini juga menciptakan peluang untuk mempertahankan mekanisme kebocoran ketidakaktifan yang memulihkan rantai di mana >1/3 validator menjadi offline, meskipun dengan beberapa nuansa tambahan. + +## Masalah yang belum terselesaikan {#outstanding-issues} + +Masalah dengan penskalaan agregasi dengan meningkatkan jumlah validator per subnet adalah bahwa hal itu menyebabkan beban yang lebih besar pada jaringan rekan-ke-rekan. Masalah dengan menambahkan lapisan agregasi adalah bahwa hal itu cukup kompleks untuk dirancang dan menambahkan latensi (yaitu, bisa memakan waktu lebih lama bagi proposer blok untuk mendengar dari semua agregator subnet). Juga tidak jelas bagaimana cara menangani skenario di mana ada lebih banyak validator aktif di jaringan daripada yang dapat diproses secara layak di setiap ruang, bahkan dengan agregasi tanda tangan BLS. Salah satu solusi potensial adalah bahwa, karena semua validator memberikan kesaksian di setiap ruang dan tidak ada panitia di bawah SSF, batas 32 ETH pada keseimbangan efektif dapat dihapus sepenuhnya, yang berarti operator yang mengelola beberapa validator dapat mengonsolidasikan taruhan mereka dan menjalankan lebih sedikit, mengurangi jumlah pesan yang harus diproses oleh simpul validasi untuk memperhitungkan seluruh set validator. Ini bergantung pada staker besar yang setuju untuk mengonsolidasikan validator mereka. Juga dimungkinkan untuk memberlakukan batas tetap pada jumlah validator atau jumlah penaruhan ETH setiap saat. Namun, ini membutuhkan beberapa mekanisme untuk memutuskan validator mana yang diizinkan untuk berpartisipasi dan mana yang tidak, yang rentan menciptakan efek samping yang tidak diinginkan. + +## Kemajuan saat ini {#current-progress} + +SSF sedang dalam tahap penelitian. Ini tidak diharapkan akan diluncurkan dalam beberapa tahun ke depan, kemungkinan setelah peningkatan besar lainnya seperti [Verkle trees](/roadmap/verkle-trees/) dan [Danksharding](/roadmap/danksharding]). + +## Bacaan lebih lanjut {#further-reading} + +- [Vitalik tentang SSF di EDCON 2022](https://www.youtube.com/watch?v=nPgUKNPWXNI) +- [Catatan Vitalik: Jalur menuju satu finalitas ruang tunggal](https://notes.ethereum.org/@vbuterin/single_slot_finality) diff --git a/src/content/translations/id/roadmap/statelessness/index.md b/src/content/translations/id/roadmap/statelessness/index.md new file mode 100644 index 00000000000..fa657d53615 --- /dev/null +++ b/src/content/translations/id/roadmap/statelessness/index.md @@ -0,0 +1,103 @@ +--- +title: Tanpa kewarganegaraan, masa berlaku kewarganegaraan, dan masa berlaku sejarah +description: Penjelasan tentang kedaluwarsa riwayat dan Ethereum tanpa status +lang: id +--- + +# Tanpa kewarganegaraan, masa berlaku kewarganegaraan, dan masa berlaku sejarah {#statelessness} + +Kemampuan untuk menjalankan simpul Ethereum pada perangkat keras sederhana sangat penting untuk desentralisasi yang sebenarnya. Hal ini karena menjalankan sebuah simpul memberikan pengguna kemampuan untuk memverifikasi informasi dengan melakukan pemeriksaan kriptografi secara mandiri daripada mempercayai pihak ketiga untuk memberi mereka data. Menjalankan sebuah simpul memungkinkan pengguna untuk mengirimkan transaksi secara langsung ke jaringan rekan-ke-rekan Ethereum daripada harus mempercayai perantara. Desentralisasi tidak mungkin dilakukan jika manfaat ini hanya tersedia bagi pengguna dengan perangkat keras yang mahal. Sebaliknya, simpul harus dapat berjalan dengan kebutuhan pemrosesan dan memori yang sangat sederhana sehingga dapat berjalan di ponsel, komputer mikro, atau tanpa disadari di komputer rumah. + +Saat ini, kebutuhan ruang disk yang tinggi merupakan penghalang utama yang menghalangi akses universal ke simpul. Hal ini terutama disebabkan oleh kebutuhan untuk menyimpan sebagian besar data status Ethereum. Data status ini berisi informasi penting yang diperlukan untuk memproses blok dan transaksi baru dengan benar. Pada saat artikel ini ditulis, SSD 2TB yang cepat direkomendasikan untuk menjalankan sebuah simpul Ethereum penuh. Untuk sebuah simpul yang tidak memangkas data yang lebih lama, kebutuhan penyimpanan bertambah sekitar 14GB/minggu, dan simpul arsip yang menyimpan semua data sejak awal mendekati 12 TB (pada saat penulisan, pada Februari 2023). + +Hard drive yang lebih murah dapat digunakan untuk menyimpan data yang lebih lama, namun terlalu lambat untuk mengimbangi blok yang masuk. Mempertahankan model penyimpanan saat ini untuk klien sambil membuat data lebih murah dan lebih mudah disimpan hanyalah solusi sementara dan parsial untuk masalah ini karena pertumbuhan status Ethereum 'tidak terbatas', yang berarti bahwa kebutuhan penyimpanan hanya akan terus meningkat, dan peningkatan teknologi akan selalu harus mengimbangi pertumbuhan status yang berkelanjutan. Sebaliknya, klien harus menemukan cara baru untuk memverifikasi blok dan transaksi yang tidak bergantung pada pencarian data dari database lokal. + +## Mengurangi penyimpanan untuk simpul {#reducing-storage-for-nodes} + +Ada beberapa cara untuk mengurangi jumlah data yang harus disimpan oleh setiap simpul, masing-masing membutuhkan protokol inti Ethereum untuk diperbarui ke tingkat yang berbeda: + +- **Kadaluarsa riwayat**: memungkinkan simpul untuk menghapus data status yang lebih tua dari X blok, tetapi tidak mengubah cara penanganan data status oleh klien Ethereum +- **Kadaluwarsa status**: memungkinkan data status yang tidak sering digunakan menjadi tidak aktif. Data yang tidak aktif dapat diabaikan oleh klien sampai data tersebut dibangkitkan. +- **Keadaan tanpa status yang lemah**: hanya produsen blok yang perlu mengakses data status lengkap, simpul lain dapat memverifikasi blok tanpa database status lokal. +- **Keadaan tanpa status yang kuat**: tidak ada simpul yang perlu mengakses data status lengkap. + +## Data kedaluwarsa {#data-expiry} + +### Kadaluarsa riwayat {#history-expiry} + +Kedaluwarsa riwayat expiry mengacu pada klien yang memangkas data lama yang tidak mereka perlukan, sehingga mereka hanya menyimpan sedikit data historis, dan menghapus data lama ketika data baru tiba. Ada dua alasan mengapa klien memerlukan data historis: sinkronisasi dan melayani permintaan data. Awalnya, klien harus menyinkronkan dari blok genesis, memverifikasi bahwa setiap blok yang berurutan sudah benar sampai ke kepala rantai. Saat ini, klien menggunakan "pos pemeriksaan subjektivitas yang lemah" untuk melangkahkan kaki mereka ke kepala rantai. Checkpoint ini merupakan titik awal yang terpercaya, seperti memiliki blok genesis yang dekat dengan saat ini, bukan di awal berdirinya Ethereum. Ini berarti klien dapat membuang semua informasi sebelum pos pemeriksaan subjektivitas yang lemah terbaru tanpa kehilangan kemampuan untuk menyinkronkan ke kepala rantai. Klien saat ini melayani permintaan (yang datang melalui JSON-RPC) untuk data historis dengan mengambilnya dari basis data lokal mereka. Namun, dengan riwayat kedaluwarsa, hal ini tidak akan mungkin dilakukan jika data yang diminta telah dipangkas. Menyajikan data historis ini adalah di mana beberapa solusi inovatif diperlukan. + +Salah satu pilihannya adalah klien meminta data historis dari rekan-rekannya menggunakan solusi seperti Jaringan Portal. Jaringan Portal adalah jaringan rekan-ke-rekan yang sedang dikembangkan untuk menyajikan data historis di mana setiap simpul menyimpan sepotong kecil sejarah Ethereum sehingga seluruh sejarah yang ada didistribusikan ke seluruh jaringan. Permintaan dilayani dengan mencari rekan-rekan yang menyimpan data yang relevan dan memintanya dari mereka. Atau, karena umumnya aplikasi yang memerlukan akses ke data historis, maka mereka bertanggung jawab untuk menyimpannya. Mungkin juga ada cukup banyak aktor altruistik dalam ruang Ethereum yang bersedia untuk memelihara arsip sejarah. Ini bisa berupa DAO yang berputar untuk mengelola penyimpanan data historis, atau idealnya merupakan kombinasi dari semua opsi ini. Penyedia ini dapat menyajikan data dengan berbagai cara, seperti melalui torrent, FTP, Filecoin, atau IPFS. + +Kedaluwarsa riwayat agak kontroversial karena sejauh ini Ethereum selalu secara implisit menjamin ketersediaan data historis apa pun. Sinkronisasi penuh dari genesis selalu dimungkinkan sebagai standar, bahkan jika hal ini bergantung pada pembangunan kembali beberapa data yang lebih lama dari snapshot. Kedaluwarsa riwayat memindahkan tanggung jawab untuk menyediakan jaminan ini di luar protokol inti Ethereum. Hal ini dapat menimbulkan risiko penyensoran baru jika organisasi terpusat yang akhirnya turun tangan untuk menyediakan data historis. + +EIP-4444 belum siap untuk dikirim, tetapi sedang dalam diskusi aktif. Menariknya, tantangan dengan EIP-4444 tidak terlalu teknis, tetapi sebagian besar adalah manajemen komunitas. Agar hal ini dapat dilakukan, perlu ada dukungan dari komunitas yang tidak hanya mencakup persetujuan tetapi juga komitmen untuk menyimpan dan menyajikan data historis dari entitas yang dapat dipercaya. + +Peningkatan ini tidak secara fundamental mengubah cara simpul Ethereum menangani data status, ini hanya mengubah cara data historis diakses. + +### Kadaluwarsa status {#state-expiry} + +Kedaluwarsa status mengacu pada penghapusan state dari setiap simpul jika belum pernah diakses baru-baru ini. Ada beberapa cara yang dapat dilakukan untuk mengimplementasikan hal ini, termasuk: + +- **Kedaluwarsa berdasarkan sewa**: membebankan "sewa" kepada akun dan mengakhiri akun tersebut saat sewa mencapai nol +- **Kedaluwarsa berdasarkan waktu**: membuat akun tidak aktif jika tidak ada pembacaan/penulisan pada akun tersebut selama jangka waktu tertentu + +Masa berlaku dengan sewa dapat berupa sewa langsung yang dibebankan ke akun untuk menjaganya tetap berada dalam basis data status aktif. Kedaluwarsa berdasarkan waktu dapat berupa hitungan mundur dari interaksi akun terakhir, atau dapat juga berupa kedaluwarsa secara berkala untuk semua akun. Mungkin juga ada mekanisme yang menggabungkan elemen-elemen dari kedua model berbasis waktu dan sewa, misalnya akun individu tetap dalam kondisi aktif jika mereka membayar sejumlah kecil biaya sebelum masa berlakunya berakhir. Dalam kadaluarsa keadaan, penting untuk dicatat bahwa keadaan tidak aktif **tidak dihapus**, melainkan disimpan secara terpisah dari keadaan aktif. Status tidak aktif dapat dibangkitkan menjadi status aktif. + +Cara kerjanya adalah dengan memiliki pohon status untuk jangka waktu tertentu (mungkin ~1 tahun). Setiap kali periode baru dimulai, begitu juga dengan pohon status yang benar-benar segar. Hanya pohon status saat ini yang dapat dimodifikasi, yang lainnya tidak dapat diubah. Simpul Ethereum hanya diharapkan untuk menyimpan state tree saat ini dan state tree terbaru berikutnya. Hal ini memerlukan cara untuk memberi cap waktu pada alamat dengan periode keberadaannya. Terdapat [beberapa cara mungkin](https://ethereum-magicians.org/t/types-of-resurrection-metadata-in-state-expiry/6607) untuk melakukannya, tetapi opsi utama mengharuskan [alamat-alamat menjadi lebih panjang](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485) untuk menampung informasi tambahan dengan manfaat tambahan bahwa alamat yang lebih panjang lebih aman secara signifikan. Elemen peta perjalanan yang melakukannya disebut [perluasan ruang alamat](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485). + +Sama halnya dengan kedaluwarsa riwayat, di bawah kedaluwarsa negara, tanggung jawab untuk menyimpan data negara lama dihapus dari pengguna individu dan didorong ke entitas lain seperti penyedia terpusat, anggota komunitas altruistik, atau solusi terdesentralisasi yang lebih futuristik seperti Jaringan Portal. + +Kedaluwarsa status masih dalam tahap penelitian dan belum siap untuk dikirim. Kedaluwarsa status mungkin terjadi lebih lambat daripada klien tanpa kewarganegaraan dan kedaluwarsa riwayat karena peningkatan tersebut membuat ukuran negara yang besar dapat dengan mudah dikelola oleh sebagian besar validator. + +## Tanpa kewarganegaraan {#statelessness} + +Keadaan tanpa status sedikit keliru karena tidak berarti konsep "status" dihilangkan, tetapi melibatkan perubahan pada bagaimana node Ethereum menangani data status. Keadaan tanpa status itu dsendiri terdiri atas dua jenis: keadaan tanpa status yang lemah dan keadaan tanpa status yang kuat. Keadaan tanpa status yang lemah memungkinkan sebagian besar simpul menjadi tanpa status dengan menempatkan tanggung jawab untuk penyimpanan status pada beberapa simpul. Keadaan tanpa status yang kuat sepenuhnya menghilangkan kebutuhan simpul apa pun untuk menyimpan data status penuh. Baik keadaan tanpa status yang lemah maupun yang kuat menawarkan manfaat berikut ini bagi validator normal: + +- sinkronisasi yang hampir instan +- kemampuan untuk memvalidasi blok yang rusak +- simpul yang dapat berjalan dengan kebutuhan perangkat keras yang sangat rendah (misalnya pada ponsel) +- simpul dapat berjalan di atas hard drive yang murah karena tidak diperlukan pembacaan/penulisan disk +- kompatibel dengan peningkatan kriptografi Ethereum di masa mendatang + +### Keadaan Tanpa Status yang Lemah {#weak-statelessness} + +Keadaan tanpa status yang lemah memang melibatkan perubahan pada cara simpul Ethereum memverifikasi perubahan status, tetapi tidak sepenuhnya menghilangkan kebutuhan akan penyimpanan status di semua simpul di jaringan. Sebaliknya, keadaan tanpa status yang lemah menempatkan tanggung jawab untuk penyimpanan status pada pengusul blok, sementara semua simpul lain dalam jaringan memverifikasi blok tanpa menyimpan data status secara penuh. + +**Dalam keadaan tanpa status yang lemah, pengajuan blok membutuhkan akses ke data negara secara penuh, tetapi verifikasi blok tidak membutuhkan data status** + +Untuk hal ini terjadi, [pohon Verkle](../verkle-trees) harus sudah diimplementasikan dalam klien-klien Ethereum. Pohon Verkle adalah struktur data pengganti untuk menyimpan data status Ethereum yang memungkinkan "saksi" berukuran kecil dan tetap pada data yang akan diteruskan di antara rekan-rekan dan digunakan untuk memverifikasi blok alih-alih memverifikasi blok terhadap database lokal. [Pemisahan pembangun proposal](/roadmap/pbs/) juga diperlukan karena ini memungkinkan pembangun blok menjadi simpul yang berspesialisasi dengan perangkat keras yang lebih kuat, dan merekalah yang memerlukan akses ke data keadaan penuh. + + + +Keadaan tanpa status bergantung pada pembangun blok yang menyimpan salinan data negara lengkap sehingga mereka dapat menghasilkan saksi yang dapat digunakan untuk memverifikasi blok. Simpul lain tidak membutuhkan akses ke data status, semua informasi yang diperlukan untuk memverifikasi blok tersedia di saksi. Hal ini menciptakan situasi di mana mengajukan blok itu mahal, tetapi memverifikasi blok itu murah, yang berarti lebih sedikit operator yang akan menjalankan simpul pengajuan blok. Akan tetapi, desentralisasi pengusul blok tidak terlalu penting selama sebanyak mungkin peserta dapat memverifikasi secara independen bahwa blok yang mereka ajukan valid. + +Baca lebih lanjut tentang catatan Dankrad + + +Pengusul blok menggunakan data status untuk membuat "saksi" - sekumpulan data minimal yang membuktikan nilai status yang sedang diubah oleh transaksi dalam sebuah blok. Validator lain tidak menyimpan state, mereka hanya menyimpan status akar (hash dari seluruh status). Mereka menerima sebuah blok dan sebuah saksi dan menggunakannya untuk memperbarui status akar mereka. Hal ini membuat simpul validasi menjadi sangat ringan. + +Keadaan tanpa status yang lemah sedang dalam tahap penelitian lanjutan, tetapi bergantung pada pemisahan pengusul-pembangun dan Pohon Verkle yang telah diimplementasikan sehingga saksi-saksi kecil dapat diteruskan di antara rekan-rekannya. Ini berarti keadaan tanpa status yang lemah mungkin masih beberapa tahun lagi dari Jaringan Utama Ethereum. + +### Keadaan tanpa status yang kuat {#strong-statelessness} + +Tanpa kewarganegaraan yang kuat menghilangkan kebutuhan akan blok apa pun untuk menyimpan data negara. Sebagai gantinya, transaksi dikirim dengan saksi yang dapat diagregasi oleh produsen blok. Produsen blok kemudian bertanggung jawab untuk menyimpan hanya status yang diperlukan untuk menghasilkan saksi untuk akun yang relevan. Tanggung jawab untuk menyatakan hampir sepenuhnya berpindah ke pengguna, karena mereka mengirimkan saksi dan 'daftar akses' untuk menyatakan akun dan kunci penyimpanan mana yang berinteraksi dengan mereka. + +Keadaan tanpa status yang kuat telah diselidiki oleh para peneliti tetapi saat ini tidak diharapkan menjadi bagian dari peta perjalanan Ethereum - kemungkinan besar keadaan tanpa status yang lemah sudah cukup untuk kebutuhan penskalaan Ethereum. + +## Kemajuan saat ini {#current-progress} + +Keadaan tanpa status yang lemah, kedaluwarsa riwayat, dan kedaluwarsa status seluruhnya ada dalam tahap penelitian dan diperkirakan akan dikirimkan beberapa tahun dari sekarang. Tidak ada jaminan bahwa semua proposal ini akan diimplementasikan, sebagai contoh, jika kedaluwarsa status diimplementasikan terlebih dahulu, mungkin tidak perlu juga mengimplementasikan kedaluwarsa riwayat. Ada juga elemen-elemen peta perjalanan lainnya, seperti [Pohon Verkle](/roadmap/verkle-trees) dan [Pemisahan pembangun Pengusul](/roadmap/pbs) yang perlu diselesaikan terlebih dahulu. + +## Bacaan lebih lanjut {#further-reading} + +- [AMA keadaan tanpa status vitalik](https://www.reddit.com/r/ethereum/comments/o9s15i/impromptu_technical_ama_on_statelessness_and/) +- [Teori manajemen ukuran status](https://hackmd.io/@vbuterin/state_size_management) +- [Pembatasan status yang meminimalkan konflik kebangkitan](https://ethresear.ch/t/resurrection-conflict-minimized-state-bounding-take-2/8739) +- [Jalan menuju keadaan tanpa status dan kedaluwarsa status](https://hackmd.io/@vbuterin/state_expiry_paths) +- [Spesifikasi EIP-4444](https://eips.ethereum.org/EIPS/eip-4444) +- [Alex Stokes pada EIP-4444](https://youtu.be/SfDC_qUZaos) +- [Mengapa sangat penting untuk masuk ke keadaan tanpa status](https://dankradfeist.de/ethereum/2021/02/14/why-stateless.html) +- [Catatan konsep klien tanpa kewarganegaraan yang asli](https://ethresear.ch/t/the-stateless-client-concept/172) +- [Lebih lanjut tentang kedaluwarsa status](https://hackmd.io/@vbuterin/state_size_management#A-more-moderate-solution-state-expiry) +- [Bahkan lebih lanjut tentang kedaluwarsa status](https://hackmd.io/@vbuterin/state_expiry_paths#Option-2-per-epoch-state-expiry) diff --git a/src/content/translations/id/roadmap/user-experience/index.md b/src/content/translations/id/roadmap/user-experience/index.md new file mode 100644 index 00000000000..fb30d2ed155 --- /dev/null +++ b/src/content/translations/id/roadmap/user-experience/index.md @@ -0,0 +1,36 @@ +--- +title: Meningkatkan pengalaman pengguna +description: Masih terlalu rumit untuk menggunakan Ethereum bagi kebanyakan orang. Untuk mendorong adopsi massal, Ethereum harus secara drastis menurunkan hambatan masuknya - pengguna harus mendapatkan manfaat dari akses yang terdesentralisasi, tanpa izin, dan tahan sensor ke Ethereum, tetapi harus sama mudahnya dengan menggunakan aplikasi web2 tradisional. +lang: id +image: ../../../../../assets/roadmap/roadmap-ux.png +alt: "Peta Perjalanan Ethereum" +template: roadmap +--- + +Menggunakan Ethereum perlu disederhanakan; mulai dari mengelola kunci dan dompet hingga memulai transaksi. Untuk memfasilitasi adopsi massal, Ethereum harus secara drastis meningkatkan kemudahan penggunaan, sehingga pengguna dapat merasakan akses tanpa izin dan tanpa sensor ke Ethereum dengan pengalaman tanpa gesekan dalam menggunakan aplikasi Web2. + +## Di luar frasa benih {#no-more-seed-phrases} + +Akun Ethereum dilindungi oleh sepasang kunci yang digunakan untuk mengidentifikasi akun (kunci publik) dan menandatangani pesan (kunci pribadi). Kunci pribadi seperti kata sandi utama; kunci ini memungkinkan akses penuh ke akun Ethereum. Ini adalah cara pengoperasian yang berbeda untuk orang-orang yang lebih akrab dengan bank dan aplikasi Web2 yang mengelola akun atas nama pengguna. Agar Ethereum dapat mencapai adopsi massal tanpa bergantung pada pihak ketiga yang tersentralisasi, harus ada cara yang mudah dan tanpa gesekan bagi pengguna untuk menjaga aset mereka dan tetap mengontrol data mereka tanpa harus memahami kriptografi kunci publik-pribadi dan manajemen kunci. + +Solusi untuk hal ini adalah dengan menggunakan dompet kontrak pintar untuk berinteraksi dengan Ethereum. Dompet kontrak pintar menciptakan cara untuk melindungi akun jika kuncinya hilang atau dicuri, peluang untuk deteksi dan pertahanan yang lebih baik, dan memungkinkan dompet untuk mendapatkan fungsionalitas baru. Meskipun dompet kontrak pintar sudah ada saat ini, namun masih sulit untuk dibuat karena protokol Ethereum perlu mendukungnya dengan lebih baik. Dukungan tambahan ini dikenal sebagai abstraksi akun. + +Lebih lanjut tentang abstraksi akun + +## Simpul untuk semua orang + +Pengguna yang menjalankan node tidak perlu mempercayai pihak ketiga untuk memberikan data kepada mereka, dan mereka dapat berinteraksi dengan cepat, secara pribadi, dan tanpa izin dengan rantai blok Ethereum. Namun, menjalankan simpul saat ini membutuhkan pengetahuan teknis dan ruang disk yang besar, yang berarti banyak orang harus mempercayai perantara. + +Ada beberapa peningkatan yang akan membuat menjalankan node jauh lebih mudah dan jauh lebih sedikit menggunakan sumber daya. Cara penyimpanan data akan berubah untuk menggunakan struktur yang lebih efisien dalam penggunaan ruang yang dikenal sebagai **Pohon Verkle**. Dengan [keadaan tanpa status](/roadmap/statelessness) atau [kedaluwarsa data](/roadmap/statelessness/#data-expiry), simpul Ethereum tidak perlu menyimpan salinan seluruh data keadaan Ethereum, yang secara drastis mengurangi kebutuhan ruang hard disk. [Simpul ringan](/developers/docs/nodes-and-clients/light-clients/) akan menawarkan banyak manfaat dari menjalankan simpul penuh, tetapi dapat dijalankan dengan mudah pada ponsel seluler atau dalam aplikasi browser sederhana. + +Baca tentang pohon Verkle + +Dengan peningkatan ini, hambatan untuk menjalankan sebuah simpul dikurangi menjadi nol secara efektif. Pengguna akan mendapatkan keuntungan dari akses yang aman dan tanpa izin ke Ethereum tanpa harus mengorbankan ruang disk atau CPU yang signifikan di komputer atau ponsel mereka, dan tidak perlu bergantung pada pihak ketiga untuk akses data atau jaringan ketika mereka menggunakan aplikasi. + +## Kemajuan saat ini {#current-progress} + +Dompet kontrak pintar sudah tersedia, tetapi lebih banyak peningkatan diperlukan untuk membuatnya terdesentralisasi dan tanpa izin. EIP-4337 adalah proposal matang yang tidak memerlukan perubahan apa pun pada protokol Ethereum. Kontrak pintar utama yang diperlukan untuk EIP-4337 digunakan pada bulan Maret 2023. + +Kewarganegaraan penuh masih dalam tahap penelitian dan kemungkinan masih beberapa tahun lagi untuk diimplementasikan. Ada beberapa tonggak penting dalam perjalanan menuju keadaan tanpa kewarganegaraan penuh, termasuk masa berlaku data, yang dapat diimplementasikan lebih cepat. Item-item lain dalam peta perjalanan, seperti [Pohon Verkle](/roadmap/verkle-trees/) dan [Pemisahan Pembangun Penyedia](/roadmap/pbs/), perlu diselesaikan terlebih dahulu. + +Jaringan percobaan pohon Verkle sudah aktif dan berjalan, dan fase berikutnya adalah menjalankan klien yang diaktifkan pohon Verkle pada jaringan percobaan pribadi, kemudian publik. Anda dapat membantu mempercepat kemajuan dengan menggunakan kontrak ke jaringan percobaan atau menjalankan klien jaringan percobaan. diff --git a/src/content/translations/id/roadmap/verkle-trees/index.md b/src/content/translations/id/roadmap/verkle-trees/index.md new file mode 100644 index 00000000000..dab00bc5e9e --- /dev/null +++ b/src/content/translations/id/roadmap/verkle-trees/index.md @@ -0,0 +1,65 @@ +--- +title: Pohon Verkle +description: Penjelasan tingkat tinggi tentang pohon Verkle dan bagaimana pohon tersebut akan digunakan untuk meningkatkan Ethereum +lang: id +summaryPoints: + - Temukan apa itu pohon Verkle + - Baca mengapa Pohon Verkle adalah peningkatan yang berguna untuk Ethereum +--- + +# Pohon Verkle {#verkle-trees} + +Pohon Verkle (gabungan dari "Vector commitment" dan "Merkle Trees") adalah sebuah struktur data yang dapat digunakan untuk meningkatkan simpul Ethereum sehingga simpul tersebut dapat berhenti menyimpan data status dalam jumlah besar tanpa kehilangan kemampuan untuk memvalidasi blok. + +## Tanpa kewarganegaraan {#statelessness} + +Pohon Verkle adalah langkah penting dalam perjalanan menuju klien Ethereum tanpa kewarganegaraan. Klien tanpa kewarganegaraan adalah klien yang tidak perlu menyimpan seluruh database status untuk memvalidasi blok yang masuk. Alih-alih menggunakan salinan lokal status Ethereumnya sendiri untuk memverifikasi blok, klien tanpa status menggunakan "saksi" untuk data status yang datang bersama blok. Saksi adalah sebuah kumpulan potongan-potongan individu dari data status yang diperlukan untuk mengeksekusi serangkaian transaksi tertentu, dan bukti kriptografi bahwa saksi tersebut benar-benar merupakan bagian dari data lengkap. Saksi digunakan, _bukan_ dari database keadaan. Agar hal ini dapat bekerja, saksi harus berukuran sangat kecil, sehingga dapat disiarkan dengan aman di seluruh jaringan pada waktunya agar validator dapat memprosesnya dalam ruang 12 detik. Struktur data status saat ini tidak cocok karena saksi terlalu besar. Pohon Verkle memecahkan masalah ini dengan memungkinkan saksi kecil, menghilangkan salah satu hambatan utama bagi klien tanpa status. + + + +Klien Ethereum saat ini menggunakan struktur data yang dikenal sebagai Patricia Merkle Trie untuk menyimpan data statusnya. Informasi mengenai masing-masing akun disimpan sebagai daun pada trie dan pasangan daun di-hash berulang kali hingga hanya satu hash yang tersisa. Hash terakhir ini dikenal sebagai "akar". Untuk memverifikasi blok, klien Ethereum mengeksekusi semua transaksi dalam sebuah blok dan memperbarui trie status lokal mereka. Blok dianggap valid jika akar dari pohon lokal identik dengan yang disediakan oleh pengusul blok, karena setiap perbedaan dalam komputasi yang dilakukan oleh pengusul blok dan simpul yang memvalidasi akan menyebabkan hash akar benar-benar berbeda. Masalahnya adalah memverifikasi rantai blok mengharuskan setiap klien untuk menyimpan seluruh state trie untuk blok kepala dan beberapa blok historis (default di Geth adalah menyimpan data status untuk 128 blok di belakang blok kepala). Hal ini mengharuskan klien untuk memiliki akses ke ruang disk yang besar, yang merupakan penghalang untuk menjalankan simpul penuh pada perangkat keras yang murah dan berdaya rendah. Solusi untuk hal ini adalah dengan memperbarui trie status ke struktur yang lebih efisien (Verkle tree) yang dapat diringkas menggunakan "saksi" kecil pada data yang dapat dibagikan, bukan data status yang lengkap. Memformat ulang data negara bagian ke dalam pohon Verkle adalah batu loncatan untuk beralih ke klien tanpa status. + + + +## Apa itu witness dan mengapa dibutuhkan? {#what-is-a-witness} + +Memverifikasi blok berarti mengeksekusi ulang transaksi yang terdapat di blok tersebut, menerapkan perubahan pada pohon keadaan Ethereum, dan menghitung hash akar yang baru. Blok terverifikasi adalah blok dengan hash akar keadaan terkomputasi yang sama dengan hash akar keadaan yang disediakan pada blok tersebut (karena hal ini berarti pengusul blok benar-benar melakukan komputasi yang diakuinya). Pada klien Ethereum saat ini, memperbarui keadaan membutuhkan akses ke seluruh pohon keadaan, yang merupakan struktur data besar yang harus disimpan secara lokal. Witness hanya berisi fragmen data keadaan yang dibutuhkan untuk menjalankan transaksi dalam blok. Validator kemudian hanya dapat menggunakan fragmen tersebut untuk memverifikasi bahwa pengusul blok telah mengeksekusi transaksi blok dan memperbarui keadaan dengan tepat. Namun, hal ini berarti bahwa witness perlu ditransfer di antara peer di jaringan Ethereum dengan cukup cepat untuk diterima dan diproses oleh setiap simpul dengan aman dalam ruang 12 detik. Jika witness terlalu besar, beberapa simpul mungkin membutuhkan waktu terlalu lama untuk mengunduhnya dan mengikuti perkembangan rantai. Ini adalah kekuatan sentralisasi karena hanya simpul dengan koneksi internet cepat yang dapat berpartisipasi dalam memvalidasi blok. Dengan pohon Verkle, tidak perlu menyimpan keadaan di hard disk Anda; _segala sesuatu_ yang dibutuhkan untuk memverifikasi blok terkandung di dalam blok itu sendiri. Sayangnya, witness yang dapat dihasilkan dari pohon Merkle terlalu besar untuk mendukung klien tanpa keadaan. + +## Mengapa pohon Verkle memungkinkan witness yang lebih kecil? {#why-do-verkle-trees-enable-smaller-witnesses} + +Struktur pohon Merkle menyebabkan ukuran witness menjadi sangat besar - terlalu besar untuk disebarkan dengan aman di antara peer dalam ruang 12 detik. Hal ini karena witness adalah jalur yang menghubungkan data, yang disimpan dalam daun, dengan hash akar. Untuk memverifikasi data, tidak hanya semua hash perantara yang harus menghubungkan setiap daun dengan akar, tetapi semua simpul "saudara" juga harus melakukannya. Setiap simpul dalam bukti memiliki saudara yang di-hash untuk membuat hash berikutnya pada pohon. Proses Ini menghasilkan sangat banyak data. Pohon Verkle mengurangi ukuran witness dengan memperpendek jarak antara daun pohon dan akarnya serta juga menghilangkan kebutuhan untuk menyediakan simpul saudara untuk memverifikasi hash akar. Penggunaan skema komitmen polinomial yang kuat akan meningkatkan efisiensi ruang dibandingkan dengan komitmen vektor bergaya hash. Komitmen polinomial memungkinkan witness memiliki ukuran yang tetap, terlepas dari jumlah daun yang dibuktikannya. + +Dalam skema komitmen polinomial, witness memiliki ukuran terkelola yang dapat dengan mudah ditransfer pada jaringan peer-to-peer. Hal ini memungkinkan klien memverifikasi perubahan keadaan di setiap blok dengan jumlah data yang minimal. + + + +Ukuran witness berbeda-beda, bergantung pada jumlah daun yang disertakannya. Dengan asumsi bahwa witness mencakup 1000 daun, satu witness untuk pohon Merkle akan berukuran sekitar 3,5MB (dengan asumsi ada 7 tingkat ke pohon). Witness untuk data yang sama di pohon Verkle (dengan asumsi ada 4 tingkat ke pohon) akan berukuran sekitar 150 kB - **sekitar 23x lebih kecil**. Dengan penurunan ukuran ini, witness pada klien tanpa keadaan dapat menjadi cukup kecil sehingga dapat diterima. Witness polinomial berukuran 0,128 -1 kB bergantung pada komitmen polinomial spesifik yang digunakan). + + + +## Bagaimana struktur pohon Verkle? {#what-is-the-structure-of-a-verkle-tree} + +Pohon Verkle adalah pasangan `(key,value)`, di mana kunci adalah elemen 32 byte yang terdiri dari 31 byte _stem_ dan satu byte _sufiks_. Berbagai kunci ini diorganisasikan dalam simpul _ekstensi_ dan simpul _dalam_. Simpul ekstensi mewakili satu stem untuk 256 anak dengan sufiks yang berbeda. Simpul dalam juga memiliki 256 anak yang di antaranya dapat berupa simpul ekstensi lainnya. Perbedaan utama antara struktur pohon Verkle dan pohon Merkle adalah pohon Verkle jauh lebih datar, yang berarti lebih sedikit simpul perantara yang menghubungkan daun ke akar sehingga lebih sedikit data yang diperlukan untuk menghasilkan bukti. + +![](./verkle.png) + +[Baca selengkapnya tentang struktur pohon Verkle](https://blog.ethereum.org/2021/12/02/verkle-tree-structure) + +## Kemajuan saat ini {#current-progress} + +Jaringan percobaan pohon Verkle sudah aktif dan berjalan, tetapi masih ada pembaruan dalam jumlah besar yang harus dilakukan oleh klien agar dapat mendukung pohon Verkle. Anda dapat membantu mempercepat kemajuan dengan menggunakan kontrak ke jaringan percobaan atau menjalankan klien jaringan percobaan. + +[Telusuri jaringan percobaan Beverly Hills Verkle](https://beverlyhills.ethpandaops.io) + +[Tonton penjelasan Guillaume Ballet tentang jaringan percobaan Condrieu Verkle](https://www.youtube.com/watch?v=cPLHFBeC0Vg) (perhatikan bahwa jaringan percobaan Condrieu menggunakan konsep bukti kerja dan sekarang telah digantikan oleh [jaringan percobaan Kaustinen](https://kaustinen.ethdevops.io)). + +## Bacaan lebih lanjut {#further-reading} + +- [Dankrad Feist menjelaskan pohon Verkle di PEEPanEIP](https://www.youtube.com/watch?v=RGJOQHzg3UQ) +- [Guillaume Ballet menjelaskan pohon verkle di ETHGlobal](https://www.youtube.com/watch?v=f7bEtX3Z57o) +- ["Cara pohon Verkle menjadikan Ethereum ramping dan efektif" oleh Guillaume Ballet di Devcon 6](https://www.youtube.com/watch?v=Q7rStTKwuYs) +- [Piper Merriam tentang klien tanpa keadaan dari ETHDenver 2020](https://www.youtube.com/watch?v=0yiZJNciIJ4) +- [Dankrad Fiest menjelaskan pohon Verkle dan kondisi tanpa keadaan di podcast Zero Knowledge](https://zeroknowledge.fm/episode-202-stateless-ethereum-verkle-tries-with-dankrad-feist/) +- [Vitalik Buterin tentang pohon Verkle](https://vitalik.ca/general/2021/06/18/verkle.html) +- [Dankrad Feist tentang pohon Verkle](https://dankradfeist.de/ethereum/2021/06/18/verkle-trie-for-eth1.html) +- [Dokumentasi EIP pohon Verkle](https://notes.ethereum.org/@vbuterin/verkle_tree_eip#Illustration) diff --git a/src/intl/id/learn-quizzes.json b/src/intl/id/learn-quizzes.json index f636873e9a2..ffc610c4f7b 100644 --- a/src/intl/id/learn-quizzes.json +++ b/src/intl/id/learn-quizzes.json @@ -1,3 +1,328 @@ { - "page-assets-merge": "Penggabungan" + "add-quiz": "Tambahkan pertanyaan/kuis", + "average-score": "Skor rata-rata:", + "basics": "Dasar-Dasar Ethereum", + "basics-description": "Bagian ini mencakup konsep dasar Ethereum, untuk memastikan Anda memiliki fondasi yang kuat.", + "completed": "Selesai:", + "community-stats": "Statistik komunitas", + "contribute": "Berkontribusi ke perpustakaan kami.", + "correct": "Benar", + "explanation": "Penjelasan", + "next-question": "Pertanyaan berikutnya", + "next-quiz": "Kuis berikutnya", + "page-assets-merge": "Penggabungan", + "passed": "Anda lulus kuis!", + "questions": "Pertanyaan", + "questions-answered": "Pertanyaan terjawab:", + "quizzes-subtitle": "Cari tahu seberapa baik Anda memahami Ethereum dan mata uang kripto. Apakah Anda siap menjadi seorang ahli?", + "retry": "Tingkat percobaan ulang:", + "score": "Skor", + "see-results": "Lihat hasil", + "share-results": "Bagikan hasil", + "start": "Mulai", + "submit-answer": "Periksa jawaban", + "test-your-knowledge": "Uji pengetahuan Ethereum Anda", + "try-again": "Coba lagi", + "using-ethereum": "Menggunakan Ethereum", + "using-ethereum-description": "Selami aplikasi Ethereum di dunia nyata dan temukan bagaimana platform rantai blok revolusioner ini membentuk ulang industri. Ini adalah cara yang bagus untuk memastikan Anda memahami berbagai hal dengan cukup baik sebelum mulai menggunakan mata uang kripto secara aktif.", + "want-more-quizzes": "Ingin melihat lebih banyak kuis di sini?", + "your-results": "Hasil Anda", + "your-total": "Total poin Anda", + "a001-prompt": "Perbedaan terbesar antara Ethereum dan Bitcoin adalah:", + "a001-a-label": "Ethereum tidak memungkinkan Anda untuk melakukan pembayaran kepada orang lain", + "a001-a-explanation": "Baik Bitcoin maupun Ethereum memungkinkan Anda untuk melakukan pembayaran kepada orang lain.", + "a001-b-label": "Anda dapat menjalankan program komputer di Ethereum", + "a001-b-explanation": "Ethereum dapat diprogram. Hal ini berarti Anda dapat menempatkan program komputer apa pun di rantai blok Ethereum.", + "a001-c-label": "Anda dapat menjalankan program komputer di Bitcoin", + "a001-c-explanation": "Tidak seperti Ethereum, Bitcoin tidak dapat diprogram dan tidak dapat menjalankan program komputer sembarangan.", + "a001-d-label": "Mereka memiliki logo yang berbeda", + "a001-d-explanation": "Memang, keduanya memiliki logo yang berbeda! Namun, perbedaan terbesar antara keduanya bukan hanya sebatas itu.", + "a002-prompt": "Mata uang kripto asli Ethereum disebut:", + "a002-a-label": "Ether", + "a002-a-explanation": "Ether adalah mata uang kripto asli dari jaringan Ethereum.", + "a002-b-label": "Ethereum", + "a002-b-explanation": "Meskipun Ethereum adalah sebuah rantai blok, namun mata uang kripto aslinya tidak disebut Ethereum. Ini adalah kesalahpahaman umum.", + "a002-c-label": "Ethercoin", + "a002-c-explanation": "Tidak seperti kebanyakan mata uang kripto lainnya, mata uang kripto asli Ethereum tidak mengandung kata 'coin'.", + "a002-d-label": "Bitcoin", + "a002-d-explanation": "Bitcoin (ditulis dengan huruf besar B) adalah rantai blok pertama yang diciptakan, sedangkan bitcoin (ditulis dengan huruf kecil B) adalah mata uang kripto aslinya.", + "a003-prompt": "Siapa pencipta Ethereum?", + "a003-a-label": "Developer", + "a003-a-explanation": "Pengembang sangat penting dalam membangun dan meningkatkan Ethereum, namun bukan mereka yang menjaga agar Ethereum tetap berjalan.", + "a003-b-label": "Penambang", + "a003-b-explanation": "Menambang mata uang kripto tidak lagi dimungkinkan setelah Penggabungan. Saat ini tidak ada 'penambang' di Ethereum.", + "a003-c-label": "Ethereum Foundation", + "a003-c-explanation": "Ethereum Foundation tidak memainkan peran penting dalam pengoperasian simpul Ethereum sehari-hari.", + "a003-d-label": "Siapa pun yang menjalankan simpul", + "a003-d-explanation": "Setiap orang yang menjalankan simpul merupakan bagian penting dari infrastruktur Ethereum. Jika Anda belum melakukannya, pertimbangkan untuk menjalankan simpul Ethereum.", + "a004-prompt": "Sejak Ethereum diluncurkan, berapa kali jaringannya offline?", + "a004-a-label": "Tidak pernah", + "a004-b-label": "Sekali", + "a004-c-label": "Empat kali", + "a004-d-label": "Lebih dari sepuluh kali", + "a004-explanation": "Ethereum tidak pernah benar-benar offline (berhenti memproduksi blok) sejak diluncurkan.", + "a005-prompt": "Ethereum mengonsumsi lebih banyak listrik dibandingkan dengan:", + "a005-a-label": "Penambangan emas", + "a005-a-explanation": "Penambangan emas menggunakan ~131 Terawatt jam per tahun. Ethereum menggunakan sekitar 0,0026 Terawatt jam per tahun.", + "a005-b-label": "Netflix", + "a005-b-explanation": "Netflix menggunakan ~0,451 Terawatt jam per tahun. Ethereum menggunakan sekitar 0,0026 Terawatt jam per tahun.", + "a005-c-label": "PayPal", + "a005-c-explanation": "PayPal menggunakan ~0,26 Terawatt jam per tahun. Ethereum menggunakan sekitar 0,0026 Terawatt jam per tahun.", + "a005-d-label": "Tidak ada dari yang disebutkan di atas", + "a005-d-explanation": "Ethereum menggunakan sekitar 0,0026 Terawatt jam per tahun. Lebih kecil dari penambangan emas (~131 TWh/tahun), Netflix (~0,451 TWh/tahun), dan Paypal (~0,26 TWh/tahun).", + "b001-prompt": "Ether juga dikenal sebagai:", + "b001-a-label": "ETC", + "b001-a-explanation": "ETC adalah kode singkatan untuk Ethereum Classic.", + "b001-b-label": "ETR", + "b001-b-explanation": "ETR bukan kode singkatan untuk Ether atau mata uang kripto penting lainnya.", + "b001-c-label": "ETH", + "b001-c-explanation": "ETH adalah kode singkatan untuk ether di Ethereum.", + "b001-d-label": "BTC", + "b001-d-explanation": "BTC adalah kode singkatan untuk bitcoin di jaringan Bitcoin.", + "b002-prompt": "Di Ethereum, biaya jaringan dibayarkan:", + "b002-a-label": "bitcoin", + "b002-a-explanation": "Huruf kecil \"bitcoin\" adalah mata uang kripto asli dari jaringan Bitcoin.", + "b002-b-label": "ETH", + "b002-b-explanation": "Ether (ETH) adalah mata uang kripto asli Ethereum. Semua biaya jaringan di Ethereum dibayarkan dalam ETH.", + "b002-c-label": "USD", + "b002-c-explanation": "Tidak mungkin untuk membayar biaya jaringan di Ethereum dalam USD (Dolar AS), atau mata uang FIAT lainnya.", + "b002-d-label": "Ethereum", + "b002-d-explanation": "Ethereum adalah jaringannya, tetapi biaya jaringan Ethereum dibayarkan dalam ETH.", + "b003-prompt": "Penaruhan di Ethereum membantu mengamankan jaringan karena:", + "b003-a-label": "Penaruh dapat melarang orang jika mereka tidak menyukai apa yang mereka lakukan", + "b003-a-explanation": "Penaruh tidak dapat menyensor pengguna secara sewenang-wenang.", + "b003-b-label": "Jika seorang penaruh mencoba menipu jaringan, mereka berisiko kehilangan ETH mereka", + "b003-b-explanation": "Penaruh berisiko kehilangan sejumlah besar ETH jika mereka terbukti berperilaku jahat terhadap jaringan. Hal ini dikenal sebagai pemotongan.", + "b003-c-label": "Penaruh menjalankan komputer yang kuat untuk mendemonstrasikan bukti kerja", + "b003-c-explanation": "Penaruh tidak membutuhkan perangkat keras yang kuat untuk melakukan penaruhan ETH mereka. Ethereum berhenti menggunakan bukti kerja di Penggabungan.", + "b003-d-label": "Penaruh menjalani KYC sebelum diterima sebagai validator", + "b003-d-explanation": "Penaruhan di Ethereum tidak memerlukan izin dan tidak memerlukan KYC.", + "b004-prompt": "ETH berharga karena:", + "b004-a-label": "ETH diperlukan untuk melakukan apa pun di Ethereum", + "b004-a-explanation": "Jawaban ini sebagian benar, tetapi ini hanya salah satu alasan mengapa ETH sangat berharga.", + "b004-b-label": "ETH adalah uang peer-to-peer yang tidak dapat disensor", + "b004-b-explanation": "Jawaban ini sebagian benar, tetapi ini hanya salah satu alasan mengapa ETH sangat berharga.", + "b004-c-label": "ETH digunakan sebagai jaminan untuk pinjaman kripto", + "b004-c-explanation": "Jawaban ini sebagian benar, tetapi ini hanya salah satu alasan mengapa ETH sangat berharga.", + "b004-d-label": "Semua hal di atas", + "b004-d-explanation": "Transaksi Ethereum tidak dapat disensor, ETH diperlukan untuk melakukan transaksi apa pun di Ethereum, dan sangat penting untuk stabilitas ekosistem DeFi.", + "c001-prompt": "Web3 memungkinkan pengguna untuk memiliki aset digital secara langsung:", + "c001-a-label": "DAO", + "c001-a-explanation": "DAO (Organisasi otonom terdesentralisasi) adalah komunitas yang dimiliki oleh anggota tanpa kepemimpinan terpusat.", + "c001-b-label": "NFT", + "c001-b-explanation": "NFT (Token Non-Fungible) menyediakan cara untuk mewakili segala sesuatu yang unik sebagai aset berbasis Ethereum.", + "c001-c-label": "ENS", + "c001-c-explanation": "ENS (Layanan Nama Ethereum) adalah layanan penamaan terdesentralisasi untuk rantai blok Ethereum.", + "c001-d-label": "GitHub", + "c001-d-explanation": "GitHub adalah platform terpusat, utamanya digunakan untuk menyimpan kode dengan menggunakan kontrol versi terdistribusi. GitHub tidak memungkinkan kepemilikan data atau aset digital Anda.", + "c002-prompt": "Web1 adalah mode baca saja, Web2 adalah mode baca-tulis, dan Web3 telah dijelaskan sebagai:", + "c002-a-label": "mode baca-tulis-jual", + "c002-a-explanation": "Web3 belum dijelaskan dengan cara ini.", + "c002-b-label": "baca-tulis-simpan", + "c002-b-explanation": "Web3 belum dijelaskan dengan cara ini.", + "c002-c-label": "baca-tulis-miliki", + "c002-c-explanation": "Web3 memungkinkan pengguna memiliki data mereka dan oleh karena itu telah dijelaskan sebagai 'baca-tulis-miliki', yang merupakan perbaikan dari Web2 yang hanya 'baca-tulis'.", + "c002-d-label": "baca-tulis-beli", + "c002-d-explanation": "Web3 belum dijelaskan dengan cara ini.", + "c003-prompt": "Iterasi web mana yang tidak mengandalkan penyedia pembayaran pihak ketiga?", + "c003-a-label": "Web1", + "c003-a-explanation": "Web1 tidak memiliki pembayaran asli yang terintegrasi.", + "c003-b-label": "Web2", + "c003-b-explanation": "Web2 tidak memiliki pembayaran asli yang terintegrasi.", + "c003-c-label": "Web3", + "c003-c-explanation": "Web3 memiliki pembayaran asli yang terintegrasi dengan mata uang kripto, seperti ETH.", + "c003-d-label": "Semua hal di atas", + "c003-d-explanation": "Web1 dan Web2 tidak memiliki pembayaran asli yang terintegrasi.", + "c004-prompt": "Istilah 'Web3' pertama kali di perkenalkan oleh:", + "c004-a-label": "Gavin Wood", + "c004-a-explanation": "Gavin Wood, salah satu pendiri Ethereum, diakui sebagai orang yang pertama kali menciptakan istilah Web3 tak lama setelah Ethereum diluncurkan pada tahun 2015.", + "c004-b-label": "Steve Jobs", + "c004-b-explanation": "Steve Jobs tidak menciptakan frasa 'Web3'.", + "c004-c-label": "Vitalik Buterin", + "c004-c-explanation": "Vitalik Buterin, meskipun pendiri asli Ethereum, tidak menciptakan frasa 'Web3'.", + "c004-d-label": "Elon Musk", + "c004-d-explanation": "Elon Musk tidak menciptakan frasa 'Web3'.", + "c005-prompt": "Anda dapat memiliki satu login yang tidak dapat disensor di seluruh web melalui penggunaan:", + "c005-a-label": "Masuk degan Facebook", + "c005-a-explanation": "Masuk dengan Facebook tidak tahan sensor.", + "c005-b-label": "Masuk dengan Google", + "c005-b-explanation": "Masuk dengan Google bukanlah cara yang aman atau ideal untuk menggunakan crypto.", + "c005-c-label": "Masuk dengan Ethereum", + "c005-c-explanation": "Masuk dengan Ethereum adalah satu-satunya opsi yang tahan sensor di aplikasi web mana pun.", + "c005-d-label": "Masuk dengan Twitter", + "c005-d-explanation": "Masuk dengan Twitter bukanlah cara yang aman atau ideal untuk menggunakan crypto.", + "d001-prompt": "Jenis dompet yang paling aman adalah:", + "d001-a-label": "Dompet seluler", + "d001-a-explanation": "Dompet seluler menyimpan kunci pribadi di perangkat seluler, yang umumnya memiliki koneksi internet, dan berpotensi rentan terhadap perangkat lunak lain yang dapat membahayakan keamanannya.", + "d001-b-label": "Dompet perangkat keras", + "d001-b-explanation": "Kunci pribadi dari dompet perangkat keras disimpan pada perangkat khusus yang dapat dijaga agar tidak terhubung dengan internet dan terisolasi dari aplikasi lain pada perangkat Anda.", + "d001-c-label": "Dompet web", + "d001-c-explanation": "Web wallets memiliki tingkat keamanan yang lebih rendah dibandingkan dengan hardware wallet karena kunci pribadi disimpan pada perangkat yang terhubung dengan internet.", + "d001-d-label": "Dompet desktop", + "d001-d-explanation": "Desktop wallet Menyimpan kunci pribadi pada hard drive komputer, yang umumnya memiliki koneksi internet, dan berpotensi rentan terhadap perangkat lunak lain yang dapat membahayakan keamanannya.", + "d002-prompt": "Dari pilihan yang disajikan, mana yang merupakan cara penyimpanan frase benih yang paling aman?", + "d002-a-label": "Dalam sebuah foto di ponsel Anda", + "d002-a-explanation": "Ini bukan pilihan yang paling aman. Jika foto ini diunggah ke penyimpanan cloud, maka seorang peretas mendapatkan gambar ini dan memperoleh akses ke akun Anda.", + "d002-b-label": "Dalam sebuah berkas di komputer Anda", + "d002-b-explanation": "Ini bukan pilihan yang paling aman. Para peretas semakin banyak mencari informasi terkait mata uang kripto pada perangkat target. Jika seorang peretas mengakses berkas dengan rangkaian frase benih Anda, mereka akan mendapatkan akses ke akun Anda.", + "d002-c-label": "Ditulis di atas kertas", + "d002-c-explanation": "Dari pilihan yang tersedia, menuliskan rangkaian frase benih Anda di atas kertas adalah yang paling aman.", + "d002-d-label": "Melalui pesan teks kepada anggota keluarga yang dipercayai", + "d002-d-explanation": "Sebaiknya jangan mengirimkan rangkaian frase benih melalui pesan teks kepada siapa pun. Pesan tersebut bisa diintersepsi oleh pihak ketiga, dan meskipun Anda sepenuhnya mempercayai orang tersebut, Anda tidak tahu siapa saja yang dapat mengakses ponsel mereka.", + "d003-prompt": "Kepada siapa Anda harus memberikan frase benih / kunci pribadi Anda?", + "d003-a-label": "Seseorang yang Anda bayar", + "d003-a-explanation": "Anda tidak boleh memberikan frase benih atau kunci pribadi Anda kepada siapa pun. Sebagai gantinya, kirimkan token ke alamat dompet mereka melalui sebuah transaksi.", + "d003-b-label": "Untuk masuk ke dapp atau dompet", + "d003-b-explanation": "Anda tidak boleh memberikan frase benih / kunci pribadi anda untuk masuk ke dalam dompet atau dapp Anda.", + "d003-c-label": "Staf pendukung", + "d003-c-explanation": "Anda tidak boleh memberikan frase benih / kunci pribadi Anda kepada siapa pun yang mengaku sebagai staf pendukung. Siapa pun yang meminta hal ini kepada Anda adalah penipu.", + "d003-d-label": "Tidak ada", + "d003-d-explanation": "Idealnya, Anda tidak boleh memberikan frase benih atau kunci pribadi Anda kepada siapa pun. Jika Anda mempercayai seseorang yang memiliki akses mutlak terhadap dana Anda (seperti pasangan), maka Anda dapat memutuskan untuk berbagi informasi ini dengan mereka.", + "d004-prompt": "Dompet dan akun di Ethereum adalah hal yang sama.", + "d004-a-label": "Benar", + "d004-a-explanation": "Dompet adalah antarmuka visual yang digunakan untuk berinteraksi dengan akun Ethereum.", + "d004-b-label": "Salah", + "d004-b-explanation": "Dompet adalah antarmuka visual yang digunakan untuk berinteraksi dengan akun Ethereum.", + "e001-prompt": "Mengapa Anda harus menggunakan kata sandi unik untuk semua akun Anda?", + "e001-a-label": "Jika salah satu platform mengalami pelanggaran data", + "e001-a-explanation": "Jawaban ini benar, tetapi ada juga jawaban lain yang benar.", + "e001-b-label": "Seandainya ada orang yang mengintip dari balik bahu Anda untuk mengetahui kata sandi Anda", + "e001-b-explanation": "Jawaban ini benar, tetapi ada juga jawaban lain yang benar.", + "e001-c-label": "Jika malware, seperti pencatat kunci, mencuri kata sandi Anda", + "e001-c-explanation": "Jawaban ini benar, tetapi ada juga jawaban lain yang benar.", + "e001-d-label": "Semua hal di atas", + "e001-d-explanation": "Semua jawaban benar. Menggunakan kata sandi yang unik adalah cara terbaik untuk mencegah orang lain mengakses akun Anda.", + "e002-prompt": "Setelah Penggabungan, ETH harus ditingkatkan ke ETH2.", + "e002-a-label": "Benar", + "e002-a-explanation": "Anda tidak perlu meningkatkah ETH Anda ke ETH2. Tidak ada ETH2 dan ini adalah narasi umum yang digunakan oleh penipu.", + "e002-b-label": "Salah", + "e002-b-explanation": "Anda tidak perlu meningkatkah ETH Anda ke ETH2. Tidak ada ETH2 dan ini adalah narasi umum yang digunakan oleh penipu.", + "e003-prompt": "Hadiah ETH adalah:", + "e003-a-label": "Cara yang baik untuk mendapatkan lebih banyak ETH", + "e003-a-explanation": "Hadiah ETH adalah penipuan yang dirancang untuk mencuri ETH Anda dan token lainnya. Ini bukanlah cara yang baik untuk mendapatkan lebih banyak ETH.", + "e003-b-label": "Selalu asli", + "e003-b-explanation": "Hadiah ETH tidak pernah asli.", + "e003-c-label": "Umumnya dilakukan oleh anggota komunitas terkemuka", + "e003-c-explanation": "Anggota komunitas terkemuka tidak memberikan hadiah ETH. Para penipu berpura-pura menjadi orang terkenal, seperti Elon Musk, yang memberikan hadiah untuk memberikan kesan legitimasi pada penipuan mereka.", + "e003-d-label": "Sangat mungkin merupakan penipuan", + "e003-d-explanation": "Hadiah ETH selalu merupakan penipuan. Melaporkan dan mengabaikan penipu adalah yang terbaik.", + "e004-prompt": "Transaksi Ethereum dapat dibatalkan.", + "e004-a-label": "Benar", + "e004-a-explanation": "Transaksi Ethereum tidak dapat dibatalkan. Siapa pun yang memberi tahu Anda sebaliknya mungkin mencoba menipu Anda.", + "e004-b-label": "Salah", + "e004-b-explanation": "Transaksi Ethereum tidak dapat dibatalkan. Siapa pun yang memberi tahu Anda sebaliknya mungkin mencoba menipu Anda.", + "f001-prompt": "NFT didefinisikan secara paling komprehensif sebagai:", + "f001-a-label": "aset digital yang unik", + "f001-a-explanation": "NFT merupakan aset digital yang unik.", + "f001-b-label": "karya seni digital", + "f001-b-explanation": "NFT merupakan aset digital yang unik, biasanya berupa karya seni digital, tetapi tidak terbatas pada karya seni.", + "f001-c-label": "tiket ke aksi eksklusif", + "f001-c-explanation": "NFT mewakili aset digital yang unik, ini bisa berupa sistem tiket, tetapi tidak terbatas pada tiket.", + "f001-d-label": "kontrak yang mengikat secara hukum", + "f001-d-explanation": "Meskipun kontrak legal dapat direpresentasikan sebagai NFT, NFT tidak eksklusif untuk kontrak yang mengikat secara hukum.", + "f002-prompt": "Dua NFT yang mewakili karya seni yang sama adalah hal yang sama.", + "f002-a-label": "Benar", + "f002-a-explanation": "NFT tidak dapat dipertukarkan. Ini berarti meskipun mewakili karya seni digital, NFT tetap dapat diidentifikasi secara unik. Dalam dunia seni tradisional, hal ini mungkin serupa dengan karya seni asli dan cetakan.", + "f002-b-label": "Salah", + "f002-b-explanation": "NFT tidak dapat dipertukarkan. Ini berarti meskipun mewakili karya seni digital, NFT tetap dapat diidentifikasi secara unik. Dalam dunia seni tradisional, hal ini mungkin serupa dengan karya seni asli dan cetakan.", + "f003-prompt": "NFT paling sering diwakili:", + "f003-a-label": "Kata sandi ke dompet Anda", + "f003-a-explanation": "Ini adalah risiko keamanan dan secara umum merupakan ide yang buruk!", + "f003-b-label": "Kepemilikan atas barang digital yang unik", + "f003-b-explanation": "NFT biasanya mewakili kepemilikan barang digital yang unik.", + "f003-c-label": "Saldo ETH Anda saat ini", + "f003-c-explanation": "NFT tidak dapat mewakili saldo ETH Anda secara sewenang-wenang.", + "f003-d-label": "Semua hal di atas", + "f003-d-explanation": "NFT umumnya mewakili kepemilikan atas barang digital unik, bukan saldo ETH atau kata sandi dompet.", + "f004-prompt": "NFT telah membantu menciptakan hal baru:", + "f004-a-label": "kurator ekonomi", + "f004-a-explanation": "NFT telah membantu menciptakan ekonomi baru bagi para pencipta, bukan kurator.", + "f004-b-label": "ekonomi karbon", + "f004-b-explanation": "NFT membantu menciptakan ekonomi baru bagi para pembuat, bukan karbon.", + "f004-c-label": "pembuat ekonomi", + "f004-c-explanation": "NFT telah membantu para pembuat ekonomi.", + "f004-d-label": "doge ekonomi", + "f004-d-explanation": "NFT telah membantu menciptakan ekonomi baru bagi para pembuat, bukan doge 🐶.", + "f005-prompt": "NFT di Ethereum berdampak negatif pada lingkungan", + "f005-a-label": "Benar", + "f005-a-explanation": "Sejak Penggabungan (transisi ke bukti taruhan), setiap transaksi telah memiliki dampak yang tidak signifikan pada lingkungan.", + "f005-b-label": "Salah", + "f005-b-explanation": "Sejak Penggabungan (transisi ke bukti taruhan), setiap transaksi telah memiliki dampak yang tidak signifikan pada lingkungan.", + "g001-prompt": "Jaringan rantai blok lapisan ke-2 digunakan untuk:", + "g001-a-label": "Penskalaan Ethereum", + "g001-a-explanation": "Tujuan utama dari rollup dan solusi lapisan ke-2 lainnya adalah untuk penskalaan pada Ethereum.", + "g001-b-label": "Melakukan pembayaran", + "g001-b-explanation": "Tujuan utama dari rollup dan solusi lapisan ke-2 lainnya adalah untuk penskalaan pada Ethereum.", + "g001-c-label": "Pembelian NFT", + "g001-c-explanation": "Tujuan utama dari rollup dan solusi lapisan ke-2 lainnya adalah untuk penskalaan pada Ethereum.", + "g001-d-label": "Desentralisasi Ethereum", + "g001-d-explanation": "Tujuan utama dari rollup dan solusi lapisan ke-2 lainnya adalah untuk penskalaan pada Ethereum.", + "g002-prompt": "Untuk melakukan penskalaan Ethereum, sebagian besar alternatif di jaringan lapisan ke-1 pada umumnya telah mengorbankan pada:", + "g002-a-label": "Keamanan", + "g002-a-explanation": "Sebagian besar jaringan Lapisan ke-1 alternatif mengorbankan keamanan dan hal lainnya untuk melakukan penskalaan.", + "g002-b-label": "Desentralisasi", + "g002-b-explanation": "Sebagian besar jaringan Lapisan ke-1 alternatif mengorbankan desentralisasi dan sesuatu yang lain untuk melakukan penskalaan.", + "g002-c-label": "Harga token", + "g002-c-explanation": "Harga token tidak memiliki dampak pada kemampuan penskalaan.", + "g002-d-label": "Keamanan dan desentralisasi", + "g002-d-explanation": "Sebagian besar jaringan Lapisan 1 alternatif mengorbankan baik keamanan maupun desentralisasi untuk melakukan penskalaan.", + "g003-prompt": "Mana dari hal berikut yang tidak dianggap sebagai lapisan ke-2?", + "g003-a-label": "Validium", + "g003-a-explanation": "Validium tidak dianggap sebagai solusi lapisan ke-2 karena mereka tidak mengambil keamanan atau ketersediaan data dari Ethereum", + "g003-b-label": "Sidechain", + "g003-b-explanation": "Rantai samping tidak dianggap sebagai solusi lapisan ke-2 karena mereka tidak mengambil keamanan atau ketersediaan data dari Ethereum.", + "g003-c-label": "Alternatif rantai blok lapisan ke-1", + "g003-c-explanation": "Rantai blok Lapisan ke-1 alternatif tidak dianggap sebagai solusi lapisan ke-2.", + "g003-d-label": "Semua hal di atas", + "g003-d-explanation": "Validium, Rantai samping, dan rantai blok lapisan ke-1 alternatif tidak dianggap sebagai solusi lapisan ke-2 karena mereka tidak mengambil keamanan atau ketersediaan data dari Ethereum.", + "g004-prompt": "Mengapa Ethereum tidak memiliki lapisan ke-2 'resmi'?", + "g004-a-label": "Pengembang inti terlalu sibuk bekerja pada Ethereum", + "g004-a-explanation": "Tidak ada rencana untuk lapisan ke-2 'resmi' di Ethereum karena kita akan mendapatkan manfaat dari berbagai pendekatan dalam merancang solusi lapisan ke-2.", + "g004-b-label": "Sebagai L1, Ethereum pada akhirnya akan mencapai penskalaan massal dengan sendirinya", + "g004-b-explanation": "Tidak ada rencana untuk lapisan ke-2 'resmi' di Ethereum karena kita akan mendapatkan manfaat dari berbagai pendekatan dalam merancang solusi lapisan ke-2.", + "g004-c-label": "Para pengembang inti masih berdiskusi antara optimistik dan rollup zk", + "g004-c-explanation": "Tidak ada rencana untuk lapisan ke-2 'resmi' di Ethereum karena kita akan mendapatkan manfaat dari berbagai pendekatan dalam merancang solusi lapisan ke-2.", + "g004-d-label": "Ethereum akan mendapatkan manfaat dari berbagai pendekatan dalam merancang L2", + "g004-d-explanation": "Tidak ada rencana untuk lapisan ke-2 'resmi' di Ethereum karena kita akan mendapatkan manfaat dari berbagai pendekatan dalam merancang solusi lapisan ke-2.", + "h001-prompt": "Terjadinya Penggabungan memindahkan Ethereum ke mekanisme konsensus apa?", + "h001-a-label": "Bukti kerja", + "h001-a-explanation": "Sebelum terjadinya Penggabungan, mekanisme konsensus yang digunakan adalah bukti kerja.", + "h001-b-label": "Bukti taruhan", + "h001-b-explanation": "Benar! Terjadinya Penggabungan memindahkan Ethereum ke bukti taruhan.", + "h001-c-label": "Bukti otoritas", + "h001-c-explanation": "Ethereum tidak pernah menggunakan bukti otoritas di Jaringan Utama Ethereum, dan juga tidak pernah melakukannya.", + "h001-d-label": "Semua hal di atas", + "h001-d-explanation": "Tidak mungkin bagi Ethereum untuk memiliki semua mekanisme konsensus ini secara bersamaan.", + "h002-prompt": "Penggabungan ini mengurangi konsumsi energi Ethereum dengan:", + "h002-a-label": "50%", + "h002-a-explanation": "Konsumsi energi Ethereum berkurang sebesar 99,95% setelah Penggabungan memungkinkan peralihan dari bukti kerja ke bukti taruhan.", + "h002-b-label": "62.5%", + "h002-b-explanation": "Konsumsi energi Ethereum berkurang sebesar 99,95% setelah Penggabungan memungkinkan peralihan dari bukti kerja ke bukti taruhan.", + "h002-c-label": "90%", + "h002-c-explanation": "Konsumsi energi Ethereum berkurang sebesar 99,95% setelah Penggabungan memungkinkan peralihan dari bukti kerja ke bukti taruhan.", + "h002-d-label": "99.95%", + "h002-d-explanation": "Konsumsi energi Ethereum berkurang sebesar 99,95% setelah Penggabungan memungkinkan peralihan dari bukti kerja ke bukti taruhan.", + "h003-prompt": "Kapan terjadinya Penggabungan?", + "h003-a-label": "15 September 2022", + "h003-a-explanation": "Penggabungan terjadi pada tanggal 15 September 2022 pukul 06:42:42 (UTC).", + "h003-b-label": "1 Desember 2021", + "h003-b-explanation": "Penggabungan terjadi lebih lambat dari ini. Tanggal 1 Desember 2022 adalah saat Rantai Suar diluncurkan.", + "h003-c-label": "27 November 2013", + "h003-c-explanation": "Penggabungan terjadi lebih lambat dari ini. Tanggal 27 November 2013 adalah saat kertas putih Ethereum dirilis.", + "h003-d-label": "31 Oktober 2008", + "h003-d-explanation": "Penggabungan terjadi lebih lambat dari ini. Tanggal 31 Oktober adalah hari di mana Kertas Putih Bitcoin dirilis.", + "h004-prompt": "Penggabungan ini berarti pengguna harus menukarkan ETH mereka dengan ETH2:", + "h004-a-label": "Benar", + "h004-a-explanation": "ETH tidak berubah pada saat sebelum, selama, atau setelah Penggabungan. Ide untuk 'meng-upgrade' ETH ke ETH2 adalah taktik umum yang dilakukan oleh aktor jahat untuk menipu pengguna.", + "h004-b-label": "Salah", + "h004-b-explanation": "ETH tidak berubah pada saat sebelum, selama, atau setelah Penggabungan. Ide untuk 'meng-upgrade' ETH ke ETH2 adalah taktik umum yang dilakukan oleh aktor jahat untuk menipu pengguna.", + "h005-prompt": "Lapisan konsensus Ethereum sebelumnya dikenal sebagai:", + "h005-a-label": "Bukti kerja", + "h005-a-explanation": "Sebelum terjadinya Penggabungan, mekanisme konsensus yang digunakan adalah bukti kerja.", + "h005-b-label": "Eth2", + "h005-b-explanation": "Sebelum berganti nama menjadi lapisan konsensus, lapisan ini awalnya disebut 'Eth2'.", + "h005-c-label": "Eth1", + "h005-c-explanation": "Eth1 adalah nama asli yang diberikan untuk lapisan eksekusi, bukan lapisan konsensus.", + "h005-d-label": "Penaruhan", + "h005-d-explanation": "Penaruhan adalah menyetorkan ETH ke dalam kontrak pintar untuk membantu mengamankan rantai." } diff --git a/src/intl/id/page-learn.json b/src/intl/id/page-learn.json new file mode 100644 index 00000000000..7848e9efe9b --- /dev/null +++ b/src/intl/id/page-learn.json @@ -0,0 +1,123 @@ +{ + "toc-learn-hub": "Pusat pembelajaran", + "toc-what-is-crypto-ethereum": "Apa itu Ethereum?", + "toc-how-do-i-use-ethereum": "Bagaimana cara menggunakan Ethereum?", + "toc-what-is-ethereum-used-for": "Untuk apa Ethereum digunakan?", + "toc-strengthen-the-ethereum-network": "Memperkuat jaringan Ethereum", + "toc-learn-about-the-ethereum-protocol": "Pelajari tentang protokol Ethereum", + "toc-learn-about-the-ethereum-community": "Pelajari tentang komunitas Ethereum", + "toc-books-and-podcasts": "Buku dan podcast", + "hero-header": "Pelajari tentang Ethereum", + "hero-subtitle": "Panduan edukasi Anda ke dunia Ethereum. Pelajari cara kerja Ethereum dan cara terhubung dengannya. Halaman ini berisi artikel, panduan, dan sumber daya teknis dan non-teknis.", + "hero-button-lets-get-started": "Mari kita mulai", + "what-is-crypto-1": "Anda mungkin pernah mendengar tentang mata uang kripto, rantai blok, dan Bitcoin. Tautan di bawah ini akan membantu Anda mempelajari apa itu mata uang kripto dan bagaimana kaitannya dengan Ethereum.", + "what-is-crypto-2": "Mata uang kripto, seperti Bitcoin, memungkinkan siapa saja untuk mentransfer uang secara global. Ethereum juga demikian, tetapi juga dapat menjalankan kode yang memungkinkan orang untuk membuat aplikasi dan organisasi. Ethereum sangat tangguh dan fleksibel: program komputer apa pun dapat berjalan di Ethereum. Pelajari lebih lanjut dan cari tahu cara memulainya:", + "what-is-ethereum-card-title": "Apa yang Dimaksud dengan Ethereum?", + "what-is-ethereum-card-description": "Jika Anda masih baru, mulailah di sini untuk mempelajari mengapa Ethereum penting.", + "what-is-ethereum-card-image-alt": "Ilustrasi seorang yang sedang mengintai bazar, yang dimaksudkan untuk menggambarkan Ethereum.", + "what-is-eth-card-title": "Apa itu ETH?", + "what-is-eth-description": "Ether (ETH) adalah mata uang yang menggerakkan jaringan dan aplikasi Ethereum.", + "what-is-web3-card-title": "Apa itu Web3?", + "what-is-web3-card-description": "Web3 adalah model untuk internet yang menghargai kepemilikan aset dan identitas Anda.", + "additional-reading-more-on-ethereum-basics": "Lebih lanjut tentang dasar-dasar Ethereum", + "guides-hub-desc": "Panduan: petunjuk langkah demi langkah untuk menggunakan Ethereum", + "quiz-hub-desc": "Pusat kuis: uji pengetahuan Anda", + "additional-reading-what-are-smart-contracts": "Apa itu kontrak pintar?", + "additional-reading-what-is-web3": "Apa itu web3?", + "additional-reading-ethereum-in-thirty-minutes": "Ethereum dalam 30 menit oleh Vitalik Buterin", + "additional-reading-get-eth": "Pelajari bagaimana mendapatkan ETH", + "how-do-i-use-ethereum-1": "Menggunakan Ethereum dapat berarti banyak hal bagi banyak orang. Mungkin Anda ingin masuk ke sebuah aplikasi, membuktikan identitas daring Anda, atau mentransfer sejumlah ETH. Hal pertama yang Anda perlukan adalah sebuah akun. Cara termudah untuk membuat dan mengakses akun adalah dengan menggunakan perangkat lunak yang disebut dompet.", + "what-is-a-wallet-card-title": "Apa yang dimaksud dengan dompet?", + "what-is-a-wallet-card-description": "Dompet digital seperti dompet sungguhan; dompet ini menyimpan semua yang Anda butuhkan untuk membuktikan identitas Anda dan mendapatkan akses ke tempat-tempat yang Anda hargai.", + "what-is-a-wallet-card-alt": "Ilustrasi sebuah robot.", + "find-a-wallet-card-title": "Temukan dompet", + "find-a-wallet-card-description": "Jelajahi dompet berdasarkan fitur-fitur yang penting bagi Anda.", + "find-a-wallet-button": "Daftar dompet", + "crypto-security-basics-card-title": "Dasar-dasar keamanan", + "crypto-security-basics-card-description": "Pelajari cara mengidentifikasi penipuan dan cara menghindari trik yang paling umum.", + "crypto-security-basics-card-button": "Tetap aman", + "things-to-consider-banner-title": "Hal-hal yang perlu dipertimbangkan saat menggunakan Ethereum", + "things-to-consider-banner-1": "Setiap transaksi Ethereum membutuhkan biaya dalam bentuk ETH, bahkan jika Anda perlu memindahkan token yang berbeda yang dibangun di atas Ethereum seperti stablecoin USDC atau DAI.", + "things-to-consider-banner-2": "Biaya bisa tinggi tergantung pada jumlah orang yang mencoba menggunakan Ethereum, jadi kami sarankan untuk menggunakan", + "things-to-consider-banner-layer-2": "Lapisan ke-2", + "additional-reading-more-on-using-ethereum": "Lebih lanjut tentang penggunaan Ethereum", + "additional-reading-how-to-create-an-ethereum-account": "Cara membuat akun Ethereum", + "additional-reading-how-to-use-a-wallet": "Cara menggunakan dompet", + "additional-reading-layer-2": "Lapisan ke-2: mengurangi biaya transaksi", + "what-is-ethereum-used-for-1": "Ethereum telah mengarah pada penciptaan produk dan layanan baru yang dapat meningkatkan berbagai bidang kehidupan kita. Kita masih berada di tahap awal, tetapi ada banyak hal yang membuat kita bersemangat.", + "defi-card-title": "Keuangan terdesentralisasi (DeFi)", + "defi-card-description": "Jelajahi sistem keuangan alternatif yang dibangun tanpa bank dan terbuka untuk siapa saja.", + "defi-card-button": "Apa yang Dimaksud dengan DeFi?", + "stablecoins-card-title": "Stablecoin", + "stablecoins-card-description": "Mata uang kripto dipatok pada nilai mata uang, komoditas, atau instrumen keuangan lainnya.", + "stablecoins-card-button": "Apa itu stablecoin?", + "nft-card-title": "Token yang tidak dapat dipertukarkan (NFT)", + "nft-card-description": "Mewakili kepemilikan barang-barang unik, mulai dari karya seni, akta kepemilikan, hingga tiket konser.", + "nft-card-button": "Apa itu NFT?", + "dao-card-title": "Organisasi otonom terdesentralisasi (DAO)", + "dao-card-description": "Memungkinkan cara baru untuk mengoordinasikan pekerjaan tanpa atasan.", + "dao-card-button": "Apa itu DAO?", + "dapp-card-title": "Decentralized applications (dapp)", + "dapp-card-description": "Menciptakan ekonomi digital dari layanan peer-to-peer.", + "dapp-card-button": "Jelajahi dapps", + "emerging-use-cases-title": "Kasus penggunaan yang muncul", + "emerging-use-cases-description": "Ada juga industri terkemuka lainnya yang diciptakan atau ditingkatkan dengan Ethereum:", + "play-to-earn": "Game bermain untuk mendapatkan uang (P2E)", + "fundraising-through-quadratic-funding": "Penggalangan dana melalui Pendanaan Kuadratik", + "supply-chain-management": "Manajemen rantai pasokan", + "more-on-ethereum-use-cases": "Lebih lanjut tentang kasus penggunaan Ethereum", + "more-on-ethereum-use-cases-link": "Rantai blok di negara berkembang", + "strengthening-the-ethereum-network-description": "Anda dapat membantu mengamankan Ethereum dan mendapatkan reward pada saat yang sama dengan melakukan penaruhan ETH Anda. Ada beberapa opsi berbeda untuk melakukan penaruhan, tergantung pada pengetahuan teknis Anda dan jumlah ETH yang Anda miliki.", + "staking-ethereum-card-title": "Mempertaruhkan Ethereum", + "staking-ethereum-card-description": "Pelajari cara memulai penaruhan ETH Anda.", + "staking-ethereum-card-button": "Mulai penaruhan", + "run-a-node-card-title": "Menjalankan sebuah simpul", + "run-a-node-card-description": "Mainkan peran penting dalam jaringan Ethereum dengan menjalankan simpul.", + "learn-about-ethereum-protocol-description": "Untuk pengguna yang paling tertarik dengan bagian teknis jaringan Ethereum.", + "energy-consumption-card-title": "Konsumsi energi", + "energy-consumption-card-description": "Berapa banyak energi yang digunakan Ethereum?", + "energy-consumption-card-button": "Apakah Ethereum ramah lingkungan?", + "ethereum-upgrades-card-title": "Peta Perjalanan Ethereum", + "ethereum-upgrades-card-description": "Peta perjalanan Ethereum membuatnya lebih terukur, aman, dan berkelanjutan.", + "ethereum-upgrades-card-button": "Jelajahi peta perjalanan", + "ethereum-whitepaper-card-title": "Laporan Resmi Ethereum", + "ethereum-whitepaper-card-description": "Proposal Ethereum asli yang ditulis oleh Vitalik Buterin pada tahun 2014.", + "ethereum-whitepaper-card-button": "Baca laporan", + "more-on-ethereum-protocol-title": "Lebih lanjut tentang protokol Ethereum", + "more-on-ethereum-protocol-ethereum-for-developers": "Ethereum untuk pengembang", + "more-on-ethereum-protocol-consensus": "Mekanisme konsensus berbasis bukti taruhan Ethereum'", + "more-on-ethereum-protocol-evm": "Komputer tertanam Ethereum (EVM)", + "more-on-ethereum-protocol-nodes-and-clients": "Simpul dan klien Ethereum", + "ethereum-community-description": "Keberhasilan Ethereum berkat komunitasnya yang sangat berdedikasi. Ribuan orang yang menginspirasi dan bersemangat membantu mendorong visi Ethereum ke depan, sekaligus memberikan keamanan pada jaringan melalui penaruhan dan tata kelola. Datang dan bergabunglah dengan kami!", + "community-hub-card-title": "Hub komunitas", + "community-hub-card-description": "Komunitas kami terdiri dari orang-orang dari berbagai latar belakang.", + "community-hub-card-alt": "Ilustrasi satu grup pembangun yang bekerja bersama.", + "community-hub-card-button": "Jelajahi lebih lanjut", + "get-involved-card-title": "Bagaimana saya dapat terlibat?", + "get-involved-card-description": "Anda (ya, Anda!) dipersilakan untuk berkontribusi pada komunitas Ethereum.", + "online-communities-card-title": "Komunitas daring", + "online-communities-card-description": "Komunitas daring memberikan peluang besar untuk mengajukan pertanyaan yang lebih spesifik atau terlibat.", + "online-communities-card-button": "Jelajahi komunitas", + "books-about-ethereum": "Buku tentang Ethereum", + "proof-of-stake-title": "Bukti Taruhan", + "proof-of-stake-description": "13 September 2022 - Vitalik Buterin, Nathan Schneider", + "cryptopians-title": "The Cryptopians", + "cryptopians-description": "22 Februari 2022 - Laura Shin", + "out-of-the-ether-title": "Out of the Ether", + "out-of-the-ether-description": "29 September 2020 - Matthew Leising", + "the-infinite-machine-title": "The Infinite Machine", + "the-infinite-machine-description": "14 Juli 2020 - Camila Russo", + "mastering-ethereum-title": "Mastering Ethereum", + "mastering-ethereum-description": "23 Desember 2018 - Andreas M. Antonopoulos, Gavin Wood Ph.D.", + "podcasts-about-ethereum": "Podcast tentang Ethereum", + "bankless-title": "Tanpa bank", + "bankless-description": "Panduan untuk keuangan Kripto", + "zeroknowledge-title": "Nol Pengetahuan", + "zeroknowledge-description": "Mendalami teknologi yang akan memberi kekuatan pada web terdesentralisasi yang sedang berkembang dan komunitas yang membangunnya", + "green-pill-title": "Green Pill", + "green-pill-description": "Mengeksplorasi sistem ekonomi kripto yang menciptakan eksternalitas positif bagi dunia", + "unchained-title": "Unchained", + "unchained-description": "Menyelami lebih dalam tentang orang-orang yang membangun internet terdesentralisasi, detail teknologi yang dapat mendukung masa depan kita, dan beberapa topik paling pelik dalam dunia kripto, seperti regulasi, keamanan, dan privasi", + "the-daily-gwei-title": "The Daily Gwei", + "the-daily-gwei-description": "Rekap, pembaruan, dan analisis berita Ethereum" +} diff --git a/src/intl/id/page-roadmap-vision.json b/src/intl/id/page-roadmap-vision.json index 25ee0c7dece..57b8ba630f1 100644 --- a/src/intl/id/page-roadmap-vision.json +++ b/src/intl/id/page-roadmap-vision.json @@ -1,47 +1,48 @@ { "page-roadmap-vision-2014": "Lihat unggahan blog tahun 2014 yang mendeskripsikan bukti taruhan", - "page-roadmap-vision-2021": "Lihat posting blog tahun 2021 mengenai evolusi roadmap Ethereum", + "page-roadmap-vision-2021": "Lihat posting blog tahun 2021 mengenai evolusi peta perjalanan Ethereum", + "page-roadmap-vision-2022": "Lihat postingan blog 2022: Panduan Pengembara Ethereum", "page-roadmap-vision-2021-updates": "Lihat tulisan tahun 2021 mengenai pembaharuan protokol Ethereum", "page-roadmap-vision-desc-1": "Ethereum perlu mengurangi kemacetan jaringan dan meningkatkan kecepatan untuk melayani basis pengguna global dengan lebih baik.", - "page-roadmap-vision-desc-2": "Menjalankan node akan semakin sulit seiring pertumbuhan jaringan. Ini akan menjadi lebih sulit dengan upaya penskalaan jaringan.", + "page-roadmap-vision-desc-2": "Menjalankan simpul akan semakin sulit seiring pertumbuhan jaringan. Ini akan menjadi lebih sulit dengan upaya penskalaan jaringan.", "page-roadmap-vision-desc-3": "Ethereum terlalu banyak menggunakan tenaga listrik. Teknologi yang menjaga keamanan jaringan harus lebih ramah lingkungan.", - "page-roadmap-vision-ethereum-node": "Lebih lanjut tentang node", + "page-roadmap-vision-ethereum-node": "Lebih lanjut tentang simpul", "page-roadmap-vision-future": "Masa depan digital dalam skala global", "page-roadmap-vision-meta-desc": "Gambaran umum tentang dampak peningkatan terhadap Ethereum, dan tantangan yang harus mereka atasi.", "page-roadmap-vision-meta-title": "Visi Ethereum", - "page-roadmap-vision-mining": "Selengkapnya tentang penambangan", + "page-roadmap-vision-mining": "Selengkapnya tentang menambang", "page-roadmap-vision-problems": "Masalah saat ini", "page-roadmap-vision-scalability": "Skalabilitas", - "page-roadmap-vision-scalability-desc": "Ethereum harus mampu menangani lebih banyak transaksi per detik tanpa meningkatkan ukuran node dalam jaringan. Node adalah peserta jaringan vital yang menyimpan dan menjalankan blockchain. Meningkatkan ukuran node tidak praktis karena hanya mereka yang memiliki komputer yang kuat dan mahal yang dapat melakukannya. Untuk penskalaan, Ethereum membutuhkan lebih banyak transaksi per detik, ditambah dengan lebih banyak node. Lebih banyak node berarti keamanan yang lebih baik.", - "page-roadmap-vision-scalability-desc-3": "Peningkatan rantai shard akan menyebarkan beban jaringan ke 64 rantai baru. Ini akan memberi Ethereum ruang untuk bernapas dengan mengurangi kemacetan dan meningkatkan kecepatan di luar batas 15-45 transaksi per detik saat ini.", - "page-roadmap-vision-scalability-desc-4": "Dan meskipun akan ada lebih banyak rantai, sebenarnya ini akan membutuhkan lebih sedikit pekerjaan dari validator - pengelola jaringan. Validator hanya perlu 'menjalankan' shard mereka dan bukan seluruh rantai Ethereum. Ini membuat node lebih ringan, memungkinkan Ethereum untuk melakukan skalabilitas dan tetap terdesentralisasi.", + "page-roadmap-vision-scalability-desc": "Ethereum harus mampu menangani lebih banyak transaksi per detik tanpa meningkatkan ukuran simpul dalam jaringan. Simpul adalah peserta jaringan vital yang menyimpan dan menjalankan rantai blok. Meningkatkan ukuran simpul tidak praktis karena hanya mereka yang memiliki komputer yang kuat dan mahal yang dapat melakukannya. Untuk penskalaan, Ethereum membutuhkan lebih banyak transaksi per detik, ditambah dengan lebih banyak simpul. Lebih banyak simpul berarti keamanan yang lebih baik.", + "page-roadmap-vision-scalability-desc-3": "Ethereum skala rollup lapisan ke-2 dengan memindahkan transaksi ke lapisan di luar rantai utama dan hanya memposting data ringkasan ke Ethereum. Pengelompokan ini meningkatkan keluaran transaksi Ethereum sambil secara drastis mengurangi biaya bagi pengguna.", + "page-roadmap-vision-scalability-desc-4": "Rollup memerlukan penyimpanan berbiaya rendah di lapisan ke-1 untuk membuat transaksi semurah mungkin bagi pengguna. Ini akan disediakan dalam bentuk \"blob\" yang terlampir pada blok Ethereum. Pada akhirnya, banyak \"blob\" akan terlampir pada blok Ethereum, menyediakan penyimpanan murah untuk banyak rollup.", "page-roadmap-vision-security": "Keamanan", - "page-roadmap-vision-security-desc": "Peningkatan yang direncanakan meningkatkan keamanan Ethereum terhadap serangan terkoordinasi, seperti serangan 51%. Ini adalah tipe serangan saat seseorang mengendalikan mayoritas jaringan yang dapat disusupi dengan paksa lewat perubahan palsu.", - "page-roadmap-vision-security-desc-3": "Transisi ke bukti taruhan berarti protokol Ethereum memiliki disinsentif yang lebih besar terhadap serangan. Ini karena dalam bukti taruhan, validator yang mengamankan jaringan harus menaruhkan sejumlah besar ETH ke dalam protokol. Jika mereka mencoba dan menyerang jaringan, protokol dapat secara otomatis menghancurkan ETH mereka.", - "page-roadmap-vision-security-desc-5": "Ini tidak mungkin dilakukan dalam bukti kerja, saat yang terbaik yang dapat dilakukan oleh protokol adalah memaksa entitas yang mengamankan jaringan (penambang) untuk kehilangan imbalan penambangan yang seharusnya didapatkan. Untuk mencapai efek yang setara dalam bukti kerja, protokol harus mampu menghancurkan semua peralatan penambang jika mereka mencoba dan berniat mencurangi.", - "page-roadmap-vision-security-desc-5-link": "Selengkapnya tentang bukti kerja", - "page-roadmap-vision-security-desc-10": "Penaruhan juga berarti Anda tidak perlu berinvestasi pada perangkat keras elit untuk 'menjalankan' node Ethereum. Ini seharusnya mendorong lebih banyak orang menjadi validator, yang meningkatkan desentralisasi jaringan dan mengurangi area permukaan serangan.", + "page-roadmap-vision-security-desc": "Peningkatan yang direncanakan meningkatkan keamanan Ethereum terhadap serangan yang terkoordinasi.", + "page-roadmap-vision-security-desc-3": "Dalam bukti taruhan, keamanan tambahan datang dari insentif kripto-ekonomi yang lebih besar untuk mencegah serangan. Hal ini disebabkan oleh fakta bahwa dalam bukti taruhan, validator yang mengamankan jaringan harus mengunci sejumlah besar ETH ke dalam protokol. Jika mereka mencoba menyerang jaringan, protokol dapat secara otomatis menghancurkan ETH yang mereka miliki.", + "page-roadmap-vision-security-desc-5": "Namun, juga penting bahwa peningkatan yang melindungi validator dari serangan penolakan layanan, meningkatkan anonimitas mereka, dan memisahkan pembangunan blok dan propagasi blok diimplementasikan segera. Peningkatan ini melindungi validator individu dan jaringan secara keseluruhan dari serangan terhadap kelangsungan jaringan dan sensor.", + "page-roadmap-vision-security-desc-5-link": "Selengkapnya tentang bukti taruhan", + "page-roadmap-vision-security-desc-10": "Penaruhan juga berarti Anda tidak perlu berinvestasi dalam perangkat keras kelas atas untuk berpartisipasi langsung dalam konsensus. Ini seharusnya mendorong lebih banyak orang untuk menjadi validator, meningkatkan desentralisasi jaringan dan mengurangi area permukaan serangan.", "page-roadmap-vision-security-staking": "Pertaruhkan ETH", - "page-roadmap-vision-security-validator": "Anda bisa menjadi validator dengan menaruhkan ETH Anda.", + "page-roadmap-vision-security-validator": "Anda bisa menjadi validator dengan penaruhan ETH Anda.", "page-roadmap-vision-staking-lower": "Selengkapnya tentang penaruhan", "page-roadmap-vision-subtitle": "Kembangkan Ethereum hingga cukup kuat untuk membantu seluruh umat manusia.", "page-roadmap-vision-sustainability": "Keberlanjutan", - "page-roadmap-vision-sustainability-desc-1": "Bukan rahasia lagi bahwa Ethereum dan blockchain lain seperti Bitcoin boros energi akibat dari penambangan.", - "page-roadmap-vision-sustainability-desc-2": "Tetapi Ethereum berubah menuju diamankan oleh ETH, bukan kekuatan komputasi - melalui penaruhan.", - "page-roadmap-vision-sustainability-desc-3": "Sekalipun penaruhan telah diperkenalkan oleh Rantai Suar, Ethereum yang kita gunakan saat ini akan beroperasi secara paralel untuk jangka waktu tertentu. Satu sistem diamankan oleh ETH, yang lain oleh daya komputasi. Ini akan berlangsung sampai Penggabungan dilakukan.", - "page-roadmap-vision-sustainability-desc-8": "Dengan Rantai Suar yang beroperasi, proses penggabungan Jaringan Utama dengan sistem lapisan konsensus telah dimulai. Oleh karena itu, Jaringan Utama akan diamankan oleh ETH yang ditaruhkan dan jauh lebih hemat energi.", - "page-roadmap-vision-sustainability-subtitle": "Ethereum harus lebih ramah lingkungan.", + "page-roadmap-vision-sustainability-desc-1": "Sekarang Ethereum adalah rantai blok yang ramah lingkungan. Konsumsi energinya berkurang sekitar ~99,95% saat model konsensus bukti kerja diganti dengan bukti taruhan.", + "page-roadmap-vision-sustainability-desc-2": "Sekarang Ethereum diamankan melalui penaruhan, bukan daya komputasi.", + "page-roadmap-vision-sustainability-desc-3": "Peningkatan keberlanjutan ini juga memberikan manfaat keamanan - ether yang dipasang membuat biaya untuk menyerang rantai menjadi jauh lebih mahal daripada dalam bukti kerja, tetapi lebih murah untuk mengamankannya karena ETH baru yang lebih sedikit harus diterbitkan untuk membayar validator dibandingkan penambang.", + "page-roadmap-vision-sustainability-desc-8": "Pergantian ke bukti taruhan membuat Ethereum lebih ramah lingkungan dan lebih aman. Ini adalah platform rendah karbon untuk membangun aplikasi dan organisasi.", + "page-roadmap-vision-sustainability-subtitle": "Ethereum adalah rantai blok yang ramah lingkungan dengan keamanan kripto-ekonomi yang kuat.", "page-roadmap-vision-title": "Visi Ethereum", "page-roadmap-vision-title-1": "Jaringan tersumbat", "page-roadmap-vision-title-2": "Ruang disk", "page-roadmap-vision-title-3": "Terlalu banyak energi", - "page-roadmap-vision-trilemma-cardtext-1": "Peningkatan Ethereum akan membuat Ethereum terukur, aman, dan terdesentralisasi. Sharding akan membuat Ethereum lebih terukur dengan meningkatkan transaksi per detik sekaligus mengurangi daya yang dibutuhkan untuk menjalankan node dan memvalidasi rantai. Rantai suar akan membuat Ethereum aman dengan mengoordinasikan validator di seluruh shard. Dan penaruhan akan menurunkan hambatan partisipasi, yang menciptakan jaringan yang lebih besar - lebih terdesentralisasi.", - "page-roadmap-vision-trilemma-cardtext-2": "Jaringan blockchain yang aman dan terdesentralisasi mengharuskan setiap node untuk memverifikasi setiap transaksi yang diproses oleh rantai. Jumlah pekerjaan ini membatasi jumlah transaksi yang dapat terjadi pada satu waktu tertentu. Terdesentralisasi dan aman mencerminkan rantai Ethereum hari ini.", - "page-roadmap-vision-trilemma-cardtext-3": "Jaringan terdesentralisasi bekerja dengan mengirimkan informasi tentang transaksi lintas node - seluruh jaringan perlu mengetahui tentang perubahan status apa pun. Perluasan transaksi per detik di seluruh jaringan terdesentralisasi menimbulkan resiko keamanan karena semakin banyak transaksi, semakin lama penundaan, semakin tinggi kemungkinan serangan terjadi ketika informasi dalam penerbangan.", - "page-roadmap-vision-trilemma-cardtext-4": "Meningkatkan ukuran dan kekuatan node Ethereum dapat meningkatkan transaksi per detik dengan cara yang aman. Namun, persyaratan perangkat keras akan membatasi siapa yang dapat melakukannya karena dapat mengancam desentralisasi. Sharding dan bukti taruhan diharapkan akan memungkinkan Ethereum melakukan penskalaan dengan meningkatkan jumlah node, bukan ukuran node.", + "page-roadmap-vision-trilemma-cardtext-1": "Peningkatan Ethereum akan membuatnya lebih skalabel, aman, dan terdesentralisasi. Penaruhan telah menurunkan hambatan partisipasi dan membatasi ekonomi skala, menciptakan jaringan yang lebih besar dan lebih terdesentralisasi.", + "page-roadmap-vision-trilemma-cardtext-2": "Jaringan rantai blok yang aman dan terdesentralisasi mengharuskan setiap simpul untuk memverifikasi setiap transaksi yang diproses oleh rantai. Jumlah pekerjaan ini membatasi jumlah transaksi yang dapat terjadi pada satu waktu tertentu. Terdesentralisasi dan aman mencerminkan rantai Ethereum hari ini.", + "page-roadmap-vision-trilemma-cardtext-3": "Jaringan terdesentralisasi bekerja dengan mengirimkan informasi tentang transaksi lintas simpul - seluruh jaringan perlu mengetahui tentang perubahan status apa pun. Penskalaan transaksi per detik di seluruh jaringan terdesentralisasi menimbulkan resiko keamanan karena semakin banyak transaksi, semakin lama penundaan, semakin tinggi kemungkinan serangan terjadi ketika informasi dalam penerbangan.", + "page-roadmap-vision-trilemma-cardtext-4": "Meningkatkan ukuran dan kekuatan simpul Ethereum dapat meningkatkan transaksi per detik dengan aman, namun persyaratan perangkat keras akan membatasi siapa yang dapat melakukannya karena dapat mengancam desentralisasi. Pecahan dan bukti taruhan diharapkan akan memungkinkan Ethereum melakukan penskalaan dengan meningkatkan jumlah simpul, bukan ukuran simpul.", "page-roadmap-vision-trilemma-h2": "Tantangan penskalaan terdesentralisasi", "page-roadmap-vision-trilemma-modal-tip": "Ketuk lingkaran di bawah ini untuk lebih memahami masalah penskalaan terdesentralisasi", - "page-roadmap-vision-trilemma-p": "Cara naif untuk memecahkan masalah Ethereum adalah dengan membuatnya lebih terpusat. Tetapi desentralisasi terlalu penting. Desentralisasilah yang memberi Ethereum kekebalan terhadap penyensoran, keterbukaan, privasi data, dan keamanan yang hampir tidak dapat ditembus.", + "page-roadmap-vision-trilemma-p": "Cara sederhana untuk mengatasi masalah Ethereum adalah dengan membuatnya lebih terpusat. Namun, desentralisasi terlalu penting. Desentralisasi yang memberikan netralitas, ketahanan terhadap sensor, keterbukaan, kepemilikan data, dan keamanan yang hampir tidak bisa ditembus bagi Ethereum.", "page-roadmap-vision-trilemma-p-1": "Visi Ethereum adalah menjadi lebih terukur dan aman, tetapi juga tetap terdesentralisasi. Mencapai 3 kualitas ini adalah masalah yang dikenal sebagai trilema skalabilitas.", "page-roadmap-vision-trilemma-p-2": "Peningkatan Ethereum bertujuan untuk memecahkan trilemanya tetapi ada tantangan yang siginifikan.", "page-roadmap-vision-trilemma-press-button": "Tekan tombol pada segitiga untuk lebih memahami masalah penskalaan terdesentralisasi.", @@ -56,10 +57,11 @@ "page-roadmap-vision-understanding": "Memahami visi Ethereum", "page-roadmap-vision-upgrade-needs": "Perlunya peningkatan", "page-roadmap-vision-upgrade-needs-desc": "Protokol Ethereum yang diluncurkan pada tahun 2015 telah luar biasa sukses. Tetapi komunitas Ethereum selalu berharap bahwa beberapa peningkatan kunci akan diperlukan untuk membuka potensi Ethereum secara penuh.", - "page-roadmap-vision-upgrade-needs-desc-2": "Permintaan tinggi meningkatkan biaya transaksi yang membuat Ethereum mahal bagi pengguna rata-rata. Ruang disk yang dibutuhkan untuk menjalankan klien Ethereum tumbuh dengan kecepatan tinggi. Dan algoritma konsensus bukti kerja yang mendasarinya yang menjaga Ethereum aman dan terdesentralisasi memiliki dampak lingkungan yang besar.", + "page-roadmap-vision-upgrade-needs-desc-2": "Permintaan yang tinggi mengakibatkan biaya transaksi meningkat hal itu membuat Ethereum mahal bagi pengguna rata-rata. Ruang penyimpanan yang dibutuhkan untuk menjalankan klien Ethereum juga meningkat dengan cepat.", "page-roadmap-vision-upgrade-needs-desc-3": "Ethereum memiliki serangkaian peningkatan yang mengatasi masalah-masalah ini dan masih banyak lagi. Rangkaian peningkatan ini awalnya disebut 'Serenity' dan 'Eth2', dan telah menjadi area penelitian dan pengembangan aktif sejak 2014.", "page-roadmap-vision-upgrade-needs-desc-5": "Karena teknologinya telah siap, peningkatan ini akan menyusun ulang Ethereum agar lebih terukur, aman, dan berkelanjutan - untuk membuat hidup lebih baik bagi para pengguna yang sudah ada dan menarik para pengguna baru. Semuanya sambil mempertahankan nilai inti desentralisasi Ethereum.", "page-roadmap-vision-upgrade-needs-desc-6": "Ini berarti tidak ada tombol menyalakan untuk skalabilitas. Peningkatan akan dikirimkan secara bertahap seiring dengan waktu.", "page-roadmap-vision-upgrade-needs-serenity": "Lihat postingan blog 2015 yang membahas 'Serenity'", - "ethereum": "Ethereum" + "ethereum": "Ethereum", + "page-roadmap-vision-danksharding": "Lebih lanjut tentang Danksharding" } diff --git a/src/intl/id/page-upgrades-get-involved.json b/src/intl/id/page-upgrades-get-involved.json index e86c74b5b4d..db69d57f529 100644 --- a/src/intl/id/page-upgrades-get-involved.json +++ b/src/intl/id/page-upgrades-get-involved.json @@ -6,7 +6,7 @@ "page-upgrades-get-involved-bug-hunting": "Mulai berburu bug", "page-upgrades-get-involved-bug-hunting-desc": "Temukan dan laporkan bug dalam spesifikasi peningkatan lapisan konsensus atau klien itu sendiri. Anda bisa mendapatkan hingga $50.000 USD dan mendapat tempat di papan peringkat.", "page-upgrades-get-involved-bug-li": "masalah spesifikasi yang tidak sesuai", - "page-upgrades-get-involved-bug-li-2": "bugs perusak finality", + "page-upgrades-get-involved-bug-li-2": "bug perusak finalitas", "page-upgrades-get-involved-bug-li-3": "vektor penolakan layanan (DOS)", "page-upgrades-get-involved-bug-li-4": "dan banyak lagi...", "page-upgrades-get-involved-desc-1": "Menjalankan klien berarti Anda akan menjadi peserta aktif di Ethereum. Klien Anda akan membantu melacak transaksi dan memeriksa blok baru.", @@ -14,15 +14,20 @@ "page-upgrades-get-involved-desc-3": "Bergabunglah dengan usaha pengujian komunitas! Bantu menguji peningkatan Ethereum sebelum dikirimkan, temukan bug, dan dapatkan hadiah.", "page-upgrades-get-involved-ethresearch-1": "Sharding", "page-upgrades-get-involved-ethresearch-2": "Penggabungan", - "page-upgrades-get-involved-ethresearch-3": "Eksekusi bershard", + "page-upgrades-get-involved-ethresearch-3": "Eksekusi berpecahan", "page-upgrades-get-involved-ethresearch-4": "Semua topik riset", "page-upgrades-get-involved-how": "Bagaimana Anda ingin terlibat?", "page-upgrades-get-involved-how-desc": "Komunitas Ethereum akan selalu diuntungkan dengan lebih banyak orang menjalankan klien, penaruhan, dan pemburuan bug.", "page-upgrades-get-involved-join": "Bergabunglah dengan riset", - "page-upgrades-get-involved-join-desc": "Seperti umumnya terkait Ethereum, banyak penelitian yang bersifat publik. Ini berarti, Anda dapat terlibat dalam diskusi atau hanya membaca apa yang disampaikan oleh para peneliti Ethereum. ethresear.ch mencakup sejumlah topik termasuk peningkatan konsensus, sharding, rollup, dan banyak lagi.", - "page-upgrades-get-involved-meta-description": "Cara berpartisipasi dalam peningkatan Ethereum: jalankan node, taruhkan, berburu bug, dan lainnya.", - "page-upgrades-get-involved-run-clients": "Jalankan klien konsensus", - "page-upgrades-get-involved-run-clients-desc": "Kunci keamanan jangka panjang Ethereum adalah distribusi klien yang kuat. Klien adalah perangkat lunak yang menjalankan blockchain, pemeriksaan transaksi, dan pembuatan blok baru. Setiap klien punya fitur masing-masing, jadi pilihlah berdasarkan apa yang Anda sukai.", + "page-upgrades-get-involved-join-desc": "Seperti banyak hal dengan Ethereum, banyak risetnya bersifat publik. Ini berarti Anda dapat berpartisipasi dalam diskusi atau hanya membaca apa yang dikemukakan oleh para peneliti Ethereum. ethresear.ch membahas berbagai topik termasuk peningkatan konsensus, rollup, dan lainnya.", + "page-upgrades-get-involved-meta-description": "Cara berpartisipasi dalam peningkatan Ethereum: jalankan simpul, taruhan, berburu bug, dan lainnya.", + "page-upgrades-get-involved-run-clients": "Menjalankan sepasang klien", + "page-upgrades-get-involved-run-clients-desc": "Sebuah 'klien' adalah perangkat lunak yang menjalankan rantai blok, dan dalam kasus Ethereum, sebuah simpul penuh memerlukan menjalankan sepasang klien ini: klien lapisan eksekusi dan klien lapisan konsensus. Sebuah simpul penuh dapat memverifikasi transaksi dan, jika juga penaruhan ETH, dapat membuat blok-blok baru. Setiap klien memiliki fitur-fitur sendiri namun secara keseluruhan memiliki fungsi yang sama, oleh karena itu kami mendorong Anda untuk memilih klien minoritas setiap kali memungkinkan untuk menjaga keragaman dan keamanan dari kumpulan klien.", + "page-upgrades-get-involved-run-clients-desc-link": "Selengkapnya tentang keragaman klien.", + "page-upgrades-get-involved-run-clients-execution": "Klien lapisan eksekusi", + "page-upgrades-get-involved-run-clients-execution-desc": "Klien-klien ini sebelumnya disebut sebagai klien 'Eth1', tetapi istilah ini telah ditinggalkan dan digantikan dengan istilah klien 'lapisan eksekusi'.", + "page-upgrades-get-involved-run-clients-consensus": "Klien lapisan konsensus", + "page-upgrades-get-involved-run-clients-consensus-desc": "Klien-klien ini sebelumnya disebut sebagai klien 'Eth2', tetapi istilah ini telah ditinggalkan dan digantikan dengan istilah klien 'lapisan konsensus'.", "page-upgrades-get-involved-stake": "Taruhkan ETH Anda", "page-upgrades-get-involved-stake-desc": "Sekarang Anda dapat menaruhkan ETH untuk membantu mengamankan rantai suar.", "page-upgrades-get-involved-stake-eth": "Pertaruhkan ETH", @@ -30,12 +35,13 @@ "page-upgrades-get-involved-title-1": "Jalankan klien", "page-upgrades-get-involved-title-2": "Taruhkan ETH Anda", "page-upgrades-get-involved-title-3": "Temukan bug", + "page-upgrades-get-involved-written-c-sharp": "Ditulis dalam C#", "page-upgrades-get-involved-written-go": "Ditulis dalam Go", "page-upgrades-get-involved-written-java": "Ditulis dalam Java", "page-upgrades-get-involved-written-javascript": "Ditulis dalam JavaScript", "page-upgrades-get-involved-written-nim": "Ditulis dalam Nim", "page-upgrades-get-involved-written-rust": "Ditulis dalam Rust", "page-upgrades-get-involved": "Terlibatlah dalam meningkatkan Ethereum", - "page-upgrades-get-involved-2": "Mari terlibat", + "page-upgrades-get-involved-2": "Ikut terlibat", "page-upgrades-bug-bounty-leaderboard-points": "poin" } diff --git a/src/intl/id/page-upgrades-index.json b/src/intl/id/page-upgrades-index.json index 489c337bca8..295e6b96787 100644 --- a/src/intl/id/page-upgrades-index.json +++ b/src/intl/id/page-upgrades-index.json @@ -1,44 +1,67 @@ { + "consensus-client-besu-logo-alt": "Logo Besu", + "consensus-client-erigon-logo-alt": "Logo Erigon", + "consensus-client-geth-logo-alt": "Logo Geth", "consensus-client-lighthouse-logo-alt": "Logo Lighthouse", "consensus-client-lodestar-logo-alt": "Logo Lodestar", + "consensus-client-nethermind-logo-alt": "Logo Nethermind", "consensus-client-nimbus-logo-alt": "Logo Nimbus", "consensus-client-prysm-logo-alt": "Logo Prysm", "consensus-client-teku-logo-alt": "Logo Teku", - "page-upgrades-answer-1": "Pikirkan perubahan yang diluncurkan sebagai serangkaian peningkatan yang ditambahkan untuk meningkatkan Ethereum yang kita gunakan saat ini. Peningkatan ini mencakup pembuatan rantai baru yang disebut Rantai Suar, dan akan memperkenalkan rantai baru yang dikenal sebagai 'shard' di masa mendatang.", - "page-upgrades-answer-2": "Beberapa peningkatan terpisah dari Jaringan Utama Ethereum yang kita gunakan hari ini tetapi tidak akan menggantikannya. Sebaliknya, Jaringan Utama akan 'bergabung' dengan sistem paralel ini yang ditambahkan dari waktu ke waktu.", - "page-upgrades-answer-4": "Dengan kata lain, Ethereum yang kita gunakan hari ini pada akhirnya akan mewujudkan semua fitur yang menjadi sasaran kami dalam visi Ethereum.", + "page-upgrades-answer-1": "Rantai Suar digunakan sebagai alat untuk memutakhirkan Jaringan Utama Ethereum di Penggabungan.", + "page-upgrades-answer-2": "Dengan Penggabungan, Ethereum memiliki peningkatan paling substansial yang pernah menukar bukti kerja dengan lapisan konsensus berbasis bukti taruhan yang baru.", + "page-upgrades-answer-4": "Rantai Suar digunakan untuk mengembangkan konsensus berbasis bukti taruhan yang digunakan Ethereum saat ini. Rantai Suar dijalankan secara terpisah ke Jaringan Utama Ethereum sehingga pengembang dapat mengamati mekanisme konsensus secara terpisah.", + "page-upgrade-article-author-status": "Status", + "page-upgrade-article-author-ethmerge": "Ethmerge", + "page-upgrade-article-author-alchemy": "Alchemy", + "page-upgrade-article-author-consensys": "Consensys", + "page-upgrade-article-author-delphi-digital": "Delphi Digital", + "page-upgrade-article-author-eip-4844": "Vitalik Buterin, Dankrad Feist, Diederik Loerakker, George Kadianakis, Matt Garnett, Mofi Taiwo", "page-upgrade-article-author-ethereum-foundation": "Yayasan Ethereum", + "page-upgrade-article-author-vitalik-buterin": "Vitalik Buterin", + "page-upgrade-article-author-ethos-dev": "Ethos.dev", "page-upgrade-article-title-two-point-oh": "Dua Titik Nol: Rantai Suar", "page-upgrade-article-title-beacon-chain-explainer": "Penjelasan Rantai Suar Ethereum 2.0 yang perlu Anda baca terlebih dahulu", "page-upgrade-article-title-sharding-consensus": "Konsensus sharding", "page-upgrade-article-title-sharding-is-great": "Mengapa sharding bagus: mengungkap sifat teknis", "page-upgrade-article-title-rollup-roadmap": "Roadmap rollup-centric", - "page-upgrades-beacon-chain-date": "Rantai Suar dioperasikan pada 1 Desember 2020.", - "page-upgrades-beacon-chain-desc": "Rantai Suar membawa penaruhan ke Ethereum, melakukan semua hal mendasar untuk peningkatan di masa mendatang, dan pada akhirnya akan mengoordinasikan sistem baru.", + "page-upgrade-article-title-hitchhikers-guide-to-ethereum": "Panduan Pengembara Ethereum", + "page-upgrade-article-title-eip-4844": "EIP-4844: Transaksi Shard Blob (Proto-Danksharding)", + "page-upgrade-article-title-proto-danksharding-faq": "Pertanyaan Umum Proto-Danksharding", + "page-upgrade-article-title-sharding-das": "Penjelasan tentang pecahan dan pengambilan sampel ketersediaan data (DAS)", + "page-upgrade-article-title-ethmerge": "Ethmerge", + "page-upgrade-article-title-merge-is-coming": "Penggabungan akan segera datang", + "page-upgrade-article-title-state-of-the-merge": "Status Penggabungan: Pembaruan tentang Pergeseran Ethereum ke Bukti Taruhan pada tahun 2022", + "page-upgrade-article-title-ropsten-merge-testnet": "Mengumumkan Jaringan Percobaan Ropsten", + "page-upgrade-article-title-execution-layer-specs": "Spesifikasi lapisan eksekusi", + "page-upgrade-article-title-consensus-layer-specs": "Spesifikasi lapisan konsensus", + "page-upgrade-article-title-engine-api-specs": "Spesifikasi API mesin", + "page-upgrades-beacon-chain-date": "Rantai Suar mulai beroperasi pada tanggal 1 Desember 2020", + "page-upgrades-beacon-chain-desc": "Rantai Suar membawa penaruhan ke Ethereum dan meletakkan dasar untuk peningkatan di masa mendatang. Ini mengoordinasikan Ethereum bukti taruhan baru.", "page-upgrades-beacon-chain-estimate": "Rantai Suar telah beroperasi", "page-upgrades-beacon-chain-title": "Rantai Suar", "page-upgrades-bug-bounty": "Lihat program hadiah bounty bug", "page-upgrades-clients": "Lihat klien konsensus (sebelumnya dikenal sebagai klien 'Eth2')", "page-staking-deposit-contract-title": "Periksa alamat kontrak deposit", "page-upgrades-dive": "Dalami tentang visi", - "page-upgrades-dive-desc": "Bagaimana kita akan membuat Ethereum lebih terukur, aman, dan berkelanjutan? Semua sambil menjaga etos inti desentralisasi Ethereum.", + "page-upgrades-dive-desc": "Bagaimana kami membuat Ethereum lebih terukur, aman, dan berkelanjutan? Semua sambil menjaga etos inti desentralisasi Ethereum.", "page-upgrades-docking": "Penggabungan", - "page-upgrades-merge-answer-1": "Penggabungan terjadi saat Jaringan Utama mulai menggunakan Rantai Suar untuk konsensus, dan bukti kerja dinonaktifkan, pada suatu waktu di 2022.", + "page-upgrades-merge-answer-1": "Penggabungan terjadi ketika Ethereum bertransisi ke konsensus bukti taruhan pada 15 September 2022. Rantai Suar bergabung dengan Jaringan Utama, secara resmi menghentikan bukti kerja di Ethereum, dan mengurangi konsumsi energi Ethereum sebesar ~99,95%.", "page-upgrades-merge-btn": "Selengkapnya tentang penggabungan", - "page-upgrades-merge-desc": "Jaringan Utama Ethereum perlu 'bergabung' dengan Rantai Suar pada beberapa titik. Ini akan memungkinkan penaruhan untuk seluruh jaringan dan menandai berakhirnya penambangan yang boros energi.", - "page-upgrades-merge-estimate": "Perkiraan: 2022", + "page-upgrades-merge-desc": "Jaringan Utama Ethereum bergabung dengan Rantai Suar bukti taruhan, menandai berakhirnya menambang energi yang intensif.", + "page-upgrades-merge-estimate": "Penggabungan telah beroperasi", "page-upgrades-merge-mainnet": "Apa itu Jaringan Utama?", "page-upgrades-eth-blog": "blog ethereum.org", "page-upgrades-explore-btn": "Jelajahi peningkatan", "page-upgrades-get-involved": "Terlibatlah dalam meningkatkan Ethereum", "page-upgrades-get-involved-2": "Mari terlibat", - "page-upgrades-head-to-ethresearch": "Menuju ethresear.ch", + "page-upgrades-head-to-ethresearch": "Kunjungi etresearch.ch", "page-upgrades-help": "Ingin membantu dalam peningkatan Ethereum?", "page-upgrades-help-desc": "Ada banyak peluang untuk menimbang peningkatan Ethereum, membantu dalam pengujian, dan bahkan mendapatkan imbalan.", "page-upgrades-index-staking": "Penaruhan ada di sini", "page-upgrades-index-staking-desc": "Kunci untuk peningkatan Ethereum adalah pengenalan penaruhan. Jika Anda mau menggunakan ETH untuk membantu mengamankan jaringan Ethereum, pastikan Anda mengikuti langah-langkah berikut.", "page-upgrades-index-staking-learn": "Pelajari tentang penaruhan", - "page-upgrades-index-staking-learn-desc": "Rantai Suar akan membawa penaruhan ke Ethereum. Berarti jika Anda mempunyai ETH, Anda dapat turut berpartisipasi dalam mengamankan jaringan dan mendapatkan lebih banyak ETH dalam prosesnya.", + "page-upgrades-index-staking-learn-desc": "Rantai Suar membawa penaruhan ke Ethereum. Jika Anda memiliki ETH, Anda dapat melakukan kebaikan publik dengan mengamankan jaringan dan mendapatkan lebih banyak ETH dalam prosesnya.", "page-upgrades-index-staking-step-1": "1. Siapkan dengan launchpad", "page-upgrades-index-staking-step-1-btn": "Kunjungi launchpad penaruhan", "page-upgrades-index-staking-step-1-desc": "Untuk bertaruh di Ethereum, Anda harus menggunakan launchpad – ini akan memandu Anda melalui prosesnya.", @@ -52,25 +75,31 @@ "page-upgrades-question-1-title": "Kapan peningkatan akan diluncurkan?", "page-upgrades-question-1-desc": "Ethereum ditingkatkan secara bertahap; peningkatannya beragam dengan tanggal peluncuran yang berbeda.", "page-upgrades-question-2-title": "Apakah Rantai Suar merupakan blokchain yang terpisah?", - "page-upgrades-question-2-desc": "Kurang tepat jika mengganggap peningkatan ini sebagai blockchain terpisah.", + "page-upgrades-question-2-desc": "Ya. Rantau Suar diberi nama rantai blok bukti taruhan paralel setelah digunakan untuk meningkatkan Jaringan Utama Ethereum. Lihat sekarang satu dan satu-satunya rantai blok, berawal dari menggabungkan rantai blok asli Ethereum dan Rantai Suar secara bersamaan.", + "page-upgrades-question-3-answer-2a": "Penggabungan awal minimal berdampak di dapp pengembang-mereka tetap berinteraksi dengan Ethereum di satu jalan yang sama.", + "page-upgrades-question-3-answer-2a-link": "Pengembang Penggabungan dan dapp", + "page-upgrades-question-3-answer-2b": "Rencana-rencana penggunaan pecahan masih dalam pengembangan, tetapi akan dirancang dengan mempertimbangkan rollup lapisan ke-2.", + "page-upgrades-layer-2-rollups": "Lebih lanjut mengenai rollup lapisan ke-2", "page-upgrades-question-3-answer-3-link": "Kunjungi ethresear.ch", "page-upgrades-question-3-desc": "Anda tidak perlu melakukan apa-apa sekarang untuk mempersiapkan peningkatannya.", "page-upgrades-question-3-title": "Bagaimana cara saya bersiap untuk peningkatan?", - "page-upgrades-question-4-answer-1": "Setiap kali Anda mengirimkan transaksi atau menggunakan dapp hari ini, Anda menggunakan lapisan eksekusi, atau Jaringan Utama. Ini adalah Ethereum yang diamankan oleh penambang.", - "page-upgrades-question-4-answer-3": "Setelah Penggabungan, para validator akan mengamankan seluruh jaringan dengan bukti taruhan.", + "page-upgrades-question-4-answer-1": "Setiap kali Anda mengirim transaksi atau menggunakan sebuah dapp hari ini, Anda menggunakan lapisan eksekusi, yang juga dikenal sebagai Jaringan Utama.", + "page-upgrades-question-4-answer-3": "Sejak Penggabungan, para validator mengamankan seluruh jaringan dengan bukti taruhan.", "page-upgrades-question-4-answer-6": "Semua orang bisa menjadi validator dengan mempertaruhkan ETH mereka.", "page-upgrades-question-4-answer-7": "Selengkapnya tentang penaruhan", "page-upgrades-question-4-title": "Apa itu lapisan eksekusi?", - "page-upgrades-question-4-desc": "Jaringan Utama Ethereum tempat Anda bertransaksi hari ini telah sebelumnya dirujuk sebagai 'Eth1'. Istilah ini perlahan-lahan dihilangkan dan diganti dengan 'lapisan eksekusi'.", - "page-upgrades-question-5-answer-1": "Untuk menjadi validator penuh dalam jaringan, Anda perlu menaruhkan 32 ETH. Jika Anda tidak mempunyai sebanyak itu, atau tidak mau menaruhkan sebanyak itu, Anda bisa bergabung dengan pool penaruhan. Pool ini memungkinkan Anda bertaruh lebih sedikit dan mendapatkan sebagian dari imbalan total.", + "page-upgrades-question-4-desc": "Sebelum Penggabungan, terkadang rantai blok Ethereum disebut sebagai 'Eth1.' Istilah ini dihilangkan dan digantikan dengan 'lapisan eksekusi'.", + "page-upgrades-question-5-answer-1": "Untuk menjadi validator dalam jaringan, Anda perlu menaruh 32 ETH. Jika Anda tidak memiliki jumlah tersebut, atau tidak bersedia memasang sebanyak itu, Anda dapat bergabung dengan pool penaruhan. Pool penaruhan akan memungkinkan Anda memasang jumlah yang lebih kecil dan mendapatkan bagian dari total hadiah.", "page-upgrades-question-5-desc": "Anda perlu menggunakan launchpad penaruhan atau bergabung dengan pool penaruhan.", "page-upgrades-question-5-title": "Bagaimana cara bertaruh?", "page-upgrades-question-6-answer-3": "Danny Ryan dari Yayasan Ethereum secara teratur memperbarui komunitas:", "page-upgrades-question-6-answer-4": "Ben Edgington dari ConsenSys memiliki buletin mingguan tentang peningkatan Ethereum:", "page-upgrades-question-6-answer-5": "Anda juga dapat bergabung dalam diskusi tentang penelitian dan pengembangan Ethereum di ethresear.ch.", "page-upgrades-question-6-title": "Apa yang harus saya lakukan dengan dapp saya?", - "page-upgrades-question-6-desc": "Dapp Anda tidak akan terpengaruh oleh peningkatan yang akan terjadi. Namun peningkatan di masa mendatang mungkin memerlukan beberapa penyesuaiaan.", - "page-upgrades-question-6-answer-1": "Untuk saat ini, tidak ada yang perlu dilakukan. Tapi kami menyarankan Anda tetap mengikuti perkembangan penggabungan dan peningkatan rantai shard.", + "page-upgrades-question-6-desc": "Penggabungan dirancang agar memiliki dampak minimal bagi pengembang dapp, meskipun ada beberapa perubahan kecil yang perlu dicatat.", + "page-upgrades-question-6-answer-1": "Para pengembang dapp yang sudah terbiasa dengan Ethereum sebelum terjadinya Merge seharusnya menyadari beberapa perubahan. Perubahan-perubahan ini meliputi struktur dan waktu blok, beberapa perubahan opcode, sumber-sumber acak di dalam rantai blok, dan konsep finalitas jangka waktu.", + "page-upgrades-question-6-answer-1-link": "Bagaimana Penggabungan berpengaruh terhadapan Lapisan Aplikasi Ethereum", + "page-upgrades-question-6-answer-2": "Aplikasi hampir tidak terpengaruh secara keseluruhan.", "page-upgrades-question-7-desc": "Banyak tim berbeda dari seluruh komunitas sedang mengerjakan berbagai peningkatan Ethereum.", "page-upgrades-question-7-lighthouse": "Lighthouse", "page-upgrades-question-7-lighthouse-lang": "(Implementasi Rust)", @@ -87,7 +116,7 @@ "page-upgrades-question-7-clients": "Pelajari selengkapnya tentang klien Ethereum", "page-upgrades-question-8-answer-1": "Peningkatan Ethereum akan membantu skala Ethereum secara terdesentralisasi, dengan tetap menjaga keamanan, dan meningkatkan keberlanjutan.", "page-upgrades-question-8-answer-2": "Mungkin, masalah yang paling jelas adalah Ethereum harus mampu menangani lebih dari 15-45 transaksi per detik. Tetapi peningkatan juga menangani beberapa permasalahan lainnya di Ethereum hari ini.", - "page-upgrades-question-8-answer-3": "Jaringan ini sangat diminati sehingga membuat Ethereum menjadi mahal untuk digunakan. Node di jaringan bekerja keras memproses jumlah data yang banyak di Ethereum dan komputer pribadi. Dan algoritma yang mendasari yang membuat Ethereum aman dan terdesentralisasi adalah energi intensif dan perlu lebih ramah lingkungan.", + "page-upgrades-question-8-answer-3": "Pada saat permintaan tinggi, jaringan Ethereum menjadi mahal untuk digunakan. Node dalam jaringan berjuang menghadapi ukuran Ethereum dan jumlah data yang harus diproses oleh komputer mereka. Algoritma asli yang mendasari keamanan dan desentralisasi Ethereum membutuhkan banyak energi dan perlu lebih ramah lingkungan.", "page-upgrades-question-8-answer-4": "Kebanyakan perubahan yang terjadi masih sesuai dengan roadmap Ethereum, bahkan sejak 2015. Tetapi kondisi yang terjadi saat ini membuat kebutuhan akan peningkatan semakin besar.", "page-upgrades-question-8-answer-6": "Jelajahi visi Ethereum", "page-upgrades-question-8-desc": "Ethereum yang kita gunakan hari ini perlu menawarkan pengalaman yang lebih baik bagi pengguna akhir dan peserta jaringan.", @@ -107,32 +136,32 @@ "page-upgrades-question-10-answer-1-link": "Lihat peningkatan", "page-upgrades-question-10-answer-2": "Tetapi jika Anda sudah mengikuti diskusi ini, berikut cara melakukan peningkatan yang sesuai dengan roadmap teknis, dan sedikit tentang perubahannya.", "page-upgrades-question-10-answer-3": "Fase 0 menggambarkan cara mengoperasikan Rantai Suar.", - "page-upgrades-question-10-answer-5": "Fase 1 semula berfokus pada pengimplementasian rantai shard, tetapi penetapan prioritas telah beralih ke 'penggabungan' yang merupakan peningkatan terencana berikutnya.", - "page-upgrades-question-10-answer-6": "Fase 1,5 semula direncanakan setelah implementasi shard, ketika Jaringan Utama akan ditambahkan sebagai shard terakhir ke Rantai Suar. Untuk mempercepat transisi dari penambangan bukti kerja, Jaringan Utama sebaliknya akan merepresentasikan shard pertama yang terhubung dengan Rantai Suar. Ini sekarang dikenal sebagai 'penggabungan' dan akan menjadi langkah penting menuju Ethereum yang lebih ramah lingkungan.", - "page-upgrades-question-10-answer-7": "Sekalipun rencana seputar Fase 2 masih menjadi bagian dari penelitian dan diskusi yang intens, dengan penggabungan yang direncanakan sebelum rantai shard, ini akan memungkinkan penilaian ulang berkelanjutan mengenai kebutuhan pengembangan Ethereum ke depannya. Dengan mempertimbangkan roadmap rollup-centric, keharusan mendesak akan rantai shard masih dalam perdebatan.", + "page-upgrades-question-10-answer-5": "Fase 1 awalnya berfokus pada mengimplementasikan rantai pecahan, tetapi prioritas bergeser ke Penggabungan, yang diluncurkan pada 15 September 2022.", + "page-upgrades-question-10-answer-6": "Fase 1.5 semula direncanakan akan menyusul implementasi pecahan ketika Jaringan Utama akan ditambahkan sebagai shard terakhir ke Rantai Suar. Namun, karena teknologi rollup berkembang pesat, komunitas Ethereum mempercepat transisi dari bukti kerja.", + "page-upgrades-question-10-answer-7": "Rencana seputar Fase 2 telah menjadi titik penelitian dan diskusi yang intens. Dengan Penggabungan sudah di belakang kita, dan kemajuan dalam solusi lapisan ke-2, tujuan telah beralih untuk menyediakan bentuk data pecahan yang lebih sederhana guna memaksimalkan efisiensi rollup. Lapisan ke-2 saat ini memungkinkan kemampuan untuk meningkatkan eksekusi transaksi, dan pecahan akan memungkinkan penyimpanan bukti-bukti untuk data ini di lapisan ke-1 dengan cara yang murah dan dapat ditingkatkan.", "page-upgrades-question-10-answer-8": "Selengkapnya tentang roadmap rollup-centric", "page-upgrades-question-11-title": "Bisakah saya membeli Eth2?", - "page-upgrades-question-11-desc": "Tidak. Tidak ada token Eth2 dan ETH Anda tidak akan berubah setelah penggabungan.", - "page-upgrades-question-11-answer-1": "Salah satu kekuatan pendorong di balik penggantian nama Eth2 adalah kesalahpahaman umum bahwa pemegang ETH harus melakukan migrasi ETH mereka setelah 'Ethereum 2.0'. Hal ini tidak pernah benar. Ini adalah ", - "page-upgrades-question-11-answer-2": "teknik umum yang digunakan penipu.", + "page-upgrades-question-11-desc": "Tidak. Ada token Eth2, dan jumlah ETH Anda tidak berubah setelah Penggabungan.", + "page-upgrades-question-11-answer-1": "Salah satu faktor pendorong di balik rebranding Eth2 adalah kesalahpahaman umum bahwa pemegang ETH diharuskan untuk memindahkan ETH mereka ke 'ETH 2.0' setelah Penggabungan atau pembaruan lainnya. Hal ini tidak benar dan sebenarnya tidak pernah menjadi kewajiban.", + "page-upgrades-question-11-answer-2": " Kerancuan ini sering dimanfaatkan oleh penipu.", "page-upgrades-question-title": "Pertanyaan yang sering diajukan", "page-upgrades-question3-answer-1": "Pemegang ETH tidak perlu melakukan apa pun. ETH Anda tidak perlu diubah ataupun ditingkatkan. Pasti akan ada penipuan yang mengatakan kepada Anda hal sebaliknya, jadi berhati-hatilah.", "page-upgrades-scalable": "Lebih terukur", "page-upgrades-scalable-desc": "Ethereum harus mendukung 1000-an transaksi per detik, agar aplikasi lebih cepat dan murah untuk digunakan.", "page-upgrades-secure": "Lebih aman", "page-upgrades-secure-desc": "Ethereum perlu menjadi lebih aman. Selama adopsi Ethereum bertambah, protokol perlu menjadi lebih aman dari segala macam serangan.", - "page-upgrades-shard-date": "Rantai shard seharusnya diimplementasikan setelah penggabungan, pada suatu waktu di 2023.", - "page-upgrades-shard-desc": "Rantai shard akan memperluas kapasitas Ethereum untuk memproses transaksi dan menyimpan data. Shard sendiri akan mendapatkan tambahan fitur dari waktu ke waktu, diluncurkan dalam beberapa fase.", - "page-upgrades-shard-estimate": "Perkiraan: 2023", - "page-upgrades-shard-lower": "Selengkapnya tentang rantai shard", - "page-upgrades-shard-title": "Rantai shard", + "page-upgrades-shard-date": "Pecahan akan mengikuti Penggabungan dalam beberapa tahap, pada suatu waktu antara 2023-2024.", + "page-upgrades-shard-desc": "Danksharding akan memperluas kapasitas Ethereum untuk menyimpan data, dan akan berfungsi secara harmonis dengan L2 untuk meningkatkan keluaran dan mengurangi biaya jaringan. Danksharding akan diperkenalkan dalam beberapa tahap, dimulai dengan ProtoDanksharding.", + "page-upgrades-shard-estimate": "Perkiraan: 2023-2024", + "page-upgrades-shard-lower": "Lebih lanjut tentang pecahan", + "page-upgrades-shard-title": "Sharding", "page-upgrades-stay-up-to-date": "Tetap ikuti perkembangan", "page-upgrades-stay-up-to-date-desc": "Dapatkan info terbaru dari peneliti dan pengembang yang bekerja pada peningkatan Ethereum.", - "page-upgrades-sustainable-desc": "Ethereum harus menjadi lebih baik untuk lingkungan hidup. Teknologi saat ini masih memerlukan terlalu banyak kekuatan komputasi dan energi.", + "page-upgrades-sustainable-desc": "Ethereum sangat boros energi sampai baru-baru ini. Transisi ke bukti taruhan menghasilkan pengurangan energi jaringan lebih dari 99,9%.", "page-upgrades-take-part": "Turut serta dalam penelitian", "page-upgrades-take-part-desc": "Peneliti dan penggemar Ethereum bertemu di sini untuk membahas upaya penelitian, termasuk semua hal yang terkait dengan peningkatan Ethereum.", "page-upgrades-the-upgrades": "Peningkatan Ethereum", - "page-upgrades-the-upgrades-desc": "Ethereum terdiri dari serangkaian peningkatan yang meningkatkan skalabilitas, keamanan, dan keberlanjutan jaringan. Meskipun masing-masing dikerjakan secara paralel, peningkatan tersebut memiliki dependensi tertentu yang menentukan kapan peningkatan akan disebarkan.", + "page-upgrades-the-upgrades-desc": "Peningkatan pada Ethereum bertujuan untuk meningkatkan skalabilitas, keamanan, dan keberlanjutan jaringan. Baru-baru ini, Ethereum telah mengalami beberapa peningkatan besar dalam hal keamanan dan keberlanjutan, dan masih akan ada lebih banyak peningkatan di masa depan, terutama terkait dengan skalabilitas.", "page-upgrades-unofficial-roadmap": "Ini bukanlah roadmap resmi. Beginilah cara kami melihat apa yang terjadi berdasarkan informasi di luar sana. Tetapi inilah teknologi, segala sesuatu dapat berubah dalam sekejap. Jadi, tolong jangan melihat ini sebagai sebuah komitmen.", "page-upgrades-upgrade-desc": "Ethereum yang kita kenal dan cintai ini, menjadi lebih terukur, lebih aman, dan lebih berkelanjutan...", "page-upgrades-upgrades": "Peningkatan Ethereum", @@ -140,14 +169,15 @@ "page-upgrades-upgrades-beacon-chain": "Rantai Suar", "page-upgrades-upgrades-guide": "Panduan peningkatan Ethereum", "page-upgrades-upgrades-docking": "Penggabungan", + "page-upgrades-energy-consumption": "Lebih lanjut tentang konsumsi energi Ethereum", "page-upgrades-upgrading": "Peningkatan Ethereum ke level baru yang radikal", "page-roadmap-vision": "Visi", "page-roadmap-vision-btn": "Selengkapnya tentang visi Ethereum", "page-roadmap-vision-desc": "Untuk membawa Ethereum ke arus utama dan melayani semua manusia, kita harus membuat Ethereum lebih terukur, aman, dan berkelanjutan.", "page-upgrades-what-happened-to-eth2-title": "Apa yang terjadi dengan 'Eth2?'", - "page-upgrades-what-happened-to-eth2-1": "Istilah 'Eth2' perlahan-lahan dihilangkan sebagai persiapan untuk penggabungan.", + "page-upgrades-what-happened-to-eth2-1": "Sebelum Penggabungan, istilah 'Eth2' sering digunakan, tetapi sekarang digantikan dengan terminologi yang lebih tepat guna.", "page-upgrades-what-happened-to-eth2-1-more": "Selengkapnya tentang penggabungan.", - "page-upgrades-what-happened-to-eth2-2": "Setelah penggabungan 'Eth1' dan 'Eth2' menjadi satu rantai, tidak akan ada lagi perbedaan antara dua Jaringan Ethereum; hanya akan ada Ethereum.", + "page-upgrades-what-happened-to-eth2-2": "Setelah penggabungan antara 'Eth1' dan 'Eth2', tidak lagi terdapat dua rantai blok Ethereum yang berbeda; hanya ada Ethereum satu.", "page-upgrades-what-happened-to-eth2-3": "Untuk mengurangi kebingungan, komunitas telah memperbarui istilah-istilah ini:", "page-upgrades-what-happened-to-eth2-3-1": "'Eth1' sekarang adalah 'lapisan eksekusi', yang menangani transaksi dan eksekusi.", "page-upgrades-what-happened-to-eth2-3-2": "'Eth2' sekarang adalah 'lapisan konsensus', yang menangani konsensus bukti taruhan.", @@ -158,9 +188,9 @@ "page-upgrades-why-cant-we-just-use-eth2-mental-models-description": "Salah satu masalah besar dengan merek Eth2 adalah menciptakan suatu model mental yang buruk bagi para pengguna baru Ethereum. Mereka secara intuitif berpikir bahwa Eth1 ada terlebih dahulu dan Eth2 ada setelahnya. Atau, Eth1 tidak akan ada lagi setelah Eth2 beroperasi. Tak satu pun dari kedua anggapan ini adalah benar. Dengan menghilangkan terminologi Eth2, kita mencegah semua pengguna di masa mendatang berjuang memahami model mental yang membingungkan ini.", "page-upgrades-why-cant-we-just-use-eth2-inclusivity-title": "Inklusivitas", "page-upgrades-why-cant-we-just-use-eth2-inclusivity-description": "Karena peta perjalanan Ethereum telah berkembang, Ethereum 2.0 telah menjadi representasi yang tidak akurat untuk peta perjalanan Ethereum. Dengan berhati-hati dan tepat dalam memilih kata yang kami gunakan, ini memungkinkan konten Ethereum mudah dipahami oleh sebanyak mungkin khalayak umum.", - "page-upgrades-why-cant-we-just-use-eth2-scam-prevention-title": "Pencegahan Penipuan", + "page-upgrades-why-cant-we-just-use-eth2-scam-prevention-title": "Pencegahan penipuan", "page-upgrades-why-cant-we-just-use-eth2-scam-prevention-description": "Sayangnya, para pelaku kejahatan telah berusaha menggunakan nama Eth2 yang tidak tepat untuk menipu pengguna dengan memberi tahu agar menukar ETH mereka dengan token 'ETH2' atau mereka harus melakukan migrasi ETH mereka sebelum peningkatan Eth2. Kami berharap pembaruan terminologi ini akan membawa kejelasan untuk membasmi vektor penipuan ini dan membantu menciptakan ekosistem yang lebih aman.", - "page-upgrades-why-cant-we-just-use-eth2-staking-clarity-title": "Kejelasan Penaruhan", + "page-upgrades-why-cant-we-just-use-eth2-staking-clarity-title": "Kejelasan penaruhan", "page-upgrades-why-cant-we-just-use-eth2-staking-clarity-description": "Beberapa operator penaruhan juga telah mewakili ETH yang ditaruhkan di Rantai Suar dengan telegrap 'ETH2'. Ini berpotensi menciptakan kebingungan, mengingat bahwa para pengguna layanan ini tidak benar-benar menerima token 'ETH2'. Tidak ada token 'ETH2'; itu hanya mewakili bagian mereka dalam taruhan penyedia tertentu.", "page-upgrades-what-to-do": "Apa yang harus Anda lakukan?", "page-upgrades-what-to-do-desc": "Jika Anda pengguna dapp atau pemegang ETH, Anda tidak perlu melakukan apa pun. Jika Anda seorang pengembang atau ingin memulai penaruhan, ada cara untuk segera terlibat hari ini.", diff --git a/src/intl/id/page-upgrades.json b/src/intl/id/page-upgrades.json index 529d9db03ed..b194cc6007b 100644 --- a/src/intl/id/page-upgrades.json +++ b/src/intl/id/page-upgrades.json @@ -1,11 +1,18 @@ { + "page-upgrades-merge-infographic-el": "Status Ethereum: transaksi, aplikasi, kontrak, saldo", + "page-upgrades-merge-infographic-alt-text": "Infografis yang menggambarkan bagaimana Rantai Suar bergabung ke dalam lapisan eksekusi Ethereum selama transisi dari bukti kerja ke bukti taruhan.", "page-upgrades-beacon-date": "Terkirim!", "page-upgrades-merge-date": "September 2022", "page-upgrades-shards-date": "~2023", + "page-upgrades-pbs": "Tidak dalam waktu dekat - diperkirakan tahun 2024/25", + "page-upgrades-post-merge-banner-tutorial-ood": "Tutorial ini sudah kedaluwarsa setelah penggabungan dan mungkin tidak berfungsi. Silakan ajukan PR jika Anda ingin berkontribusi.", + "page-upgrades-post-merge-banner-governance-ood": "Beberapa konten di halaman ini sudah kedaluwarsa setelah penggabungan. Silakan ajukan PR jika Anda ingin berkontribusi.", "page-upgrades-upgrades-guide": "Panduan peningkatan Ethereum", "page-upgrades-upgrades-docking": "Penggabungan", - "page-upgrades-shard-title": "Rantai shard", + "page-upgrades-shard-title": "Sharding", "page-upgrades-upgrades-beacon-chain": "Rantai Suar", + "consensus-beaconscan-title": "beaconscan", + "consensus-beaconscan-in-title": "beaconcha.in", "consensus-beaconcha-in-desc": "Penjelajah Rantai Suar sumber terbuka", "consensus-beaconscan-desc": "Penjelajah Rantai Suar - Etherscan untuk lapisan konsensus", "consensus-become-staker": "Menjadi penaruh", From 7cf58a2221be00901e27203951fd3d8bf03c0c6f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 27 Sep 2023 12:17:04 -0600 Subject: [PATCH 25/55] Korean content buckets (Exploring, Use Ethereum, Use cases) --- .../ko/decentralized-identity/index.md | 3 +- src/content/translations/ko/defi/index.md | 12 +- src/content/translations/ko/desci/index.md | 3 +- src/content/translations/ko/nft/index.md | 335 ++---------------- src/content/translations/ko/refi/index.md | 79 +++++ .../translations/ko/smart-contracts/index.md | 42 +-- src/intl/ko/page-dapps.json | 8 + src/intl/ko/page-developers-index.json | 5 +- .../ko/page-developers-learning-tools.json | 12 +- .../ko/page-developers-local-environment.json | 2 + src/intl/ko/page-languages.json | 7 + src/intl/ko/page-layer-2.json | 35 +- src/intl/ko/template-usecase.json | 2 + 13 files changed, 191 insertions(+), 354 deletions(-) create mode 100644 src/content/translations/ko/refi/index.md diff --git a/src/content/translations/ko/decentralized-identity/index.md b/src/content/translations/ko/decentralized-identity/index.md index bd37b2f756d..923f325a87a 100644 --- a/src/content/translations/ko/decentralized-identity/index.md +++ b/src/content/translations/ko/decentralized-identity/index.md @@ -153,10 +153,11 @@ DID는 블록체인에 저장되기 때문에 누구든지 이더리움에서 ## 분산 신원 증명을 사용하세요 {#use-decentralized-identity} -분산 신원 증명 솔루션을 위한 기반으로 이더리움을 사용하는 야심 찬 프로젝트가 많이 있습니다: +분산 신원 증명 솔루션을 위한 기반으로 이더리움을 사용하는 야심 찬 프로젝트가 많이 있습니다. - **[이더리움 이름 서비스(ENS)](https://ens.domains/)** - _이더리움 지갑 주소, 콘텐츠 해시, 메타데이터 등 온체인 기반 컴퓨터용 식별 정보를 위한 탈중앙화 이름 시스템입니다._ - **[SpruceID](https://www.spruceid.com/)** - _사용자가 제3자 서비스에 의존하지 않고 이더리움 계정과 ENS 프로필을 이용하여 디지털 신원을 직접 관리할 수 있도록 하는 분산 신원 증명 프로젝트입니다._ +- **[EAS(Ethereum Attestation Service)](https://attest.sh/)** - _모든 것에 대한 온체인 또는 오프체인 증명을 만들 수 있는 탈중앙화된 장부/프로토콜입니다._ - **[인간 증명](https://www.proofofhumanity.id)** - _인간 증명(PoH: Proof of Humanity)은 이더리움 기반의 소셜 신원 증명 시스템입니다._ - **[BrightID](https://www.brightid.org/)** - _소셜 그래프를 만들고 분석함으로써 신원 증명을 개혁하고자 하는 탈중앙화된 오픈소스의 소셜 신원 증명 네트워크입니다._ - **[개인 증명 여권](https://proofofpersonhood.com/)** - _탈중앙화 디지털 신원 정보 종합 플랫폼입니다._ diff --git a/src/content/translations/ko/defi/index.md b/src/content/translations/ko/defi/index.md index dd458f579f7..4776c057c43 100644 --- a/src/content/translations/ko/defi/index.md +++ b/src/content/translations/ko/defi/index.md @@ -40,7 +40,7 @@ summaryPoint3: 누구나 프로그래밍할 수 있는 오픈 소스 기술을 | 디파이 | 기존 금융 | | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | 당신이 돈을 소유합니다. | 기업이 당신의 돈을 소유합니다. | -| 당신이 돈이 어디로 송금되고 어떻게 소비되는지 통제합니다. | 위험한 대출자에게 돈을 빌려주는 것과 같이 돈을 잘못 관리하지 않도록 기업을 신뢰해야 합니다. | +| 당신이 돈이 어디로 송금되고 어떻게 소비되는지 통제합니다. | 미상환 위험이 있는 차용자에게 대출 등 기업이 돈을 잘못 관리하지 않으리라고 신뢰해야 합니다. | | 자금 이체가 몇 분 내로 이루어집니다. | 결제는 수동 프로세스로 인해 며칠이 소요될 수 있습니다. | | 트랜잭션 활동이 가명입니다. | 금융 활동은 당신의 신원과 밀접하게 연관되어 있습니다. | | 디파이는 모두에게 열려 있습니다. | 금융 서비스를 이용하려면 신청해야 합니다. | @@ -53,7 +53,7 @@ summaryPoint3: 누구나 프로그래밍할 수 있는 오픈 소스 기술을 ## 그것은 비트코인으로 시작했습니다... {#bitcoin} -여러 면에서 비트코인은 최초의 디파이 애플리케이션이었습니다. 비트코인으로 가치를 소유하고 통제하며 전 세계 어디서든 보낼 수 있습니다. 이것은 서로를 믿지 않는 많은 사람들에게 신뢰할 수 있는 중개자가 없이도 계정 장부에 합의할 수 있도록 방법을 제공하는 것으로 이뤄집니다. 비트코인은 누구에게나 열려 있으며 누구도 규칙을 변경할 권한이 없습니다. 희소성 및 개방성과 같은 비트코인의 규칙은 기술에 포함되어 있습니다. 정부가 저축한 돈의 가치를 낮추는 돈을 인쇄할 수 있고 기업이 시장을 폐쇄할 수 있는 기존 금융과는 다릅니다. +여러 면에서 비트코인은 최초의 디파이 애플리케이션이었습니다. 비트코인으로 가치를 소유하고 통제하며 전 세계 어디서든 보낼 수 있습니다. 이것은 서로를 믿지 않는 많은 사람들에게 신뢰할 수 있는 중개자가 없이도 계정 장부에 합의할 수 있도록 방법을 제공하는 것으로 이뤄집니다. 비트코인은 누구에게나 열려 있으며 누구도 규칙을 변경할 권한이 없습니다. 희소성 및 개방성과 같은 비트코인의 규칙은 기술에 포함되어 있습니다. 정부가 화폐를 찍어내 개인이 저축한 돈의 가치가 낮아지고 기업이 시장을 폐쇄할 수 있는 기존 금융과는 다릅니다. 이더리움은 이를 기반으로 합니다. 비트코인과 마찬가지로 규칙을 변경할 수 없으며 모든 사람이 액세스할 수 있습니다. 그러나 또한 [스마트 계약](/glossary#smart-contract)을 사용하여 이 디지털 화폐를 프로그래밍할 수 있게 함으로써, 가치를 저장하고 보내는 것 이상을 할 수 있습니다. @@ -133,7 +133,7 @@ summaryPoint3: 누구나 프로그래밍할 수 있는 오픈 소스 기술을 오늘날, 돈을 빌려주고 대출하는 것은 모두 관련된 개인들을 중심으로 돌아갑니다. 은행은 돈을 빌려주기 전에 당신이 대출을 상환할 수 있는지 알아야 합니다. -탈중앙화 대출은 어느 당사자도 신원을 확인할 필요 없이 가능합니다. 대신 대출자는 대출금이 상환되지 않을 경우 대출 기관이 자동으로 받을 수 있도록 담보를 내놓아야 합니다. 일부 대출 기관은 NFT를 담보로 받기도 합니다. NFT는 그림과 같은 고유 자산에 대한 증서입니다. [NFT에 대해 더 보기](/nft/) +탈중앙화 대출은 어느 당사자도 신원을 확인할 필요 없이 가능합니다. 대신 차주는 대출이 상환되지 않을 경우 대주에게 자동으로 지급되는 담보를 설정해야 합니다. 일부 대출 기관은 NFT를 담보로 받기도 합니다. NFT는 그림과 같은 고유 자산에 대한 증서입니다. [NFT에 대해 더 보기](/nft/) 이를 통해 신용 확인이나 개인 정보 양도 없이 돈을 빌릴 수 있습니다. @@ -233,7 +233,7 @@ summaryPoint3: 누구나 프로그래밍할 수 있는 오픈 소스 기술을 이더리움에는 선택한 전략에 따라 포트폴리오를 확장하는 펀드 관리 제품이 있습니다. 이것은 자동적이고 모두에게 공개되며, 수익의 일부를 가져가는 인간 관리자가 필요 없습니다. -좋은 예가 [디파이 펄스 인덱스 펀드(DPI)](https://defipulse.com/blog/defi-pulse-index/)입니다. 이 펀드는 포트폴리오에 항상 [시가총액 기준 상위 디파이 토큰](https://www.coingecko.com/en/defi)이 포함되도록 자동으로 재조정합니다. 세부 사항을 관리할 필요가 없으며 원할 때마다 펀드에서 인출할 수 있습니다. +좋은 예가 [디파이 펄스 인덱스 펀드(DPI)](https://defipulse.com/blog/defi-pulse-index/)입니다. 이 펀드는 포트폴리오에 항상 [시가총액 기준 상위 디파이 토큰](https://www.coingecko.com/en/defi)이 포함되도록 자동으로 편입 종목을 재조정합니다. 세부 사항을 관리할 필요가 없으며 원할 때마다 펀드에서 인출할 수 있습니다. 투자 디앱 보기 @@ -274,7 +274,7 @@ summaryPoint3: 누구나 프로그래밍할 수 있는 오픈 소스 기술을 탈중앙화 보험은 보험을 더 싸고, 더 빠르게 돈을 지불할 수 있고, 더 투명하게 하는 것을 목표로 합니다. 더 많은 자동화가 이뤄지면 보험이 더욱 저렴해지고 지불도 훨씬 빨라집니다. 당신의 청구를 결정하는 데 사용되는 데이터는 완전히 투명합니다. -이더리움 제품은 다른 소프트웨어와 마찬가지로 버그와 악용에 시달릴 수 있습니다. 그래서 현재 이 분야의 많은 보험 상품들은 자금 손실로부터 사용자를 보호하는 데 초점을 맞추고 있습니다. 삶이 우리에게 던질 수 있는 모든 것에 대한 보험으로 확장 중인 프로젝트가 몇 가지 있습니다. 이것의 좋은 예는 [케냐의 소규모 농부들을 가뭄과 홍수로부터 보호하는 것](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc)을 목표로 하는 이더리스크의 농작물 보험입니다. 탈중앙화 보험은 종종 일반적인 보험에서 제외되는 농부들에게 더 저렴한 보험을 제공할 수 있습니다. +이더리움 제품은 다른 소프트웨어와 마찬가지로 버그와 악용에 시달릴 수 있습니다. 그래서 현재 이 분야의 많은 보험 상품들은 자금 손실로부터 사용자를 보호하는 데 초점을 맞추고 있습니다. 그러나 살면서 발생할 수 있는 모든 사안으로 보장 범위를 확장하는 프로젝트가 있습니다. 이것의 좋은 예는 [케냐의 소규모 농부들을 가뭄과 홍수로부터 보호하는 것](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc)을 목표로 하는 이더리스크의 농작물 보험입니다. 탈중앙화 보험은 종종 일반적인 보험에서 제외되는 농부들에게 더 저렴한 보험을 제공할 수 있습니다. 보험 디앱 보기 @@ -317,7 +317,7 @@ summaryPoint3: 누구나 프로그래밍할 수 있는 오픈 소스 기술을 1. 블록체인 – 이더리움에 거래 내역과 계정 상태가 들어있습니다. 2. 자산 – [ETH](/eth/) 및 기타 토큰(화폐)입니다. -3. 프로토콜 – 자산의 탈중앙화 대출을 허용하는 서비스와 같은 기능을 제공하는 [스마트 계약](/glossary/#smart-contract)입니다. +3. 프로토콜 – 예를 들어 자산의 탈중앙화 대출을 제공하는 서비스와 같은 기능을 제공하는 [스마트 계약](/glossary/#smart-contract)입니다. 4. [애플리케이션](/dapps/) – 프로토콜을 관리하고 액세스하는 데 사용하는 제품입니다. ## 디파이를 구축하세요 {#build-defi} diff --git a/src/content/translations/ko/desci/index.md b/src/content/translations/ko/desci/index.md index c207b7d75b2..7e318e94182 100644 --- a/src/content/translations/ko/desci/index.md +++ b/src/content/translations/ko/desci/index.md @@ -18,7 +18,7 @@ summaryPoint3: 열린 과학 운동을 기반으로 합니다. DeSci는 과학자들이 그들의 연구를 공개적으로 공유하고 그들의 작업에 대한 공로를 인정받도록 장려하는 동시에 누구나 연구에 쉽게 접근하고 기여할 수 있는 생태계를 만드는 것을 목표로 합니다. DeSci는 과학적 지식은 모든 사람이 접근할 수 있어야 하며 과학 연구 과정은 투명해야 한다는 생각을 바탕으로 합니다. DeSci는 더 탈중앙화 과학 연구 모델을 만들고 있으며, 중앙 당국의 검열과 통제에 더 저항하고 있습니다. DeSci는 자금, 과학 도구 및 통신 채널에 대한 접근을 탈중앙화 시킴으로써 새롭고 틀에 얽매이지 않는 아이디어가 번창할 수 있는 환경을 조성하기를 희망합니다. -탈중앙화 과학은 더 다양한 자금을 허용합니다 ([다오](/dao/), [펀딩 등에 대한 이차 기부](https://papers.ssrn.com/sol3/papers.cfm?Abstract_id=2003531)), 더 접근 가능한 접근 데이터와 방법, 그리고 재현에 대한 보상 제공함으로써. +탈중앙화 과학은 더 다양한 자금을 허용합니다 ([다오](/dao/), [ 펀딩 등에 대한 이차 기부](https://papers.ssrn.com/sol3/papers.cfm?Abstract_id=2003531)), 더 접근 가능한 접근 데이터와 방법, 그리고 재현에 대한 보상 제공함으로써. ### Juan Benet - DeSci 운동 @@ -110,6 +110,7 @@ NFT가 향후 거래에 대한 수익을 원래 작성자에게 다시 전달할 - [능동적 추론 실험실](https://www.activeinference.org/) - [CureDAO: 지역 사회 소유의 정밀 건강 플랫폼.](https://docs.curedao.org/) - [IdeaMarkets: 탈중앙화 과학적 신뢰성을 가능하게 합니다.](https://ideamarket.io/) +- [DeSci Labs](https://www.desci.com/) 우리는 새로운 프로젝트에 대한 제안을 환영합니다 - 시작하려면 [목록 정책](/contributing/adding-desci-projects/)을 보세요! diff --git a/src/content/translations/ko/nft/index.md b/src/content/translations/ko/nft/index.md index 366e2b0766b..4c5d1fb1f9b 100644 --- a/src/content/translations/ko/nft/index.md +++ b/src/content/translations/ko/nft/index.md @@ -12,324 +12,67 @@ summaryPoint2: NFT는 콘텐츠 창작자에게 그 어느 때보다도 더 많 summaryPoint3: 이더리움 블록체인의 스마트 계약을 기반으로 구동됩니다. --- -NFT는 현재 디지털 아트와 디지털 수집품의 세계를 휩쓸고 있습니다. 디지털 아티스트는 새로운 암호화폐 고객층에 의한 엄청난 판매량 덕분에 삶이 바뀌고 있습니다. 그리고 연예인도 팬과 소통할 새로운 기회를 발견하면서 합류하고 있습니다. 그러나 디지털 아트는 NFT를 사용하는 한 가지 방법일 뿐입니다. 실제로 NFT는 디지털 또는 현실 세계 아이템의 증서와 같은 고유 자산에 대한 소유권을 증명하는 데 사용될 수 있습니다. - -앤디 워홀이 90년대 후반에 태어났다면, 아마도 NFT로 캠벨 수프를 발행했을 것입니다. 나이키가 이더리움에 조던을 올리는 것은 시간 문제입니다. 그리고 언젠가 자동차 소유권도 NFT로 증명할 수 있을 것입니다. - ## NFT란 무엇인가요? {#what-are-nfts} -NFT는 고유한 물품의 소유권을 나타내는 데 사용할 수 있는 토큰입니다. NFT를 이용하면 아트, 수집품뿐만 아니라 부동산까지도 토큰화가 가능합니다. 자산의 소유권은 이더리움 블록체인으로 보호되며, 소유권에 대한 기록을 수정하거나 새로운 NFT를 기존의 NFT에 복사하고 붙여 넣을 수 없습니다. +NFT는 개별적으로 고유한 토큰입니다. 각 NFT에는 서로 다른 특성이 있으며(대체 불가능성) 희소성을 입증할 수 있습니다. 한 집합의 모든 토큰이 동일하며 속성이 같은('대체 가능성') ERC-20 같은 토큰과 다릅니다. 종이 지폐는 외양과 가치가 모두 동일하기 때문에 지갑에서 지폐를 꺼낼 때 어떤 달러를 꺼낼지 고민하지 않습니다. 그러나 한 NFT는 다른 NFT와 구별되는 개별 특성을 가지고 있기 때문에('대체 불가능성') 어떤 NFT를 소유하고 있는지가 *중요*합니다. -NFT는 대체 불가 토큰을 의미합니다. 대체 불가능은 본인의 가구, 노래 파일 또는 컴퓨터와 같은 것을 설명할 수 있는 경제적 용어입니다. NFT에는 고유한 속성이 있기 때문에 다른 물품으로 교환할 수 없습니다. - -반면, 대체 가능한 물품은 고유한 특성보다 물품의 가치로 정의되기 때문에 교환할 수 있습니다. 예를 들어, 1 ETH/$1 USD는 다른 1 ETH/$1 USD와 교환할 수 있기 때문에 ETH 또는 달러는 대체 가능합니다. +NFT는 저마다 고유성을 가지기 때문에 미술품, 수집품, 심지어 부동산 같은 사물의 토큰화가 가능합니다. 고유한 특정 NFT가 고유한 특정 실세계 또는 디지털 아이템을 나타내는 것이죠. 자산의 소유권은 이더리움 블록체인으로 보호되며, 소유권에 대한 기록을 수정하거나 새로운 NFT를 기존의 NFT에 복사하고 붙여 넣을 수 없습니다. ## 자산 인터넷 {#internet-of-assets} -NFT와 이더리움은 오늘날 인터넷에 존재하는 몇 가지 문제를 해결합니다. 모든 것이 디지털화됨에 따라 희소성, 고유성, 소유권 증명과 같은 물리적 물품의 특성을 복제할 필요가 있습니다. 디지털 물품은 흔히 제품의 맥락에서만 통한다는 것은 말할 것도 없습니다. 예를 들어, 이미 구입한 iTunes mp3를 재판매할 수 없거나, 한 회사의 로열티 포인트를 다른 플랫폼의 크레딧으로 교환할 수 없습니다. +NFT와 이더리움은 오늘날 인터넷이 직면한 일부 문제를 해결합니다. 모든 것이 디지털화됨에 따라 희소성, 고유성, 소유권 증명과 같은 물리적 물품의 특성을 복제할 필요가 있습니다. 하나의 중앙 조직이 통제하지 않는 방식으로 말이죠. 예를 들어 NFT를 사용하면 한 기업의 특정 음악 앱에 한정되지 않은 mp3 음악 파일을 소유하거나 사용자가 판매 또는 스왑할 수 있지만 플랫폼 제공자가 임의로 빼앗을 수 없는 SNS 핸들을 소유할 수 있습니다. NFT의 인터넷은 오늘날 대부분의 사람들이 사용하는 인터넷과 비교해 보면 다음과 같습니다. ### 비교 {#nft-comparison} -| NFT 인터넷 | 오늘날의 인터넷 | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- | -| NFT는 디지털상으로 고유하며, 두 개의 동일한 NFT는 존재할 수 없습니다. | .mp3 또는 .jpg와 같은 파일의 복사본은 원본과 동일합니다. | -| 모든 NFT에는 소유자가 있어야 하고 이는 공개 기록이며 누구나 쉽게 확인할 수 있습니다. | 디지털 물품의 소유권 기록은 기관이 관리하는 서버에 저장되므로, 기관의 말을 믿어야 합니다. | -| NFT는 이더리움을 사용하여 구축된 모든 것과 호환됩니다. 이벤트를 위한 NFT 티켓은 완전히 다른 NFT에 대해 모든 이더리움 시장에서 거래될 수 있습니다. 예술 작품을 티켓으로 교환할 수 있습니다! | 디지털 물품을 보유한 기업은 자체 인프라를 구축해야 합니다. 예를 들어, 이벤트에 대한 디지털 티켓을 발행하는 앱은 자체 티켓 교환을 구축해야 합니다. | -| 콘텐츠 창작자는 어디에서든 작품을 판매하고 글로벌 시장에 접근할 수 있습니다. | 창작자는 자신이 사용하는 플랫폼의 인프라와 배포에 의존합니다. 여기에는 종종 이용 약관 및 지리적 제약이 따릅니다. | -| 창작자는 자신의 작품에 대한 소유권을 보유할 수 있으며, 재판매 로열티를 직접 청구할 수 있습니다. | 음악 스트리밍 서비스와 같은 플랫폼이 매출 수익의 대부분을 유지합니다. | -| 물품은 놀라운 방법으로 사용될 수 있습니다. 예를 들어, 디지털 작품을 탈중앙화된 대출 담보로 사용할 수 있습니다. | | - -### NFT 예시 {#nft-examples} - -NFT 세계는 비교적 새롭습니다. 이론적으로 NFT의 범위는 입증 가능한 소유권을 필요로 하는 고유한 것입니다. 이해하실 수 있도록 오늘날 존재하는 NFT의 몇 가지 예시를 알려드립니다. - -- [고유 디지털 예술 작품](https://foundation.app/artworks) -- [한정판 패션 라인의 특이한 운동화](https://www.metagrail.co/auctions/91cf83fb-3477-4155-aae8-6dcb9b853397) -- [인게임 아이템](https://market.decentraland.org/) -- [에세이](https://zora.co/0x517bab7661C315C63C6465EEd1b4248e6f7FE183/145) -- [디지털 수집품](https://www.larvalabs.com/cryptopunks/details/1) -- [도메인 이름](https://app.ens.domains/name/ethereum.eth) -- [이벤트에 액세스할 수 있는 티켓이나 쿠폰](https://www.yellowheart.io/) -- [현실 세계의 상품 구입](https://www.tangible.store/) -- [분할 부동산](https://realt.co/) -- [학위 증명서](https://www.degreecert.com/) -- [NFT를 통한 음악 로열티](https://opulous.org/) -- [무브 투 언](https://yeticoineth.com/about.html) -- [디지털 신원 증명](https://photochromic.io/) - -### ethereum.org 예시 {#ethereum-org-examples} - -저희는 NFT를 사용해 기여자에게 보답하고 NFT 도메인 이름도 얻었습니다. - -#### POAP(출석 증명 프로토콜) {#poaps} - -ethereum.org에 기여하셨다면 POAP NFT를 획득할 수 있습니다. 이것은 이벤트에 참가했다는 것을 증명하는 수집품입니다. 일부 암호화폐 모임에서는 POAP를 이벤트에 입장할 수 있는 티켓의 형태로 사용하였습니다. [기여에 대해 자세히 알아보기](/contributing/#poap). - -![ethereum.org POAP](./poap.png) - -#### ethereum.eth {#ethereum-dot-eth} - -이 웹사이트에는 NFT로 작동하는 다른 도메인 이름인 **ethereum.eth**가 있습니다. 저희 `.org` 주소는 도메인 이름 시스템(DNS) 제공자가 중앙에서 관리하지만, ethereum`.eth`는 이더리움 이름 서비스(ENS)를 통해 이더리움에 등록됩니다. 그리고 저희가 소유하고 관리합니다. [ENS 기록을 확인해 보세요.](https://app.ens.domains/name/ethereum.eth) - -[ENS에 대해 자세히 알아보기](https://app.ens.domains) +| NFT 인터넷 | 오늘날의 인터넷 | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| 사용자가 자기 자산을 소유합니다! 사용자만 자산을 팔거나 스왑할 수 있습니다. | 일부 조직으로부터 자산을 대여합니다. | +| NFT는 디지털상으로 고유하며, 두 개의 동일한 NFT는 존재할 수 없습니다. | 원본과 복사본을 구별할 수 없는 경우가 많습니다. | +| NFT 소유권은 블록체인에 저장되며 누구나 이를 검증할 수 있습니다. | 디지털 물품의 소유권 기록은 기관이 관리하는 서버에 저장되므로, 기관의 말을 믿어야 합니다. | +| NFT는 이더리움에 기반한 스마트 계약입니다. 즉, 이더리움의 다른 스마트 계약과 앱에서 간편하게 사용할 수 있습니다! | 디지털 물품을 보유한 회사는 일반적으로 "벽으로 둘러싸인 정원"과 같은 자체 인프라가 필요합니다. | +| 콘텐츠 창작자는 어디에서든 작품을 판매하고 글로벌 시장에 접근할 수 있습니다. | 창작자는 자신이 사용하는 플랫폼의 인프라와 배포에 의존합니다. 여기에는 종종 이용 약관 및 지리적 제약이 따릅니다. | +| NFT 창작자는 자신의 작품에 대한 소유권을 보유할 수 있으며 로열티를 NFT 계약에 직접 프로그래밍할 수 있습니다. | 음악 스트리밍 서비스와 같은 플랫폼이 매출 수익의 대부분을 유지합니다. | ## NFT는 어떻게 작동하나요? {#how-nfts-work} -NFT는 각각의 개별 토큰이 완전히 고유하고 분할할 수 없기 때문에 DAI 또는 LINK와 같은 ERC-20 토큰과는 다릅니다. NFT는 이더리움의 블록체인을 공용 장부로 사용하여 추적할 수 있는 고유한 작품의 디지털 데이터에 대한 소유권을 지정하거나 클레임할 수 있는 기능을 제공합니다. NFT는 디지털 또는 비디지털 자산의 상징으로 디지털 개체에서 발행됩니다. 예를 들어, NFT는 다음 항목을 나타낼 수 있습니다. - -- 디지털 아트: - - GIF 파일 - - 수집품 - - 음악 - - 영상 -- 실제 물품: - - 자동차 증서 - - 실제 이벤트의 티켓 - - 토큰화된 청구서 - - 법률 문서 - - 서명 -- 창의력을 발휘할 수 있는 다양한 옵션! - -NFT의 소유권은 다른 토큰이 복제할 수 없도록 고유 ID와 메타데이터를 통해 관리됩니다. NFT는 소유권을 할당하고 NFT의 양도성을 관리하기 위해 스마트 계약을 통해 발행됩니다. 누군가 NFT를 만들거나 발행할 때 [ERC-721](/developers/docs/standards/tokens/erc-721/) 등과 같이 서로 다른 표준을 준수하는 스마트 계약 내에 저장된 코드를 실행합니다. 이 정보는 NFT가 관리되는 블록체인에 추가됩니다. 발행 프로세스는 높은 단계에서부터 다음과 같은 단계를 거칩니다. - -- 새로운 블록 제작 -- 정보 검증 -- 블록체인에 정보 기록 - -NFT에는 몇 가지 특별한 특성이 있습니다. - -- 발행된 각 토큰에는 하나의 이더리움 주소로 직접 링크되는 고유한 식별자가 있습니다. -- 다른 토큰과 직접 1대1로 교환될 수 없습니다. 예를 들어, 1ETH는 정확히 다른 ETH와 같습니다. NFT의 경우는 다릅니다. -- 각 토큰에는 소유자가 있고 이 정보는 쉽게 확인할 수 있습니다. -- 이는 이더리움에서 상주하며 이더리움 기반 NFT 시장에서 사고 팔 수 있습니다. - -다시 말해, NFT를 *소유*하는 경우: - -- 이를 소유하고 있음을 쉽게 증명할 수 있습니다. - - NFT를 소유하고 있음을 증명하는 것은 계정에 ETH가 있음을 증명하는 것과 매우 유사합니다. - - 예를 들어, NFT를 구매한다고 가정했을 때 고유한 토큰의 소유권은 공개 주소를 통해 지갑으로 전송됩니다. - - 해당 토큰은 디지털 파일의 복사본이 원본인 것을 증명합니다. - - 개인 키는 원본을 소유하고 있음을 증명합니다. - - 콘텐츠 창작자의 공개 키는 해당하는 특정 디지털 인공물에 대한 인증서 역할을 합니다. - - 창작자의 공개 키는 본질적으로 토큰 기록의 영구적인 부분이 됩니다. 창작자의 공개 키는 귀하가 보유한 토큰이 특정 개인에 의해 생성되었음을 증명할 수 있으며, 따라서 토큰의 시장 가치(위조에 비해)에 기여합니다. - - NFT에 대한 소유권을 증명하는 또 다른 방법은 주소 내에 있는 개인 키를 소유하고 있음을 증명하는 메시지에 서명하는 것입니다. - - 상단에 언급했듯이, 개인 키는 원본에 대한 소유권의 증명입니다. 이는 해당 주소 뒤에 있는 개인 키가 NFT를 제어한다는 것을 뜻합니다. - - 서명된 메시지는 개인 키를 아무에게도 공개하지 않고 소유한다는 증거로 사용될 수 있으므로 귀하가 NFT도 소유한다는 것을 증명합니다! -- 아무도 이를 조작할 수 없습니다. -- 귀하는 이를 판매할 수 있으며, 어떤 경우에는 원작자의 재판매 로열티를 벌 수도 있습니다. -- 또는 이더리움에서 자산이 지갑으로 보호된다는 것을 알고 편안하게 쉬면서 영원히 보유할 수도 있습니다. - -NFT를 *만드는* 경우: - -- 제작자라는 사실을 쉽게 증명할 수 있습니다. -- 직접 희소성을 결정합니다. -- 판매될 때마다 로열티를 벌 수 있습니다. -- 어떤 NFT 시장이나 P2P로 판매할 수 있습니다. 어떤 플랫폼에도 얽매이지 않으며 중재할 사람도 필요하지 않습니다. - -### 희소성 {#scarcity} - -NFT의 제작자는 자산의 희소성을 결정할 수 있습니다. - -예를 들어, 스포츠 경기 이벤트의 티켓을 생각해 봅시다. 이벤트 주최자가 판매할 티켓의 수를 선택할 수 있는 것처럼 NFT의 제작자는 복제품의 수를 결정할 수 있습니다. 가끔 이는 5000장의 일반 입장권처럼 동일한 복제품이기도 합니다. 간혹 지정 좌석 티켓처럼 매우 비슷하지만 각각 조금씩 다르게 발행되기도 합니다. 다른 경우에는 제작자가 단 하나의 특별하고 희귀한 수집품으로 발행되는 NFT를 만들고 싶어할 수도 있습니다. +이더리움에서 발행된 다른 토큰과 마찬가지로 NFT도 스마트 계약에 따라 발행됩니다. 스마트 계약은 계약 기능을 정의하는 NFT 표준(예: ERC-721, ERC-1155) 중 하나를 준수합니다. 계약은 NFT를 생성('민팅')하고 특정 소유자에게 이를 할당합니다. 소유권은 특정 NFT를 특정 주소에 매핑하여 계약에 정의됩니다. NFT에는 특정 토큰을 고유하게 만드는 ID와 일반적으로 이와 관련된 메타데이터가 부여됩니다. -이러한 경우, 각 NFT에는 소유자가 한 명뿐인 고유 식별자(일반적인 "티켓"의 바코드처럼)가 적용됩니다. NFT의 의도된 희소성은 중요하며 제작자에게 달려 있습니다. 제작자는 희소성을 창출하기 위해 각 NFT를 완전히 고유하게 만들고자 하거나, 수천 개의 복제본을 생성할 이유가 있을 수 있습니다. 기억하세요, 이 정보는 모두 공개됩니다. - -### 로열티 {#royalties} - -일부 NFT는 판매될 때 제작자에게 자동으로 로열티를 지급합니다. 여전히 발전하고 있는 개념이지만 가장 강력한 것 중 하나입니다. [EulerBeats 오리지널](https://eulerbeats.com/)의 원작 소유자는 NFT가 팔릴 때마다 8% 로열티를 받습니다. [Foundation](https://foundation.app) 및 [Zora](https://zora.co/)와 같은 일부 플랫폼은 아티스트를 위한 로열티를 지원합니다. - -이는 완전히 자동이기 때문에 제작자는 작품이 사용자 간에 판매될 때 가만히 앉아서 로열티를 벌 수 있습니다. 현재 로열티를 계산하는 작업은 매우 수동적이며 정확성이 떨어집니다. 많은 제작자가 마땅히 받아야 할 만큼의 보수를 받지 못하고 있습니다. NFT에 로열티가 프로그래밍되어 있다면 절대 놓치는 일이 없을 겁니다. +사용자가 NFT를 생성(민팅)하면 특정 NFT를 해당 주소에 할당하는 스마트 계약 내 기능이 실제로 실행됩니다. 이 정보는 블록체인의 일부인 계약의 스토리지에 저장됩니다. 계약 생성자는 총 공급량을 제한하거나 토큰을 이체할 때마다 창작자에게 지급되는 로열티를 정의하는 등 계약에 추가 로직을 작성할 수 있습니다. ## NFT는 어디에 사용되나요? {#nft-use-cases} -다음은 이더리움에서 NFT에 대해 더 발전된 사용 사례와 비전의 추가 정보입니다. - -- [디지털 콘텐츠](#nfts-for-creators) -- [게임 아이템](#nft-gaming) -- [도메인 이름](#nft-domains) -- [실제 물품](#nft-physical-items) -- [투자와 담보](#nfts-and-defi) -- [토큰 게이팅](#tokengating) - - - -### 창작자를 위한 수익 극대화 {#nfts-for-creators} - -NFT의 가장 큰 쓰임새는 디지털 콘텐츠 영역에 있습니다. 오늘날 해당 산업은 망가졌기 때문입니다. 콘텐츠 창작자는 플랫폼에 가려진 이익과 수익 잠재력을 예측합니다. - -소셜 네트워크에 작품을 게시하는 아티스트는 아티스트의 팔로워에게 광고를 판매하는 플랫폼을 위한 돈을 벌어들입니다. 아티스트는 그 대가로 주목을 받지만, 주목받는 것만으로는 돈을 벌지 못합니다. - -NFT는 창작자가 콘텐츠의 소유권을 홍보용으로 쓰는 플랫폼으로 넘기지 않는 새로운 창작자 경제에 힘을 실어줍니다. 소유권은 콘텐츠 그 자체에 포함됩니다. - -창작자가 콘텐츠를 판매할 때 자금은 그들에게 직접 이동됩니다. 새로운 소유자가 NFT를 판매하면 원작자가 자동으로 로열티를 받을 수도 있습니다. 창작자의 주소는 수정될 수 없는 토큰의 메타데이터의 한 부분이기 때문에 이는 팔릴 때마다 보증됩니다. - - -
NFT 예술/수집품을 둘러보고, 구매하거나, 제작해보세요.
- - NFT 예술 둘러보기 - -
- -#### 복사/붙여넣기 문제 {#nfts-copy-paste} - -반대자들은 종종 NFT 예술 작품을 캡처한 사진과 함께 NFT가 "바보 같다"는 말을 자주 합니다. "봐, 이제 저 이미지는 내가 공짜로 갖고 있어!"라고 그들은 비웃으며 말합니다. +NFT는 다음과 같이 다양한 항목에 사용됩니다. -음, 그럴 수도 있습니다. 하지만 피카소의 게르니카 이미지를 구글에서 검색한다고 해서 미술사의 수백만 달러짜리 작품의 새 주인이 될 수 있을까요? - -궁극적으로 진품을 소유하는 것은 시장이 만드는 것만큼 가치가 있습니다. 작품의 콘텐츠가 더 많이 화면 캡처 및 공유되고 일반적으로 사용될수록 값은 더욱 올라갑니다. - -검증 가능한 실제 물건을 소유하는 것은 항상 그렇지 않은 것보다 더 가치가 높습니다. - - - -### 게이밍 잠재력 향상 {#nft-gaming} - -NFT는 게임 개발자들의 많은 관심을 받고 있습니다. NFT는 게임 내 아이템에 대한 소유권의 기록을 제공하고, 게임 내 경제를 활성화하며, 플레이어에게 많은 이익을 가져다줄 수 있습니다. - -대다수의 일반적인 게임에서는 게임 내에서 쓸 수 있는 아이템을 구매할 수 있습니다. 하지만 해당 아이템이 NFT라면 게임을 끝마쳤을 때 판매하여 돈을 되찾을 수 있습니다. 그 아이템의 가치가 더욱 상승하면 이익이 생길 수도 있습니다. - -게임 개발자는 NFT의 발행자로서 오픈 마켓플레이스에서 아이템을 되팔 때마다 로열티를 얻을 수 있습니다. 이는 플레이어와 개발자 모두가 중고 NFT 시장에서 수익을 창출할 수 있어 상호적으로 이익이 되는 비즈니스 모델을 만듭니다. - -이는 또한 개발자가 게임을 더 이상 유지 관리하지 않는 경우, 귀하가 수집한 아이템은 본인의 아이템으로 남아 있게 되는 것을 의미합니다. - -궁극적으로 게임 내에서 연마하는 아이템은 게임 자체보다 오래 지속될 수 있습니다. 게임이 더 이상 관리되지 않아도 아이템은 항상 귀하가 제어할 수 있습니다. 이는 게임 내 아이템이 디지털 수집품이 되어 게임 외부에서 가치가 부여됨을 의미합니다. - -가상 현실 게임인 디센트럴랜드는 심지어 귀하가 적합하다고 생각하는 대로 가상의 토지를 대표하는 NFT를 구매할 수 있게 합니다. - - -
NFT로 작동하는 이더리움 게임을 확인해 보세요.
- - NFT 게임 둘러보기 - -
- - +- 행사 참여 증명 +- 강의 완강 인증 +- 소유할 수 있는 게임 아이템 +- 디지털 예술품 +- 실제 세계의 자산을 토큰화 +- 온라인 신원 확인 +- 콘텐츠 액세스 +- 티켓팅 +- 탈중앙 인터넷 도메인 이름 +- 디파이 담보 -### 이더리움 주소를 기억하기 쉽게 만들기 {#nft-domains} +NFT를 사용하여 통제권과 수익을 중개인에게 부여하지 않고 작품을 공유하고자 하는 예술가가 있다고 가정해 보겠습니다. 새로운 계약을 생성하고 NFT의 수, 속성, 특정 작품에 대한 링크를 지정할 수 있습니다. 예술가는 지급받을 로열티를 스마트 계약에 프로그래밍할 수 있습니다(예: NFT 이체가 이루어질 때마다 판매가의 5%를 계약 소유자에게 지급). 또한 계약을 배포한 지갑을 소유하고 있기 때문에 언제든지 본인이 해당 NFT를 만들었음을 증명할 수 있습니다. 구매자는 지갑 주소가 예술가의 스마트 계약에 있는 토큰과 연계되어 있기 때문에 컬렉션 내 진품 NFT의 소유를 간편하게 증명할 수 있습니다. 구매자는 이더리움 생태계 전반에서 이를 사용하고 진품을 확신할 수 있습니다. -이더리움 이름 서비스는 `mywallet.eth` 같이 더 쉽게 기억할 수 있는 이더리움 주소를 제공하기 위해 NFT를 사용합니다. 이는 `0x123456789.....`가 아닌 `mywallet.eth`를 통해 ETH를 보내라고 다른 사람에게 요청할 수 있음을 의미합니다. +또는 스포츠 대회의 티켓을 예로 들어 봅시다. 이벤트 주최자가 판매할 티켓의 수를 선택할 수 있는 것처럼 NFT의 제작자는 복제품의 수를 결정할 수 있습니다. 가끔 이는 5000장의 일반 입장권처럼 동일한 복제품이기도 합니다. 간혹 지정 좌석 티켓처럼 매우 비슷하지만 각각 조금씩 다르게 발행되기도 합니다. 이는 매표원에게 따로 돈을 내지 않고 P2P로 사고 팔 수 있으며 구매자는 항상 계약 주소를 확인하여 티켓의 진위성을 확신합니다. -이것은 IP 주소를 더 기억하기 쉽게 만드는 웹 사이트 도메인 이름과 비슷한 방식으로 작동합니다. 도메인과 같이 ENS 이름은 길이와 관련성을 기준으로 값을 가집니다. ENS가 있으면 소유권의 양도를 가능하게 하는 도메인 등록이 필요하지 않습니다. 대신 NFT 시장에서 ENS 이름을 교환할 수 있습니다. +ethereum.org에서 NFT는 공식 Github 리포지토리에 기여했거나 모임에 참석했음을 증명하는 데 사용되며 이더리움에는 자체 NFT 도메인 이름이 있습니다. ethereum.org에 기여하셨다면 POAP NFT를 획득할 수 있습니다. 일부 암호화폐 밋업에서는 POAP를 입장권으로 사용하였습니다. [기여에 대해 자세히 알아보기](/contributing/#poap). -ENS 이름으로 가능한 작업: - -- 암호 화폐 및 다른 NFT를 받을 수 있습니다. -- [ethereum.eth](https://ethereum.eth.link) 등 탈중앙화된 웹 사이트로 연결할 수 있습니다. [웹 사이트 탈중앙화에 대해 자세히 알아보기](https://docs.ipfs.io/how-to/websites-on-ipfs/link-a-domain/#domain-name-service-dns) -- 이메일 주소 및 트위터 사용자 이름과 같은 프로필 정보를 포함하여 어떠한 자의적인 정보도 저장할 수 있습니다. - - - -### 실제 물품 {#nft-physical-items} - -실제 물품의 토큰화는 아직 디지털 물품만큼 발전되지 않았습니다. 그러나 부동산, 한정판 패션 아이템 등의 토큰화를 탐구하는 다양한 프로젝트가 있습니다. - -NFT는 본질적으로 증서이기 때문에 언젠가는 ETH를 사용하여 차나 집을 구입하고 그 대가로 증서를 NFT로 받을 수 있습니다(동일한 거래에서). 첨단 기술이 발전함에 따라, 이더리움 지갑이 차나 집의 열쇠가 되고, 현관문이 암호화된 소유권 증명에 의해 잠금 해제되는 세상을 상상하는 것은 어렵지 않습니다. - -이더리움에서 대표되는 자동차 및 부동산과 같은 귀중한 자산을 사용하여 탈중앙화된 대출을 받을 때 NFT를 담보로 사용할 수 있습니다. 현금이나 암호화폐 부자는 아니지만 가치 있는 실물을 소유하고 있는 경우엔 특히 유용합니다. [DeFi에 대해 자세히 알아보기](/defi/) - - - -### NFT와 DeFi {#nfts-and-defi} - -NFT 세계와 [탈중앙화 금융(DeFi)](/defi/) 세계는 다양한 흥미로운 방식으로 협업합니다. - -#### NFT 담보 대출 {#nft-backed-loans} - -담보를 사용하여 돈을 대출할 수 있게 하는 DeFi 애플리케이션이 있습니다. 예를 들어, 10 ETH를 담보로 제공하면 5000 DAI([스테이블 코인](/stablecoins/))를 대출할 수 있습니다. 이는 빌려준 사람이 돈을 돌려받을 수 있게 보장합니다. 대출자가 DAI를 상환하지 않을 경우, 빌려준 사람에게 담보물이 전달됩니다. 하지만 모든 사람이 담보로 사용할 정도의 암호화폐를 소유하고 있지는 않습니다. - -대신 프로젝트에서는 NFT를 담보로 사용하는 것을 연구하기 시작했습니다. 과거에 희귀한 CryptoPunk NFT를 구매했다고 가정해 보겠습니다. 오늘날 가격으로는 수천 달러에 팔릴 수 있습니다. 이를 담보로 내세우면 동일한 규칙으로 대출에 액세스할 수 있습니다. DAI로 돈을 상환하지 않는 경우, 귀하의 CryptoPunk가 빌려준 사람에게 담보물로 전달됩니다. 결국 이는 NFT로 토큰화하는 모든 것에 적용될 수 있습니다. - -두 세계(NFT와 디파이) 모두 같은 인프라를 공유하기 때문에 이더리움에서는 어렵지 않습니다. - -#### 분할 소유권 {#fractional-ownership} - -NFT 제작자는 자신의 NFT에 대한 "지분"을 만들 수도 있습니다. 이는 투자자와 팬들에게 전체를 구매하지 않고 NFT의 일부를 소유할 수 있는 기회를 제공합니다. NFT 발행자 및 수집가와 같은 사람들에게도 더 많은 기회를 제공합니다. - -- 분할된 NFT는 [NFT 시장](/dapps?category=collectibles)뿐만 아니라 Uniswap과 같은 [탈중앙화 거래소](/defi/#dex)에서도 거래가 가능합니다. 이는 구매자와 판매자가 더 늘어난다는 것을 의미합니다. -- NFT의 전체 가격은 그 부분의 가격으로 정의될 수 있습니다. -- 아끼는 물품을 소유하고 이익을 창출할 기회를 가지게 되는 셈입니다. NFT를 소유함으로써 가격을 책정하는 것은 더욱 어렵습니다. - -아직 실험 단계지만 분할 NFT 소유권에 대해서는 다음과 같은 거래소에서 자세히 알아볼 수 있습니다. - -- [NIFTEX](https://landing.niftex.com/) -- [NFTX](https://gallery.nftx.org/) - -이론상, 이는 피카소의 작품을 소유하는 것과 같이 다양한 일을 할 수 있는 가능성을 열어줍니다. 귀하는 피카소 NFT의 주주가 될 수 있습니다. 즉, 수익 공유와 같은 것에 대한 발언권이 있다는 것을 뜻합니다. 언젠가 NFT의 일부를 소유하게 되면 해당 자산을 관리하기 위한 탈중앙화 자율 조직(DAO)에 가입하게 될 가능성이 매우 높습니다. - -이는 자산의 전반적인 주주와 같은 낯선 사람이 다른 사람을 신뢰할 필요 없이 안전하게 조정할 수 있게 하는 이더리움 기반 조직입니다. 집단 승인 없이는 단 한 푼도 사용할 수 없기 때문입니다. - -이미 언급한 바와 같이, 이는 최근에 생긴 공간입니다. NFT, DAO, 분할화된 토큰은 모두 다른 속도로 발전하고 있습니다. 하지만 모든 인프라가 존재하고 쉽게 협업할 수 있는 것은 모두 '이더리움'이라는 동일한 언어를 사용하기 때문입니다. 계속 지켜봐 주십시오. - -[DAO에 대해 자세히 알아보기](/dao/) - -### 진위 증명서 {#certificates} - -위조 대학 학위 증명서를 제공하는 기업들은 NFT가 퇴치를 도울 수 있는 10억 달러 규모의 산업이라고 합니다. NFT는 누군가의 학위 증명서를 확인하는 안전하고 빠른 방법이 될 수 있습니다. - -NFT가 행정 서비스에 대한 접근을 개선하고 학위 위조나 변형을 방지할 수 있길 기대하며, [한국에서는 이미 한 대학에서 NFT로 학위 증명서를 발급하고 있습니다](https://forkast.news/headlines/south-korea-nfts-graduates-hoseo/). [아일랜드의 트리니티 비즈니스 스쿨(TBS)도 2023년부터 NFT를 제공할 계획입니다](https://trinitynews.ie/2022/04/business-school-to-offer-degree-nfts/). - - - -### 토큰 게이팅 {#tokengating} - -토큰 게이팅은 무언가에 대한 액세스를 제한하고, NFT를 액세스 잠금 해제 방법으로 사용하는 것을 의미합니다. 플랫폼에 따라 크게 다를 수 있지만 인기 있는 예로는 게이팅된 콘텐츠, 개인 채팅 서버 및 전자 상거래 세계의 독점 제품이 있습니다. - -토큰 게이팅을 실행하는 플랫폼은 필요한 NFT를 귀하가 소유하고 있는지 확인하기 위해 일반적으로 지갑 연결을 요청합니다. 필요한 NFT를 가지고 있다면, 액세스 권한을 받습니다. 가지고 있지 않다면 게이팅된 상태가 유지됩니다. 이러한 방법에 있어서 NFT는 그 고유성 때문에 매우 좋은 수단인데, NFT의 소유권은 조작될 수 없기 때문입니다. - -NFT는 이더리움에 등록되어 있기 때문에 이더리움 토큰 게이팅을 구현한 모든 플랫폼에서 잠금 해제에 사용될 수 있습니다. 소유한 NFT 하나로 게이팅된 컨텐츠, 개인 채팅 서버, 완전히 다른 웹사이트나 애플리케이션의 독점적 제품에도 접근할 수 있습니다. - -NFT 발행 및 배포가 커뮤니티 생성 또는 커뮤니티 디지털화에 관한 것이라면 토큰 게이팅은 커뮤니티 육성에 관한 것입니다. NFT는 멤버십 또는 충성도를 위한 도구로 더 많이 사용되며 그에 따른 보상을 안정적으로 제공할 수 있는 좋은 방법입니다. +![ethereum.org POAP](./poap.png) -#### 예시 +이 웹사이트에는 NFT로 작동하는 다른 도메인 네임인 **ethereum.eth**도 있습니다. 저희 `.org` 주소는 도메인 이름 시스템(DNS) 제공자가 중앙에서 관리하지만, ethereum`.eth`는 이더리움 이름 서비스(ENS)를 통해 이더리움에 등록됩니다. 이는 저희가 소유하고 관리합니다. [ENS 기록 확인하기](https://app.ens.domains/name/ethereum.eth) -- [Collab.land](https://collab.land/)는 Discord 채팅 서버 또는 Telegram 그룹에 대한 토큰 게이팅을 수행합니다 -- [잠금 해제 프로토콜](https://unlock-protocol.com/)은 토큰 게이팅의 프로토콜입니다 -- [Shopify](https://help.shopify.com/en/manual/products/digital-service-product/nfts)에서는 판매자가 제품 및 할인에 대한 액세스를 토큰 게이팅할 수 있는 앱 목록이 늘어나고 있습니다. +[ENS에 대해 자세히 알아보기](https://app.ens.domains) -## 이더리움과 NFT {#ethereum-and-nfts} - -이더리움은 다음과 같은 이유로 NFT가 작동하게 만들 수 있습니다. - -- 거래 기록과 토큰 메타데이터는 공개적으로 확인 가능합니다. 간단하게 소유권 기록을 증명할 수 있습니다. -- 거래가 확인되면 그 데이터를 조작하여 소유권을 "훔치는" 것은 거의 불가능합니다. -- NFT를 거래하는 작업은 수수료로 큰 금액을 부과하는 플랫폼을 필요로 하지 않고 P2P로 실행할 수 있습니다. -- 모든 이더리움 제품은 동일한 "백엔드"를 공유합니다. 즉, 모든 이더리움 제품은 서로 쉽게 이해할 수 있습니다. 이를 통해 NFT는 제품 간에 이동이 가능합니다. 한 제품에 있는 NFT를 구매하여 다른 제품으로 쉽게 판매할 수 있습니다. 창작자는 NFT를 여러 제품에 동시에 나열할 수 있으며, 모든 제품에는 최신 소유권 정보가 적용됩니다. -- 이더리움은 절대 다운되지 않습니다. 즉, 언제든지 토큰을 판매할 수 있습니다. - -## NFT가 환경에 미치는 영향 {#environmental-impact-nfts} - -NFT를 생성하고 전송하는 것은 이더리움 트랜잭션입니다. 발행, 구매, 교환 또는 NFT와 상호작용하는 것에는 에너지가 소모되지 않습니다. [병합](/roadmap/merge) 후, 이더리움은 낮은 에너지의 블록체인으로 NFT를 사용할 경우 환경에 미치는 영향은 무시할 수 있습니다. - -[이더리움의 에너지 소비량에 대해 더 알아보기](/energy-consumption/). - -### NFT를 탓하지 마세요 {#nft-qualities} - -NFT 생태계가 작동하는 이유는 이더리움이 탈중앙화되었고 안전하기 때문입니다. - -탈중앙화되었다는 것은 귀하와 다른 모든 사람이 귀하가 무언가를 소유하고 있다는 것을 증명할 수 있다는 뜻입니다. 마음대로 자신의 규칙을 강요할 수 있는 제삼자를 신뢰하거나 권한을 부여하지 않고 모든 것이 가능합니다. 또한 소유하고 있는 NFT를 다양한 제품과 시장으로 이동하는 것도 가능합니다. - -안전하다는 것은 아무도 NFT를 복사하고 붙여 넣거나 훔칠 수 없다는 뜻입니다. - -이더리움의 이러한 특성은 디지털 방식으로 고유한 물품을 소유하고 콘텐츠에 대해 공정한 값을 받을 수 있게 합니다. 이더리움은 ['지분 증명'](/developers/docs/consensus-mechanisms/pos)을 포함한 탈중앙화 합의 메커니즘을 이용하여 자산을 보호합니다. 지분 증명은 트랜잭션 블록을 체인에 추가할 수 있는 주체를 결정하는 탄소 배출이 적은 방식이며, 에너지를 많이 소모하는 다른 방식인 ['작업 증명'](/developers/docs/consensus-mechanisms/pow)보다 더 안전하다고 평가받습니다. 이더리움은 작업 증명을 사용하여 보호되었기 때문에 NFT는 높은 에너지 소비량과 관련되곤 했습니다. 하지만 더 이상은 아닙니다. - -#### NFT 발행 {#minting-nfts} - -NFT를 발행할 때 필요한 몇 가지가 있습니다. - -- 블록체인의 자산인지 확인이 필요합니다. -- 소유자의 계정 잔액은 해당 자산을 포함하도록 업데이트되어야 합니다. 이렇게 하면 이를 거래하거나 검증할 수 있는 "소유권"을 가질 수 있습니다. -- 위의 내용을 확인하는 트랜잭션은 블록에 추가되고 체인에서 "영구화"되어야 합니다. -- 블록은 네트워크에 있는 모든 사람이 "올바르다"고 확인해야 합니다. 이러한 합의를 통해 네트워크는 해당 NFT가 존재하고 본인의 소유라는 사실에 동의하기 때문에 중개자가 더 이상 필요하지 않게 됩니다. 또한 체인 상에 있기 때문에 누구나 확인할 수 있습니다. 이는 이더리움이 NFT 창작자의 수익을 극대화할 수 있게 돕는 방법 중 하나입니다. - -해당하는 모든 작업은 블록 생산자 및 검증자가 완료합니다. 블록 제출자는 NFT 트랜잭션을 블록에 추가하고 나머지 네트워크 전체에 알립니다. 검증자는 트랜잭션이 유효한지 확인한 후 데이터베이스에 추가합니다. 이 시스템에서는 검증자가 정직하게 행동해야 할 많은 암호화폐 경제적 동기가 부여됩니다. 그렇지 않으면 한 사용자가 발행한 NFT에 대한 소유권을 누구나 주장할 수 있으며 부정한 방법으로 소유권을 이전할 수 있습니다. - -#### NFT 보안 {#nft-security} +### NFT 보안 {#nft-security} 이더리움의 보안은 지분 증명 시스템에 기반합니다. 이 시스템은 악의적인 행동의 경제적 이익을 제거하여 이더리움이 변조로부터 안전하도록 설계되었습니다. 덕분에 NFT가 존재할 수 있습니다. 사용자의 NFT 트랜잭션을 포함하는 블록이 최종 승인되면 공격자는 수백만 ETH를 사용해야 바꿀 수 있습니다. 이더리움 소프트웨어를 실행하는 누구든지 NFT에 대한 부정 변조를 즉시 감지할 수 있으며, 악의적인 사용자는 경제적인 불이익을 받고 방출될 수 있습니다. @@ -339,17 +82,13 @@ NFT와 관련된 보안 문제는 대부분 피싱 사기, 스마트 계약 취 보안에 대한 추가 정보
-## NFT 개발하기 {#build-with-nfts} - -대부분의 NFT는 [ERC-721](/developers/docs/standards/tokens/erc-721/)이라는 일관된 표준을 사용하여 개발됩니다. 하지만 알아보면 도움이 될 수 있는 다른 표준도 있습니다. [ERC-1155](/developers/docs/standards/tokens/erc-1155/) 표준을 사용하여 특히 게임 분야에서 유용한 준대체 가능 토큰을 구현할 수 있습니다. 그리고 최근에는 보다 효율적인 NFT 발행이 가능한 [EIP-2309](https://eips.ethereum.org/EIPS/eip-2309)가 등장했습니다. 이러한 표준을 사용하면 단 한 번의 트랜잭션으로 NFT를 원하는 만큼 발행할 수 있습니다. +## 부록 {#further-reading} -## 더 읽을거리 {#further-reading} - -- [암호화 예술 데이터](https://cryptoart.io/data) – 리처드 첸, 자동으로 업데이트됨 -- [OpenSea: NFT 성경](https://opensea.io/blog/guides/non-fungible-tokens/) – _데빈 피즈너, 2020년 1월 10일_ - [NFT 입문자 가이드](https://linda.mirror.xyz/df649d61efb92c910464a4e74ae213c4cab150b9cbcc4b7fb6090fc77881a95d) – _린다 시에, 2020년 1월_ -- [메타버스에 대해 알아야 하는 모든 것](https://foundation.app/blog/enter-the-metaverse) – _재단 팀, foundation.app_ -- [절대로, 암호 예술 아티스트는 지구를 해치지 않는다](https://medium.com/superrare/no-cryptoartists-arent-harming-the-planet-43182f72fc61) -- [이더리움 에너지 소비](/energy-consumption/) +- [EtherscanNFT 트래커](https://etherscan.io/nft-top-contracts) +- [ERC-721 토큰 표준](/developers/docs/standards/tokens/erc-721/) +- [ERC-1155 토큰 표준](/developers/docs/standards/tokens/erc-1155/) + + diff --git a/src/content/translations/ko/refi/index.md b/src/content/translations/ko/refi/index.md new file mode 100644 index 00000000000..eae7ae50e6b --- /dev/null +++ b/src/content/translations/ko/refi/index.md @@ -0,0 +1,79 @@ +--- +title: 재생금융(ReFi) +description: 리파이의 개요와 현재 사용 사례. +lang: ko +template: use-cases +emoji: ":recycle:" +sidebarDepth: 2 +image: ../../../../assets/future_transparent.png +alt: "" +summaryPoint1: 재생 원칙 위에 기반한 대안 경제 시스템 +summaryPoint2: 이더리움을 활용하여 기후 변화와 같은 범세계적인 공동 위기를 해결하기 위한 시도 +summaryPoint3: 검증된 탄소 배출권과 같은 생태계 효익 자산을 대폭 확장하는 도구 +--- + +## 리파이란 무엇인가요? {#what-is-refi} + +**리파이(재생금융, ReFi)**는 자원을 추출하거나 착취하는 대신 재생시키는 경제를 창출하는 것을 목표로 하는 블록체인 기반 도구 및 아이디어의 집합체입니다. 추출 시스템은 종국에 가용 자원을 고갈시키고 붕괴합니다. 재생 메커니즘이 없으면 시스템은 회복력이 떨어집니다. 리파이는 금전적 가치를 창출하기 위해 지구와 지역사회로부터 지속 불가능한 자원 추출을 계속해서는 안 된다는 가정하에 운영됩니다. + +대신 리파이는 재생 주기를 형성하여 환경, 지역사회 또는 사회적 문제를 해결하고자 합니다. 이러한 시스템은 참여자들에게 가치를 가져다주는 동시에 생태계와 지역사회를 이롭게 합니다. + +리파이의 기초 중 하나는 [Capital Institute](https://capitalinstitute.org)의 존 플러튼이 개척한 재생경제학의 개념입니다. 플러튼은 시스템 건전성의 기초이자 상호연결된 8가지 원칙을 제시했습니다. + +![여덟 가지 상호연결 원칙](../../assets/use-cases/refi-regenerative-economy-diagram.png) + +리파이는 [스마트 계약](/developers/docs/smart-contracts/)과 [탈중앙 금융(디파이, DeFi)](/defi/) 애플리케이션으로 이러한 원칙을 실현하여 저하된 생태계의 복원과 같은 재생 행동에 인센티브를 지급하고 기후 변화 및 생물다양성 유실과 같은 글로벌 문제에 대해 대규모 협업을 촉진합니다. + +또한 리파이는 과학적 지식의 자금 조달, 창출, 심사, 공적 부여, 저장, 확산을 위해 이더리움을 플랫폼으로 사용하는 [탈중앙 과학(디사이, 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(디지털 탄소시장)**으로 전환하는 것은 탄소 크레딧의 검증, 거래, 사용을 위한 기존 기술을 업그레이드할 수 있는 기회일 수 있습니다. 블록체인을 이용하면 데이터를 공개적으로 검증할 수 있으며 다양한 사용자에 대한 액세스와 풍부한 유동성을 활용할 수 있습니다. + +리파이 프로젝트는 블록체인 기술을 활용하여 전통적인 시장의 수많은 문제를 완화합니다. + +- 누구나 자유롭게 거래할 수 있는 **소량의 유동성 풀로 유동성이 집중됩니다**. 개인 사용자는 물론 대형 조직도 판매자/구매자를 직접 찾는 수고나 참가비, 사전 등록 없이 이러한 풀을 이용할 수 있습니다. +- **모든 거래는 공개 블록체인에 기록됩니다**. 거래 활동에 따른 탄소 크레딧의 이전은 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/) 및 [골드 스탠다드(Gold Standard)](https://www.goldstandard.org/) 같은 인증기관은 탄소 크레딧을 생성하는 프로젝트를 신뢰할 수 있는지 확인합니다. 또한 인증기관은 디지털 탄소 크레딧을 생성, 양도, 사용(소각)할 수 있는 데이터베이스도 운영합니다. + +이 분야에서는 기존 사업자들과 경쟁하기 위해 블록체인을 기반으로 설립된 프로젝트들이 혁신을 일으키는 새로운 물결이 일어나고 있습니다. + +2. 탄소 브릿지, 일명 토크나이저는 전통적인 인증기관의 탄소 크레딧을 나타내거나 DCM으로 전송하는 기술을 제공합니다. 대표적인 예로 [Toucan Protocol](https://toucan.earth/), [C3](https://c3.app/) 및 [Moss.Earth](https://moss.earth/)가 있습니다. +3. 통합 서비스는 최종 사용자에게 탄소 회피 및/또는 제거 크레딧을 제공하여 이들이 크레딧의 환경적 효용을 주장하고 기후 대응에 대한 자신의 지원을 전 세계에 알릴 수 있습니다. + +[Klima Infinity](https://www.klimadao.finance/infinity) 및 [Senken](https://senken.io/) 같은 일부 서비스는 제3자가 개발하고 베라(Verra) 같은 유명 탄소감축표준 기관이 발행한 다양한 프로젝트를 제공하며, [Nori](https://nori.com/) 등의 기타 서비스는 자체 탄소 크레딧 표준에 따라 개발된 특정 프로젝트만 제공합니다. 후자는 탄소 크레딧을 자체 발행하고 이를 위해 자체 전용 마켓플레이스를 운영합니다. + +4. 탄소 시장 전체 공급망의 영향과 효율성을 확장하는 기반 레일과 인프라를 들 수 있습니다. [KlimaDAO](http://klimadao.finance/)는 공공재로서 유동성을 공급하고(이에 따라 누구나 투명한 가격에 탄소 크레딧을 매매할 수 있음), 인센티브로 탄소 시장의 거래와 소각을 늘리며 다양한 토큰화 탄소 크레딧을 획득하고 소각할 수 있을 뿐만 아니라 관련 데이터에 액세스할 수 있는 사용자 친화적인 상호 운용 툴을 제공합니다. + +## 탄소 시장 너머의 리파이 {#refi-beyond} + +현재 일반적으로 탄소 시장이 주목받으며 특히 이 분야에서 VCM이 DCM으로 전환하고 있지만 "리파이"는 엄밀히 말해 탄소에만 국한되지 않습니다. 탄소 크레딧을 넘어선 다른 환경 자산이 개발 및 토큰화될 수 있습니다. 즉, 다른 부정적인 외부효과도 미래 경제 시스템의 기본 레이어 내에 가격 영향력을 가질 수 있습니다. 또한 이러한 경제 모델의 재생적인 측면은 [깃코인](https://gitcoin.co/)과 같은 제곱 펀딩(quadratic funding) 플랫폼을 통한 공공재 펀딩 등 타 영역에 적용될 수 있습니다. 문턱 없는 참여와 공평한 자원 분배에 기반한 조직은 누구든지 교육, 환경 및 지역사회 기반 프로젝트뿐만 아니라 오픈소스 소프트웨어 프로젝트에 투자할 수 있게 지원합니다. + +추출적 관행에서 재생적 흐름으로 자본의 방향을 바꿈으로써 사회, 환경 또는 공공 편익을 제공하며 전통적인 금융에서는 펀딩에 실패했을 수 있는 프로젝트와 기업이 훨씬 빠르고 수월하게 활동을 시작하고 사회를 위해 긍정적인 외부효과를 창출할 수 있습니다. 이러한 펀딩 모델로 전환하면 모든 계층의 사람들이 단순히 수동적인 관찰자에 머무는 대신 활발한 참여자가 되는 훨씬 포용적인 경제 시스템이 구현될 수 있습니다. 리파이는 새로운 경제 패러다임의 기본 계층으로서 인간과 지구상의 모든 생명체가 직면한 실존적 도전에 대한 대응을 조정하는 메커니즘이라는 이더리움의 비전을 실현하여 향후 수 세기 동안 더 포괄적이고 지속 가능한 미래를 가능하게 합니다. + +## 리파이 더 읽을거리 + +- [탄소 화폐의 개요와 경제적 지위](https://www.klimadao.finance/blog/the-vision-of-a-carbon-currency) +- [The Ministry for the Future: 기후 변화에 대응하는 탄소 기반 화폐의 역할을 묘사한 소설](https://en.wikipedia.org/wiki/The_Ministry_for_the_Future) +- [자발적 탄소 시장의 확장을 위한 테스크포스 상세 보고서](https://www.iif.com/Portals/1/Files/TSVCM_Report.pdf) +- [리파이에 대한 Kevin Owocki 및 Evan Miyazono의 코인마켓캡 용어집 항목](https://coinmarketcap.com/alexandria/glossary/regenerative-finance-refi) diff --git a/src/content/translations/ko/smart-contracts/index.md b/src/content/translations/ko/smart-contracts/index.md index d2d82fe6ec5..510ea5a8c35 100644 --- a/src/content/translations/ko/smart-contracts/index.md +++ b/src/content/translations/ko/smart-contracts/index.md @@ -6,19 +6,13 @@ lang: ko # 스마트 계약에 대한 소개 {#introduction-to-smart-contracts} -스마트 계약은 [이더리움 애플리케이션](/dapps/)의 기초적인 빌딩 블록입니다. 이는 블록체인에 저장된 프로그램이며, 기존의 전통적 계약서를 병렬화된 디지털 양식으로 변환할 수 있습니다. 스마트 계약은 매우 논리적이며, 적용할 수 있는 구조가 있을 때 해당 구조를 따릅니다. 이는 프로그래밍된 대로 정확하게 작동하며, 변경할 수 없음을 의미합니다. +스마트 계약은 이더리움 애플리케이션 레이어의 기본 구성요소입니다. 블록체인에 저장된 컴퓨터 프로그램인 스마트 계약은 "만약에 이러하면 그러하다"의 논리를 따르며 코드가 정의한 규칙을 준수하는 실행이 보장됩니다. 스마트 계약의 코드는 일단 생성되면 변경될 수 없습니다. -Nick Szabo는 "스마트 계약"이라는 용어를 만들었습니다. 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)했습니다. +닉 재보(Nick Szabo)는 "스마트 계약"이라는 용어를 만들었습니다. 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)했습니다. -Nick Szabo는 이러한 자동 암호화 보안 절차를 기반으로 구축된 디지털 시장을 구상했습나다. 이는 거래 및 비즈니스 기능이 신뢰해야 하는 중개자 없이 실행될 수 있는 장소입니다. 이더리움의 스마트 계약은 이러한 비전을 실행에 옮겼습니다. +재보는 자동 암호화 보안 프로세스로 신뢰할 수 있는 중개인 없이 트랜잭션과 비즈니스 기능을 구현하는 디지털 마켓플레이스를 구상했습니다. 이더리움의 스마트 계약은 이러한 비전을 실행에 옮겼습니다. -## 계약이란 무엇일까요? {#what-are-contracts} - -아마도 다음과 같은 생각이 앞설 것입니다. *"나는 변호사도 아닌데, 내가 왜 계약에 대해 신경을 써야 하지?"* 대부분의 사람에게 계약은 불필요하게 긴 약관 및 조건이나 지루한 법적 문서를 떠올리게 합니다. - -계약은 간단한 동의일 뿐입니다. 즉, 어떤 형태의 동의도 계약의 조건 내에 압축될 수 있습니다. 구두 계약이나 서면 계약은 많은 경우에 허용되지만, 결함이 없지는 않습니다. - -### 신뢰와 계약 {#trust-and-contracts} +### 전통적인 계약의 신뢰 {#trust-and-contracts} 전통적인 계약의 가장 큰 문제 중 하나는 신뢰할 수 있는 개인이 계약의 결과를 따라야 한다는 것입니다. @@ -28,47 +22,43 @@ Nick Szabo는 이러한 자동 암호화 보안 절차를 기반으로 구축된 이 간단한 예제는 스마트하지 않은 계약의 문제를 보여줍니다. 계약 조건이 충족되더라도(예: 귀하가 경주의 승자가 됨) 여전히 다른 상대방이 해당 계약을 이행할 것으로 신뢰해야 합니다(예: 내기에 대한 지급). -## 스마트 계약 {#smart-contracts} - -스마트 계약은 계약 조건이 충족될 때 자동으로 실행되는 컴퓨터 코드로 계약 조건을 변환하여 계약을 디지털화합니다. - ### 디지털 자판기 {#vending-machine} 스마트 계약에 대한 간단한 비유는 스마트 계약과 다소 유사하게 작동하는 자동 판매기가 될 수 있겠습니다. 즉, 특정 입력은 미리 결정된 출력을 보장합니다. - 직접 제품을 선택합니다. -- 자판기는 상품 구매에 필요한 금액을 표시합니다. -- 정확한 금액을 삽입합니다. -- 자판기는 올바른 금액을 넣었는지 확인합니다. -- 자판기는 선택된 상품을 제공합니다. +- 자판기가 가격을 표시합니다 +- 구매자가 가격을 지불합니다 +- 구매자가 올바른 금액을 넣었는지 자판기가 확인합니다 +- 자판기가 물건을 지급합니다 자판기는 모든 요구 사항이 충족된 후에만 원하는 제품을 제공합니다. 상품을 선택하지 않거나 충분한 금액을 투입하지 않으면 자판기는 상품을 제공하지 않습니다. ### 자동 실행 {#automation} -스마트 계약이 일반 계약에 비해 우수한 중요한 이점 중 하나는 계약 조건이 실현될 때 결과가 자동으로 실행된다는 부분입니다. 사람이 결과를 실행할 때까지 기다릴 필요가 없습니다. 즉, 스마트 계약은 신뢰의 필요성을 제거합니다. +스마트 계약의 대표적인 장점은 특정 조건이 달성되었을 때 명백한 코드를 결정론적으로 실행한다는 것입니다. 사람이 결과를 해석 또는 협상할 때까지 기다릴 필요가 없습니다. 덕분에 신뢰할 수 있는 중개인이 필요하지 않습니다. -예를 들어, 자녀를 위해 조건부 날인 증서로 자금을 보관하는 스마트 계약서를 작성하여 특정 날짜 이후에 자금을 인출하게 할 수 있습니다. 자녀가 지정된 날짜 이전에 자금을 인출하려고 하는 경우, 스마트 계약은 실행되지 않습니다. 또는 딜러에게 요금을 지불할 때 자동차 소유권의 디지털 버전을 자동으로 제공하는 계약서를 작성할 수도 있습니다. +예를 들어, 자녀를 위해 조건부 날인 증서로 자금을 보관하는 스마트 계약서를 작성하여 특정 날짜 이후에 자금을 인출하게 할 수 있습니다. 지정된 날짜 이전에 출금하려는 경우, 스마트 계약이 실행되지 않습니다. 또는 딜러에게 차값을 지불하면 자동차 소유권의 디지털 버전이 자동으로 구매자에게 지급되는 계약서를 작성할 수도 있습니다. ### 예측 가능한 결과 {#predictability} -인적 요인은 전통적인 계약의 가장 큰 실패 부분 중 하나입니다. 예를 들어, 두 명의 개별 판사가 전통적인 계약을 다른 방식으로 해석할 수 있습니다. 해당하는 해석은 서로 다른 결정을 내리고 다른 결과를 초래할 수 있습니다. 스마트 계약은 다른 해석의 가능성을 제거합니다. 대신 스마트 계약은 계약 코드 내에 작성된 조건에 따라 정확하게 실행됩니다. 이 정확도는 동일한 상황에서 스마트 계약이 동일한 결과를 생성한다는 것을 의미합니다. +전통적인 계약은 해석과 이행에 있어 인간에 의존하기 때문에 모호합니다. 예를 들어 두 명의 판사가 계약서를 서로 다르게 해석하면 결정에 일관성이 없고 불평등한 결과를 초래할 수 있습니다. 스마트 계약은 이러한 가능성을 제거합니다. 대신 스마트 계약은 계약 코드 내에 작성된 조건에 따라 정확하게 실행됩니다. 이 정확도는 동일한 상황에서 스마트 계약이 동일한 결과를 생성한다는 것을 의미합니다. ### 공공 기록 {#public-record} -스마트 계약은 감사 및 추적에도 유용합니다. 이더리움 스마트 계약은 공공 블록체인에 있으므로 누구든지 자산 전송 및 기타 관련 정보를 즉시 추적할 수 있습니다. 예를 들어, 누군가가 귀하의 주소로 송금했는지 확인할 수 있습니다. +스마트 계약은 감사 및 추적에 용이합니다. 이더리움 스마트 계약은 공공 블록체인에 있으므로 누구든지 자산 전송 및 기타 관련 정보를 즉시 추적할 수 있습니다. 예를 들어, 누가 내 주소로 돈을 보냈는지 확인할 수 있습니다. ### 개인 정보 보호 {#privacy-protection} -또한 스마트 계약은 개인 정보를 보호할 수 있습니다. 이더리움은 가명의 네트워크(귀하의 거래는 귀하의 신분이 아닌 고유한 암호화 주소에 공개적으로 연결됨)이기 때문에 감시자로부터 개인 정보를 보호할 수 있습니다. +또한 스마트 계약은 개인 정보를 보호합니다. 이더리움은 가명의 네트워크(귀하의 거래는 귀하의 신분이 아닌 고유한 암호화 주소에 공개적으로 연결됨)이기 때문에 감시자로부터 개인 정보를 보호할 수 있습니다. ### 확인할 수 있는 용어 {#visible-terms} -마지막으로, 일반 계약과 마찬가지로 스마트 계약서에 서명하기 전에(또는 상호 작용하기 전에) 스마트 계약의 내용을 확인할 수 있습니다. 계약의 조건이 공개적으로 투명하기 때문에 누구나 검토할 수 있다는 점은 스마트 계약의 강점입니다. +마지막으로, 전통적인 계약과 마찬가지로 스마트 계약에 서명하기 전에(또는 상호 작용하기 전에) 계약 내용을 확인할 수 있습니다. 스마트 계약은 투명성이 뛰어나 누구나 계약서를 검토할 수 있습니다. ## 스마트 계약 사용 사례 {#use-cases} -결론적으로, 스마트 계약은 블록체인에 존재하는 컴퓨터 프로그램입니다. 스마트 계약은 자동으로 실행할 수 있습니다. 거래를 추적하고, 거래 방식을 예측하며, 가명으로 사용할 수도 있습니다. 완벽하지 않습니까? 그렇다면 이는 어느 부분에 유용할까요? 스마트 계약은 본질적으로 다른 컴퓨터 프로그램이 실행하는 모든 작업을 할 수 있습니다. +스마트 계약은 본질적으로 컴퓨터 프로그램이 할 수 있는 모든 작업을 수행할 수 있습니다. 계산을 수행하고, 통화를 만들고, 데이터를 저장하고, NFT를 발행하며, 통신을 보내고, 그래픽을 생성할 수도 있습니다. 다음은 몇 가지 일반적인 실제 사례입니다. @@ -85,7 +75,7 @@ Nick Szabo는 이러한 자동 암호화 보안 절차를 기반으로 구축된 -## 더 읽을거리 {#further-reading} +## 부록 {#further-reading} - [스마트 계약이 세상을 바꾸는 방법](https://www.youtube.com/watch?v=pA6CGuXEKtQ) - [스마트 계약: 변호사를 대체할 블록체인 기술](https://blockgeeks.com/guides/smart-contracts/) diff --git a/src/intl/ko/page-dapps.json b/src/intl/ko/page-dapps.json index d5cd4c38e23..d6633a2650c 100644 --- a/src/intl/ko/page-dapps.json +++ b/src/intl/ko/page-dapps.json @@ -1,5 +1,6 @@ { "page-dapps-1inch-logo-alt": "1inch 로고", + "page-dapps-dexguru-logo-alt": "DexGuru 로고", "page-dapps-aave-logo-alt": "Aave 로고", "page-dapps-add-button": "디앱 제안하기", "page-dapps-add-title": "디앱 추가하기", @@ -86,6 +87,8 @@ "page-dapps-dapp-description-token-sets": "자동으로 재조정하는 암호화폐 투자 전략입니다.", "page-dapps-dapp-description-tornado-cash": "이더리움에서 익명의 거래를 보냅니다.", "page-dapps-dapp-description-uniswap": "토큰을 간단하게 교환하거나 %의 보상을 위해 토큰을 제공합니다.", + "page-dapps-dapp-description-dexguru": "디파이 트레이더를 위한 비수탁형 트레이딩 터미널", + "page-dapps-dapp-description-synthetix": "Synthetix는 합성 자산 발행 및 거래를 위한 프로토콜입니다.", "page-dapps-docklink-dapps": "디앱스 소개", "page-dapps-docklink-smart-contracts": "스마트 계약", "page-dapps-dark-forest-logo-alt": "Dark Forest 로고", @@ -97,6 +100,7 @@ "page-dapps-zerion-logo-alt": "Zerion 로고", "page-dapps-rotki-logo-alt": "Rotki 로고", "page-dapps-krystal-logo-alt": "Krystal 로고", + "page-dapps-synthetix-logo-alt": "Synthetix 로고", "page-dapps-desc": "사용할 이더리움 애플리케이션을 찾으세요.", "page-dapps-doge-img-alt": "컴퓨터를 사용 중인 도지의 그림", "page-dapps-editors-choice-dark-forest": "행성을 지배하기 위해 다른 사람들과 싸우고 최첨단 이더리움 스케일링/개인정보 보호 기술을 사용해 보세요. 해당 기술 중 하나는 이미 이더리움에서 익숙할 수 있습니다.", @@ -210,6 +214,10 @@ "page-dapps-more-on-nft-gaming-button": "토큰화된 게임 내 아이템에 대해 자세히 알아보기", "page-dapps-dapp-description-pwn": "이더리움의 모든 토큰 또는 NFT로 지원되는 쉬운 대출.", "page-dapps-pwn-image-alt": "PWN 로고", + "page-dapps-dapp-description-yearn": "Yearn Finance는 수익 애그리게이터입니다. 개인과 DAO 및 다른 프로토콜은 이를 이용하여 디지털 자산을 예치하고 수익을 올릴 수 있습니다.", + "page-dapps-yearn-image-alt": "Yearn 로고", + "page-dapps-dapp-description-convex": "Convex를 통해 Curve 유동성 공급자는 CRV 락업 없이 거래 수수료를 받고 강화된 CRV를 신청할 수 있습니다.", + "page-dapps-convex-image-alt": "Convex 로고", "foundation": "재단", "transaction-fees": "거래 수수료란?", "page-wallets-get-some": "ETH 구매하기" diff --git a/src/intl/ko/page-developers-index.json b/src/intl/ko/page-developers-index.json index 73997c47827..380d95674fe 100644 --- a/src/intl/ko/page-developers-index.json +++ b/src/intl/ko/page-developers-index.json @@ -51,7 +51,7 @@ "page-developers-meta-desc": "이더리움에서 개발하는 개발자를 위한 문서, 튜토리얼, 도구가 준비되어 있습니다.", "page-developers-mev-desc": "최대 추출 가능 값(MEV)에 대한 소개", "page-developers-mev-link": "최대 추출 가능 값(MEV)", - "page-developers-mining-desc": "새로운 블록이 생성되고 합의에 이르는 과정", + "page-developers-mining-desc": "작업 증명을 사용하여 새로운 블록을 생성하고 합의에 도달하는 방법을 설명합니다.", "page-developers-mining-link": "채굴", "page-developers-mining-algorithms-desc": "이더리움 채굴 알고리즘 정보", "page-developers-mining-algorithms-link": "채굴 알고리즘", @@ -92,5 +92,6 @@ "page-developers-data-structures-and-encoding": "데이터 구조 및 인코딩", "page-developers-data-structures-and-encoding-link": "데이터 구조 및 인코딩", "page-developers-data-structures-and-encoding-desc": "이더리움 스택에서 사용되는 데이터 구조 및 인코딩 스키마 소개", - "alt-eth-blocks": "ETH 기호처럼 구성되고 있는 블록의 그림" + "alt-eth-blocks": "ETH 기호처럼 구성되고 있는 블록의 그림", + "page-assets-doge": "디앱을 사용하는 Doge" } diff --git a/src/intl/ko/page-developers-learning-tools.json b/src/intl/ko/page-developers-learning-tools.json index ba59e65539d..fe7ca0e8ebe 100644 --- a/src/intl/ko/page-developers-learning-tools.json +++ b/src/intl/ko/page-developers-learning-tools.json @@ -22,15 +22,21 @@ "page-learning-tools-eth-dot-build-logo-alt": "Eth.build 로고", "page-learning-tools-ethernauts-description": "스마트 계약 해킹을 통한 레벨 완료.", "page-learning-tools-ethernauts-logo-alt": "Ethernauts 로고", + "page-learning-tools-metaschool-description": "디앱을 구축하고 개발하여 웹3 개발자가 되어보세요.", + "page-learning-tools-metaschool-logo-alt": "_metaschool 로고", "page-learning-tools-game-tutorials": "양방향 게임 튜토리얼", "page-learning-tools-game-tutorials-desc": "놀면서 자연스럽게 배워보세요. 이 튜토리얼에서는 게임하면서 기본 사항을 배울 수 있습니다.", "page-learning-tools-meta-desc": "웹 기반 코딩 도구와 양방향 학습 환경을 통해 이더리움 개발을 실험하는 데 도움을 줍니다.", "page-learning-tools-meta-title": "개발자 학습 도구", "page-learning-tools-questbook-description": "직접 빌드하면서 Web 3.0를 학습하는 튜토리얼", "page-learning-tools-questbook-logo-alt": "Questbook 로고", - "page-learning-tools-remix-description": "이더리움을 위한 스마트 계약을 개발, 배포, 관리하기. Learneth 플러그인으로 튜토리얼 실행.", - "page-learning-tools-remix-description-2": "Remix와 Replit은 단순한 샌드박스가 아닙니다. 개발자들은 이를 이용하여 스마트 계약을 작성, 컴파일하고, 배포할 수 있습니다.", + "page-learning-tools-remix-description": "이더리움을 위한 스마트 계약을 개발, 배포 및 관리할 수 있습니다. LearnEth 플러그인으로 튜토리얼을 확인해 보세요.", + "page-learning-tools-remix-description-2": "Remix, Replit, ChainIDE는 단순한 샌드박스가 아닙니다. 개발자는 이를 사용하여 스마트 계약을 작성하고 컴파일하거나 배포할 수 있습니다.", "page-learning-tools-replit-description": "핫 리로드, 오류 확인 및 1등급 테스트넷 지원으로 맞춤화할 수 있는 이더리움의 개발 환경입니다.", + "page-learning-tools-chainIDE-description": "ChainIDE를 사용하여 이더리움의 스마트 계약을 작성함으로써 웹3를 향한 여정을 시작해 보세요. 내장된 템플릿을 사용해 시간을 절약하면서 학습해 볼 수 있습니다.", + "page-learning-tools-chainIDE-logo-alt": "ChainIDE 로고", + "page-learning-tools-tenderly-description": "Tenderly Sandbox는 브라우저에서 Solidity와 JavaScript를 사용하여 스마트 계약을 작성, 실행 및 디버그할 수 있는 프로토타이핑 환경입니다.", + "page-learning-tools-tenderly-logo-alt": "Tenderly 로고", "page-learning-tools-replit-logo-alt": "Replit 로고", "page-learning-tools-remix-logo-alt": "Remix 로고", "page-learning-tools-sandbox": "코드 샌드박스", @@ -46,5 +52,7 @@ "page-learning-tools-pointer-logo-alt": "Pointer 로고", "page-learning-tools-platzi-description": "웹3에서 디앱을 개발하는 방법을 알아보고 블록체인 개발자가 되기 위해 필요한 기술을 완벽하게 습득하기.", "page-learning-tools-platzi-logo-alt": "Platzi 로고", + "page-learning-tools-alchemy-university-description": "교육 과정, 프로젝트 및 코드를 통해 웹3 경력 발전하기.", + "page-learning-tools-alchemy-university-logo-alt": "Alchemy University 로고", "alt-eth-blocks": "ETH 기호처럼 구성되고 있는 블록의 그림" } diff --git a/src/intl/ko/page-developers-local-environment.json b/src/intl/ko/page-developers-local-environment.json index 5dfd6c31afb..f50113d6530 100644 --- a/src/intl/ko/page-developers-local-environment.json +++ b/src/intl/ko/page-developers-local-environment.json @@ -1,6 +1,8 @@ { "page-local-environment-brownie-desc": "Python 기반 개발 및 이더리움 가상 머신을 대상으로 하는 스마트 계약을 위한 테스팅 프레임워크입니다.", "page-local-environment-brownie-logo-alt": "Brownie 로고", + "page-local-environment-kurtosis-desc": "신속한 로컬 디앱 개발, 프로토타이핑 및 테스트를 위해 멀티 클라이언트 이더리움 테스트넷을 간편하게 구성하고 스핀업할 수 있는 컨테이너 기반 툴킷입니다.", + "page-local-environment-kurtosis-logo-alt": "Kurtosis 로고", "page-local-environment-epirus-desc": "Java 가상 머신에서 블록체인 애플리케이션을 개발, 배포하고, 모니터링하기 위한 플랫폼입니다.", "page-local-environment-epirus-logo-alt": "Epirus 로고", "page-local-environment-eth-app-desc": "한 개의 명령어로 이더리움 제공 앱을 만듭니다. 선택할 수 있는 다양한 UI 프레임워크와 DeFi 템플릿도 제공됩니다.", diff --git a/src/intl/ko/page-languages.json b/src/intl/ko/page-languages.json index 94a96cec451..6da152a9534 100644 --- a/src/intl/ko/page-languages.json +++ b/src/intl/ko/page-languages.json @@ -27,6 +27,8 @@ "language-fi": "핀란드어", "language-fr": "프랑스어", "language-gl": "갈리시아어", + "language-gu": "구자라트어", + "language-he": "히브리어", "language-hi": "힌디어", "language-hr": "크로아티아어", "language-hu": "헝가리어", @@ -36,6 +38,7 @@ "language-ja": "일본어", "language-ka": "조지아어", "language-kk": "카자흐스탄어", + "language-km": "캄보디아어", "language-ko": "한국어", "language-lt": "리투아니아어", "language-ml": "말라얄람어", @@ -43,6 +46,7 @@ "language-ms": "말레이어", "language-nb": "노르웨이어", "language-nl": "네덜란드어", + "language-pcm": "나이지리아 피진어", "language-fil": "필리핀어", "language-pl": "폴란드어", "language-pt": "포르투갈어", @@ -55,8 +59,11 @@ "language-sr": "세르비아어", "language-sw": "스와힐리어", "language-th": "태국어", + "language-ta": "타밀어", "language-tr": "터키어", "language-uk": "우크라이나어", + "language-ur": "우르두어", + "language-uz": "우즈베크어", "language-vi": "베트남어", "language-zh": "중국어(간체)", "language-zh-tw": "중국어(번체)" diff --git a/src/intl/ko/page-layer-2.json b/src/intl/ko/page-layer-2.json index 8ada9554cac..646bce15f3d 100644 --- a/src/intl/ko/page-layer-2.json +++ b/src/intl/ko/page-layer-2.json @@ -4,7 +4,7 @@ "layer-2-optimism-note": "오류 증명 개발 중", "layer-2-hero-title": "레이어 2", "layer-2-hero-header": "모두를 위한 이더리움", - "layer-2-hero-subtitle": "보안성과 탈중앙성을 약화하지 않고 이더리움 확장", + "layer-2-hero-subtitle": "대중화를 위한 이더리움 확장.", "layer-2-hero-alt-text": "레이어 2에서 롤업되고 이더리움 메인넷에 게시된 트랜잭션에 대한 삽화", "layer-2-hero-button-1": "레이어 2의 정보", "layer-2-hero-button-2": "레이어 2 사용", @@ -14,9 +14,9 @@ "layer-2-statsbox-3": "레이어 2의 총 예치금 변화량(30일 기준)", "layer-2-what-is-layer-2-title": "레이어 2가 무엇인가요?", "layer-2-what-is-layer-2-1": "레이어 2(L2)는 이더리움 확장 솔루션을 일컫는 말입니다. 레이어 2는 이더리움을 확장하는 별도의 블록체인이며 이더리움의 보증된 보안을 물려받습니다.", - "layer-2-what-is-layer-2-2": "조금 더 자세하게 알아보기 위해 레이어 1(L1)에 관해 설명해 보겠습니다.", + "layer-2-what-is-layer-2-2": "이제 조금 더 자세하게 알아봅시다. 이를 위해서는 먼저 레이어 1(L1)을 알아야 합니다.", "layer-2-what-is-layer-1-title": "레이어 1이란 무엇인가요?", - "layer-2-what-is-layer-1-1": "레이어 1은 기본 블록체인입니다. 이더리움과 비트코인은 둘 다 수많은 레이어 2 네트워크를 구축하는 기반이기 때문에 모두 레이어 1 블록체인이라고 할 수 있습니다. 레이어 2 프로젝트의 예시에는 이더리움의 \"롤업\" 및 비트코인에서 상위 계층에 존재하는 라이트닝 네트워크가 포함됩니다. 이러한 레이어 2 프로젝트에서 이루어지는 모든 사용자 트랜잭션 활동은 궁극적으로 레이어 1 블록체인으로 다시 돌아갈 수 있습니다.", + "layer-2-what-is-layer-1-1": "레이어 1은 기본 블록체인입니다. 이더리움과 비트코인은 둘 다 수많은 레이어 2 네트워크를 구축하는 기반이기 때문에 모두 레이어 1 블록체인이라고 할 수 있습니다. 레이어 2 프로젝트의 예시에는 이더리움의 \"롤업\" 및 비트코인의 라이트닝 네트워크가 있습니다. 이러한 레이어 2 프로젝트에서 이루어지는 모든 사용자 트랜잭션 활동은 궁극적으로 레이어 1 블록체인으로 되돌아갈 수 있습니다.", "layer-2-what-is-layer-1-2": "이더리움은 레이어 2에 대한 데이터 가용성 레이어로도 기능합니다. 레이어 2 프로젝트는 데이터 가용성을 위해 이더리움에 의존하여 트랜잭션 데이터를 이더리움에 게시합니다. 이 데이터는 레이어 2의 상태를 가져오거나 레이어 2의 트랜잭션에 이의를 제기하는 데 사용할 수 있습니다.", "layer-2-what-is-layer-1-list-title": "레이어 1로서의 이더리움에는 다음이 포함됩니다.", "layer-2-what-is-layer-1-list-1": "네트워크를 보호하고 검증하기 위한 노드 작업자의 네트워크", @@ -27,10 +27,10 @@ "layer-2-what-is-layer-1-list-link-2": "이더리움에 대해 배워봅시다.", "layer-2-why-do-we-need-layer-2-title": "왜 레이어2가 필요한가요?", "layer-2-why-do-we-need-layer-2-1": "블록체인의 매력적인 3가지 특징은 탈중앙화, 안전, 그리고 확장성입니다. 블록체인 트릴레마는 간단한 블록체인 설계는 3가지 특징 중 2개만 달성할 수 있다는 것을 의미합니다. 안전하고 탈중앙화된 블록체인을 원하십니까? 그렇다면 확장성을 희생해야 합니다.", - "layer-2-why-do-we-need-layer-2-2": "이더리움은 네트워크의 현재 최대치인 일일 100만 건 이상의 트랜잭션에 도달했으며 각 트랜잭션에 대한 수요가 높습니다. 이더리움의 성공과 더불어 높아진 수요는 지속적으로 가스 요금이 인상되는 원인이 되었습니다. 따라서 확장 솔루션에 대한 수요 또한 증가했습니다. 이 수요를 해결하기 위해 레이어 2 네트워크가 등장했습니다.", + "layer-2-why-do-we-need-layer-2-2": "이더리움은 현재 하루 100만 건 이상의 트랜잭션을 처리합니다. 이더리움을 사용하려는 수요가 증가하면 트랜잭션 수수료가 상승할 수 있습니다. 트랜잭션을 제때 처리하지 못하고 트랜잭션이 밀리기 시작하면 수수료가 과도하게 높아질 수 있는데 이러한 병목 현상을 해결하기 위해 레이어 2 네트워크가 등장했습니다.", "layer-2-why-do-we-need-layer-2-scalability": "확장성", - "layer-2-why-do-we-need-layer-2-scalability-1": "확장성의 주된 목표는 트랜잭션의 속도(빠른 최종 승인)와 트랜잭션의 처리량(초당 많은 트랜잭션 처리)을 탈중앙성과 보안성을 약화하지 않고 향상시키는 것에 있습니다.", - "layer-2-why-do-we-need-layer-2-scalability-2": "이더리움 커뮤니티는 확장을 위해 탈중앙성 또는 보안성을 포기하지 않겠다는 강력한 입장을 고수해 왔습니다. 샤딩, 이더리움 메인넷(레이어 1)은 초당 약 15건의 트랜잭션만 처리할 수 있습니다. 이더리움 사용에 대한 수요가 높아지면 네트워크가 혼잡해지고 이에 따라 거래 수수료가 상승하며 상승된 수수료에 대한 부담은 수수료를 지불할 수 없는 사용자가 지게 됩니다. 레이어 2는 이 문제를 해결하기 위해 등장했습니다.", + "layer-2-why-do-we-need-layer-2-scalability-1": "레이어 2의 주요 목표는 탈중앙화와 보안을 유지한 채 트랜잭션 처리량을 늘리는 것(초당 트랜잭션 증가)입니다.", + "layer-2-why-do-we-need-layer-2-scalability-2": "이더리움 메인넷(레이어 1)은 초당 약 15건의 트랜잭션밖에 처리하지 못합니다. 이더리움을 사용하려는 수요가 많으면 이더리움 네트워크에 혼잡이 발생하여 트랜잭션 수수료가 높아지고 이를 감당할 수 없는 사용자들이 네트워크를 이탈합니다. 레이어 2는 레이어 1 블록체인 외부에서 트랜잭션을 처리하여 수수료를 낮추는 솔루션입니다.", "layer-2-why-do-we-need-layer-2-scalability-3": "이더리움 비전에 대한 자세한 정보", "layer-2-benefits-of-layer-2-title": "레이어 2의 장점", "layer-2-lower-fees-title": "더 낮은 수수료", @@ -40,24 +40,24 @@ "layer-2-expand-use-cases-title": "사용 사례 확장", "layer-2-expand-use-cases-description": "더 높은 초당 트랜잭션, 더 낮은 수수료, 그리고 새로운 기술을 통해 프로젝트는 향상된 사용자 경험과 함께 새로운 애플리케이션으로 확장됩니다.", "layer-2-how-does-layer-2-work-title": "레이어 2는 어떻게 작동합니까? \n", - "layer-2-how-does-layer-2-work-1": "상단에 언급한 바와 같이, 레이어 2는 이더리움 레이어 1의 강력한 탈중앙화된 방식의 보안을 계속 활용하면서 이더리움 레이어 1 외부의 거래를 처리하는 이더리움 확장 솔루션의 대명사입니다. 레이어 2는 이더리움을 확장하는 별도의 블록체인입니다. 이는 어떻게 작동할까요?", - "layer-2-how-does-layer-2-work-2": "레이어 2 블록체인은 기존 블록체인과 비슷한 보안과 탈중앙화 방식을 보장하기 위해 정기적으로 이더리움과 통신(트랜잭션 묶음을 제출)합니다. 이는 레이어 1 프로토콜(이더리움)을 변경하지 않고도 가능합니다. 이렇게 레이어 1은 보안, 데이터 가용성 및 탈중앙화를 가능하게 하는 한편 레이어 2는 확장에 집중할 수 있습니다. 레이어 2는 레이어 1의 거래 부담을 줄여주고 최종적인 증명을 다시 레이어 1로 보냅니다. 이러한 방식으로 레이어 1의 트랜잭션 부하를 완화하여 기반 계층이 더 여유로워지면서 모든 것을 확장할 수 있습니다.", + "layer-2-how-does-layer-2-work-1": "앞서 설명했듯이 레이어 2는 이더리움 레이어 1의 강력한 탈중앙화된 보안을 계속 활용하면서 이더리움 레이어 1 외부에서 트랜잭션을 처리하는 이더리움 확장 솔루션의 대명사입니다. 레이어 2는 이더리움을 확장시키는 별도의 블록체인입니다. 레이어 2는 어떻게 작동할까요?", + "layer-2-how-does-layer-2-work-2": "레이어 2는 여러 유형으로 나뉘며 각각 저마다의 장단점과 보안 모델이 있습니다. 레이어 2는 레이어 1의 트랜잭션 처리 부담을 나눠 혼잡을 줄이고 모든 것을 더욱 확장할 수 있습니다.", "layer-2-rollups-title": "롤업", - "layer-2-rollups-1": "롤업은 현재 이더리움 확장에 선호되는 레이어 2 솔루션입니다. 롤업을 사용하여 사용자는 레이어 1에 비해 가스 요금을 최대 100배까지 절감할 수 있습니다.", - "layer-2-rollups-2": "롤업은 수백 개의 트랜잭션을 레이어 1의 단일 트랜잭션으로 묶습니다(또는 '롤업'). 이는 롤업의 모든 사람에게 L1 거래 수수료를 분배하여 각 사용자에게 더 저렴하게 제공합니다. 롤업 트랜잭션은 레이어 1 외부에서 실행되지만 트랜잭션 데이터는 레이어 1에 게시됩니다. 트랜잭션 데이터를 레이어 1에 게시함으로써 롤업은 이더리움의 보안을 상속합니다. 롤업에 대한 접근 방식에는 두 가지가 있습니다. 낙관적 접근 방식과 영지식 접근 방식이 그것이며, 주로 이 트랜잭션 데이터가 L1에 게시되는 방식이 다릅니다.", + "layer-2-rollups-1": "롤업은 레이어 1의 단일 트랜잭션에 수백 건의 트랜잭션을 한데 묶습니다(즉 'roll up'). 이를 통해 롤업의 모든 사용자에게 레이어 1 트랜잭션 수수료를 분배하여 모든 이들이 더 저렴하게 이용할 수 있습니다.", + "layer-2-rollups-2": "롤업 트랜잭션은 레이어 1 외부에서 처리되고 트랜잭션 데이터만 레이어 1로 제출됩니다. 레이어 1로 트랜잭션 데이터를 제출함으로써 롤업은 이더리움의 뛰어난 보안을 승계합니다. 데이터가 레이어 1에 업로드된 상황에서 이더리움 네트워크 전체를 되돌리지 않는 한 롤업 트랜잭션을 되돌릴 수 없기 때문입니다. 롤업에는 낙관적 롤업과 영지식 롤업이라는 두 가지 접근 방식이 있습니다. 두 방식은 주로 이 트랜잭션 데이터가 L1으로 제출되는 방식에 따라 달라집니다.", "layer-2-optimistic-rollups-title": "낙관적 롤업", - "layer-2-optimistic-rollups-description": "낙관적 롤업은 트랜잭션이 유효한 것으로 가정되지만 필요한 경우 이의를 제기할 수 있다는 점에서 '낙관적'입니다. 유효하지 않은 트랜잭션이 의심되는 경우 오류 증명이 실행되어 이것이 발생했는지 확인합니다.", + "layer-2-optimistic-rollups-description": "낙관적 롤업은 트랜잭션이 유효한 것으로 간주되나 필요한 경우 이의를 제기할 수 있다는 점에서 '낙관적(optimistic)'입니다. 유효하지 않은 트랜잭션이 의심되면 오류 증명이 실행되어 이것이 발생했는지 확인합니다.", "layer-2-optimistic-rollups-childSentance": "낙관적 롤업에 대해 자세히 알아보기", "layer-2-zk-rollups-title": "영지식 롤업", "layer-2-zk-rollups-description": "영지식 롤업은 트랜잭션이 오프체인에서 계산되는 유효성 증명을 사용하고 압축된 데이터가 유효성 증명으로 이더리움 메인넷에 제공됩니다.", "layer-2-zk-rollups-childSentance": "영지식 롤업에 대해 자세히 알아보기", "layer-2-dyor-title": "자체 조사: 레이어 2의 위험", - "layer-2-dyor-1": "레이어 2 체인은 이더리움의 보안을 상속하므로 이상적으로는 L1 이더리움만큼 안전합니다. 그러나 다양한 프로젝트가 아직 시작 단계이고 다소 실험적입니다. 수년간의 연구 개발 끝에 이더리움을 확장할 많은 L2 기술이 2021년에 출시되었습니다. 여러 프로젝트에서 네트워크를 탈중앙화하기 위해 작업하면서 여전히 추가적으로 신뢰할 수 있는 가정을 세웁니다. 관련된 위험을 감수할 수 있는지 결정하기 위해 항상 자체 조사를 수행하십시오.", + "layer-2-dyor-1": "많은 레이어 2 프로젝트들은 비교적 젊고 네트워크를 탈중앙화시키기 위해 작업함에 따라 여전히 사용자들에게 일부 운영자를 신뢰하도록 요구합니다. 관련 리스크를 수용할 수 있는지 결정하려면 항상 본인이 직접 정보를 찾으며 조사하세요.", "layer-2-dyor-2": "레이어 2의 기술, 위험 및 신뢰 가정에 대한 자세한 내용은 각 프로젝트의 포괄적인 위험 평가 프레임워크를 제공하는 L2BEAT를 확인하는 것이 좋습니다.", "layer-2-dyor-3": "L2BEAT로 이동", "layer-2-use-layer-2-title": "레이어 2 사용", "layer-2-use-layer-2-1": "이제 레이어 2가 존재하는 이유와 작동 방법에 대해 이해했으니, 실제로 레이어 2를 사용해 보겠습니다!", - "layer-2-contract-accounts": "참고: 레이어 2를 연결하고 사용할 때 이더리움 메인넷에서 실행하듯이 본인이 EOA 계정(개인 키 하나로만 제어되는 계정)의 주소를 제어하게 된다는 것을 알아두는 것이 중요합니다. 귀하가 Safe 또는 Argent와 같은 계약 계정을 사용하고 있는 경우, 해당 레이어 2 주소에 계약 계정을 재배포하기 전 까지는 해당 주소에 대한 제어 권한이 없습니다. 어떠한 계약 계정에 자금을 연결하거나 보내고 있을 때 해당 계약 계정의 주소에 대한 제어 권한이 없는 경우, 자금을 유실할 가능성이 있습니다.", + "layer-2-contract-accounts": "Safe나 Argent 같은 스마트 계약 지갑을 사용하는 경우 레이어 2에서 해당 주소의 통제권을 가지려면 자신의 계약 계정을 레이어 2의 해당 주소로 재배포해야 합니다. 복구 구문이 있는 클래식 계정은 자동으로 모든 레이어 2 네트워크에서 동일한 계정을 소유합니다.", "layer-2-use-layer-2-generalized-title": "일반화된 레이어 2", "layer-2-use-layer-2-generalized-1": "일반화된 레이어 2는 이더리움과 똑같이 작동하지만 더 저렴합니다. 이더리움 레이어 1에서 할 수 있는 모든 작업은 레이어 2에서도 실행할 수 있습니다. 많은 디앱이 이미 레이어 2 네트워크로 이전을 시작했거나 레이어 2에 바로 배포할 수 있도록 메인넷을 건너뛰었습니다.", "layer-2-use-layer-2-application-specific-title": "애플리케이션 특화 레이어 2", @@ -67,8 +67,7 @@ "layer-2-sidechains-2": "둘 다 레이어 2와 비슷한 방식으로 확장합니다. 모두 기존보다 거래 수수료가 저렴하며 처리량이 높지만 신뢰 가능성 면에서는 차이가 납니다.", "layer-2-more-on-sidechains": "사이드체인에 대해 자세히 알아보기", "layer-2-more-on-validiums": "발리디움에 대해 자세히 알아보기", - "layer-2-sidechains-4": "일부 레이어 1 블록체인은 이더리움보다 처리량이 높으며 거래 수수료가 낮습니다. 하지만 이러한 대체 레이어 1은 초당 높은 거래 처리량과 낮은 거래 수수료를 위해 보안 또는 탈중앙화 방식을 포기해야 했습니다.", - "layer-2-sidechains-5": "이더리움 생태계는 탈중앙성과 보안성을 유지하면서도 확장 트릴레마를 해결할 수 있는 방법은 레이어 2 확장이 유일하다는 확고한 입장입니다.", + "layer-2-sidechains-4": "일부 레이어 1 블록체인은 이더리움보다 처리량이 많고 트랜잭션 수수료가 낮다고 하지만 일반적으로 그에 따른 반대급부가 있습니다. 예를 들어 노드 운영에 필요한 하드웨어 기준이 더 높을 수 있습니다.", "layer-2-onboard-title": "레이어 2 시작하기", "layer-2-onboard-1": "레이어 2에 자금을 맡기는 방법에는 크게 두 가지가 있습니다. 스마트 계약을 통해 이더리움에서 레이어 2 네트워크로 자금을 이동하거나, 거래소에서 인출한 자금을 곧장 레이어 2 네트워크로 이동하는 것입니다.", "layer-2-onboard-wallet-title": "자금이 지갑에 있나요?", @@ -113,16 +112,16 @@ "layer-2-further-reading-title": "부록", "a-rollup-centric-ethereum-roadmap": "롤업 중심의 이더리움 로드맵", "an-incomplete-guide-to-rollups": "롤업에 대한 미완성된 가이드", - "polygon-sidechain-vs-ethereum-rollups": "폴리곤 사이드체인과 이더리움 롤업의 비교: 레이어 2 확장 예정| Vitalik Buterin, Lex Fridman", + "polygon-sidechain-vs-ethereum-rollups": "폴리곤 사이드체인과 이더리움 롤업: 레이어 2 확장 접근 방식 | Vitalik Buterin 및 Lex Fridman", "rollups-the-ultimate-ethereum-scaling-strategy": "롤업 - 궁극의 이더리움 확장 전략이라고요? 아비트럼 및 옵티미즘 설명", "scaling-layer-1-with-shard-chains": "조각 체인을 이용한 레이어 1 확장", "understanding-rollup-economics-from-first-principals": "첫 번째 원칙을 통한 롤업 경제 이해", - "arbitrum-description": "아비트럼(Arbitrum)은 이더리움과 상호작용하는 완벽한 느낌을 목표로 하는 낙관적 롤업이지만 거래 비용은 L1에서 동일한 작업을 수행할 때보다 훨씬 저렴합니다.", + "arbitrum-description": "아비트럼 원(Arbitrum One)은 이더리움과 상호 작용하는 것과 똑같은 느낌을 주는 것이 목표인 낙관적 롤업이지만 트랜잭션 비용은 L1에서 동일한 작업을 수행할 때보다 훨씬 저렴합니다.", "optimism-description": "옵티미즘(Optimism)은 빠르고 편리하며 안전한 EVM과 동일한 수준의 낙관적 롤업입니다. 옵티미즘은 이더리움의 기술을 확장하는 한편 소급 공공재 자금조달을 통해 이더리움의 가치를 높입니다.", "boba-description": "Boba는 확장 솔루션 옵티미즘에서 유래했으며 가스 요금을 줄이고 트랜잭션 처리량을 개선하며 스마트 계약의 한계를 확장하는 것을 목표로 하는 낙관적 롤업입니다.", "loopring-description": "Loopring의 영지식 롤업 L2 솔루션은 이더리움 메인넷과 동일한 보안 수준 보장을 목표로 하지만 확장 가능성은 훨씬 더 뛰어납니다. 거래 처리량은 최대 1000배까지 늘어났으며 수수료는 L1의 0.1%로 감소되었습니다.", "zksync-description": "zkSync는 Matter Labs에서 개발한 사용자 중심의 영지식 롤업 플랫폼입니다. 이더리움을 위한 확장 솔루션이며 이미 이더리움 메인넷에서 사용되고 있습니다. 결제, 토큰 교환 및 NFT 발행을 지원합니다.", - "zkspace-description": "ZKSpace 플랫폼은 다음 세 가지 주요 부분으로 구성됩니다. 레이어 2 AMM DEX 활용 영지식 롤업 기술 ZKSwap, 결제 서비스 ZKSquare, NFT 시장 ZKSea이 그것입니다.", + "zkspace-description": "ZKSpace 플랫폼은 세 가지 주요 부분인 ZKSwap(ZK롤업 기술을 활용한 레이어 2 AMM DEX), ZKSquare(지급결제 서비스), ZKSea(NFT 마켓플레이스)로 구성됩니다.", "aztec-description": "Aztec 네트워크는 이더리움의 첫 번째 비공개 영지식 롤업이며 분산형 애플리케이션이 정보를 보호하고 확장할 수 있도록 합니다.", "layer-2-note": "참고:", "layer-2-ecosystem-portal": "생태계 포털", diff --git a/src/intl/ko/template-usecase.json b/src/intl/ko/template-usecase.json index f9f01dab475..b38dac29b7a 100644 --- a/src/intl/ko/template-usecase.json +++ b/src/intl/ko/template-usecase.json @@ -4,6 +4,8 @@ "template-usecase-dropdown-dao": "탈중앙화 자율 조직(DAO)", "template-usecase-dropdown-social-networks": "탈중앙화 소셜 네트워크", "template-usecase-dropdown-identity": "탈중앙화 신원 증명", + "template-usecase-dropdown-desci": "탈중앙화 과학(DeSci)", + "template-usecase-dropdown-refi": "재생금융(ReFi)", "template-usecase-dropdown": "이더리움 이용 사례", "template-usecase-banner": "이더리움의 사용법은 항상 발전하며 진화하고 있습니다. 더 명확하게 다듬을 수 있거나 더 최신 정보가 있다면 알려주십시오.", "template-usecase-edit-link": "페이지 수정", From c3bb9d4d8dcfea0d296cc665a4bf103cb30dd5c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 05:09:03 +0000 Subject: [PATCH 26/55] Bump postcss from 8.4.27 to 8.4.31 Bumps [postcss](https://github.com/postcss/postcss) from 8.4.27 to 8.4.31. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.27...8.4.31) --- updated-dependencies: - dependency-name: postcss dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 665ef7b6531..6f6e79408da 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15407,9 +15407,9 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^8.2.15, postcss@^8.2.9, postcss@^8.3.11, postcss@^8.4.21, postcss@^8.4.24: - version "8.4.27" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.27.tgz#234d7e4b72e34ba5a92c29636734349e0d9c3057" - integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ== + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== dependencies: nanoid "^3.3.6" picocolors "^1.0.0" From 826e65def051cd4283dce776944eb3ed28d9b84e Mon Sep 17 00:00:00 2001 From: Kony <69898202+konykwong@users.noreply.github.com> Date: Wed, 4 Oct 2023 14:26:50 +0800 Subject: [PATCH 27/55] Update community-events.json Update the dates of ETH HK event. More details at https://twitter.com/EthereumHK. --- src/data/community-events.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/data/community-events.json b/src/data/community-events.json index b4b3e5bcaec..f4fdc3ae7fd 100644 --- a/src/data/community-events.json +++ b/src/data/community-events.json @@ -229,9 +229,9 @@ "to": "https://www.ethhongkong.co/", "sponsor": null, "location": "Hong Kong", - "description": "ETH Hong Kong will be held in Q4 2023. It is the frist-ever large-scale ETH Hong Kong event, which will be developer driven and full of hacking, panel discussions, boot camps and other fun activites.", - "startDate": "2023-10-14", - "endDate": "2023-10-15" + "description": "ETH Hong Kong will be held in Q4 2023. It is the first-ever large-scale ETH Hong Kong event, which will be developer driven and full of hacking, panel discussions, boot camps and other fun activities.", + "startDate": "2023-10-22", + "endDate": "2023-10-24" }, { "title": "ETH Miami 2023", From 87c8616e6968d32c85c7b6ed997c7526d1c8bce4 Mon Sep 17 00:00:00 2001 From: Natalino Picone Date: Wed, 4 Oct 2023 10:08:36 +0200 Subject: [PATCH 28/55] updating natpicone contributor --- .all-contributorsrc | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 45f99c0a21c..6c4c759a2bc 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -10591,7 +10591,7 @@ "login": "natpicone", "name": "Natalino Picone", "avatar_url": "https://avatars.githubusercontent.com/u/4753402?v=4", - "profile": "http://nozominetworks.com", + "profile": "https://chainlabo.com", "contributions": [ "content" ] diff --git a/README.md b/README.md index f50e08c47bf..48fb78821e1 100644 --- a/README.md +++ b/README.md @@ -1657,7 +1657,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Tamino
Tamino

🖋 Katherine Champagne
Katherine Champagne

🖋 Marcos González
Marcos González

📖 - Natalino Picone
Natalino Picone

🖋 + Natalino Picone
Natalino Picone

🖋 Hammad Saaedi
Hammad Saaedi

🖋 From bed4f13abbd99ef80b1923d6fe4e5e5d366319ec Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 4 Oct 2023 10:47:42 -0600 Subject: [PATCH 29/55] setup reset filter label for translation --- src/components/FindWallet/WalletFilterSidebar/index.tsx | 2 +- src/intl/en/page-wallets-find-wallet.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar/index.tsx b/src/components/FindWallet/WalletFilterSidebar/index.tsx index 03f892c25f9..26150d3aee3 100644 --- a/src/components/FindWallet/WalletFilterSidebar/index.tsx +++ b/src/components/FindWallet/WalletFilterSidebar/index.tsx @@ -161,7 +161,7 @@ const WalletFilterSidebar: React.FC = ({ }} >

ex}EuzKC=VY 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 RXC&O)Qj}Gbsge2^_J4^!C&K^$ literal 45461 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 Date: Wed, 13 Sep 2023 15:19:49 -0700 Subject: [PATCH 13/55] Update script with CSV auto importing --- src/scripts/crowdin-import.ts | 150 +++++++++++++++++++++++++++------- 1 file changed, 121 insertions(+), 29 deletions(-) diff --git a/src/scripts/crowdin-import.ts b/src/scripts/crowdin-import.ts index 3fba48d46eb..aaf2d88a13a 100644 --- a/src/scripts/crowdin-import.ts +++ b/src/scripts/crowdin-import.ts @@ -1,37 +1,63 @@ // Library requires const i18Config = require("../../i18n/config.json") -const { copyFileSync, existsSync, mkdirSync, readdirSync } = require("fs") +const { + copyFileSync, + existsSync, + mkdirSync, + readdirSync, + readFileSync, +} = require("fs") const { resolve, join } = require("path") const argv = require("minimist")(process.argv.slice(2)) + +/****************************** + * Console flags * + ******************************/ + /** - * Console flags * -v,--verbose Prints verbose console logs * -f,--full Prints full name of buckets in summary + */ + +/****************************** + * Instructions for use * + ******************************/ + +/** + * 1. Run `yarn crowdin-clean` to initialize fresh ./.crowdin folder. This can also be used to erase contents when finished. * + * 2a. Export/import CSV of languages ready for review: + * 1. Open "Website translation board" document in ethereum.org Notion (internal only) + * 2. Switch view of "Translation status by language" table to "All reviewed" + * 3. Click triple-dot (...) menu in TOP right corner of the entire app + * 4. Select "Export" > "Export as CSV" + * Export format: Markdown & CSV + * Include databases: Current view + * Include content: No files or images + * Include subpages: Off + * Click "Export" > Save zip file + * 5. Unzip contents into (or copy into) ./.crowdin folder in the root of this repo * - * Follow these steps to import translations from Crowdin export: - * - * 1. Copy languages folder from Crowdin export to ./.crowdin - * ie. ./.crowdin/{lang-codes} - * Tip: Run `yarn crowdin-clean` to initialize the `.crowdin` folder. Can - * also be used to erase contents when finished. - * - * 2. Select buckets to import by adding the number of the corresponding - * content bucket to the chosen language array below - * ie. `es: [1, 10],` would import the "Homepage" and "Learn" buckets for Spanish - * - * 3. Save file without committing + * 2b. Alternatively, you can manually add buckets to import to the USER_OVERRIDE object below. + * 1. Add the number of the corresponding content bucket to the chosen language array below + * ie. `es: [1, 10],` would import the "Homepage" and "Learn" buckets for Spanish + * 2. Save file without committing* * - * 4. Execute script by running `yarn crowdin-import` + * Export/import translated content from Crowdin: + * 1. Export latest translated content from Crowdin and unzip + * 2. Copy languages folder from Crowdin export to ./.crowdin + * ie. ./.crowdin/{lang-codes} * - * 5. If successful, copy `GATSBY_BUILD_LANGS={langs}` output and paste in - * your `.env`, then build site to test results. + * Execute script: + * 1. Execute script by running `yarn crowdin-import` + * 2. If successful, copy `GATSBY_BUILD_LANGS={langs}` output and paste in + * your `.env`, then build site to test results. * - * Remember: Revert working changes to this file before committing Crowdin import + * *Remember: Revert any working changes to this file before committing Crowdin import */ -type UserSelectionObject = { [key: string]: Array } -const USER_SELECTION: UserSelectionObject = { +type BucketsList = { [key: string]: Array } +const USER_OVERRIDE: BucketsList = { ar: [], az: [], bg: [], @@ -96,10 +122,15 @@ const USER_SELECTION: UserSelectionObject = { * slight from those used in the repo). These folders must be copied into the * root `.crowdin` folder of this repo. * - * Using the USER_SELECTION object above, the script iterates through each - * language chosen, using the dictionary object below to convert the repo lang - * code to the code used by Crowdin (only if needed, defaults to same). `fs` - * is used to find matching language folder. + * A CSV containing the language buckets that have been "Reviewed" can be exported + * from Crowdin to automate the process of importing the needed buckets. See + * "Instructions for use" above. + * + * You can alternative use the USER_OVERRIDE object above to manually select buckets. + * + * The script iterates through each language chosen, using the dictionary object + * below to convert the repo lang code to the code used by Crowdin (only if needed, + * defaults to same). `fs` is used to find matching language folder. * * The "buckets" chosen (type number[]) are then iterated over, opening the * corresponding folder that begins with the same number string (formatted 00). @@ -131,7 +162,7 @@ if (!existsSync(crowdinRoot)) mkdirSync(crowdinRoot) * This is used to convert any codes that may differ when performing folder lookup. */ const getCrowdinCode = (code: string): string => - i18Config.filter((lang) => lang.code === code)?.[0].crowdinCode || code + i18Config.filter((lang) => lang.code === code)?.[0]?.crowdinCode || code /** * Names for each bucket in order, zero indexed. @@ -183,6 +214,67 @@ const trackers: TrackerObject = { const log = (message: any, ...optionalParams: any): void => { VERBOSE && console.log(message, ...optionalParams) } + +/** + * Fetches CSV exported from Notion "Website translation board" table + * See above for details on how to export CSV and import into repo + * @returns Object containing language codes as keys, and an array of bucket numbers to be imported + */ +const fetchReviewedCsv = (): BucketsList => { + const csvDir: string = readdirSync(crowdinRoot).filter((dir: string) => + dir.startsWith("Website translation board") + )[0] + if (!csvDir) return {} + const path = join(crowdinRoot, csvDir) + const reviewedCsvPath: Array = readdirSync(path).filter( + (file: string) => { + const fileParts: Array = file.split(".") + return ( + fileParts[0].startsWith("https") && + !fileParts[0].endsWith("all") && + fileParts[1] === "csv" + ) + } + )[0] + const bucketsList: BucketsList = {} + const csvFile = readFileSync(join(path, reviewedCsvPath), "utf8") + if (!csvFile) return {} + const data = csvFile.split("\n").map((row: string) => { + const quotePair = /"([^"]+)"/g + const sanitized = row.replaceAll(quotePair, (match) => + match.replace(",", " ").replace(/"/g, "") + ) + return sanitized.split(",") + }) + const headings = data.shift() + const langCodeIndex = headings.indexOf("code") + const firstBucketIndex = headings.findIndex((item: string) => + item.startsWith("1)") + ) + data.forEach((rowItems: Array) => { + const langCode = rowItems[langCodeIndex].split(" ").at(-1) // "es-EM → es" parses to "es" + if (!langCode) return + const bucketsForLang: Array = [] + rowItems.forEach((item: string, idx: number) => { + if (item.includes("Reviewed")) + bucketsForLang.push(idx - firstBucketIndex + 1) + }) + bucketsList[langCode] = bucketsForLang + }) + return bucketsList +} + +/** + * If any buckets are selected in USER_OVERRIDE, use those instead of importing from CSV. + */ +const useUserOverRide = + Object.values(USER_OVERRIDE).filter((buckets) => buckets.length > 0).length > + 0 + +const bucketsToImport: BucketsList = useUserOverRide + ? USER_OVERRIDE + : fetchReviewedCsv() + /** * Reads `ls` file contents of `_path`, moving .md and .json files * to their corresponding destinations in the repo. Function is called @@ -253,16 +345,16 @@ type SelectionItem = { crowdinLangCode: string buckets: Array } -const importSelection: Array = Object.keys(USER_SELECTION) +const importSelection: Array = Object.keys(bucketsToImport) .filter((repoLangCode: string): boolean => { - if (!USER_SELECTION[repoLangCode].length) trackers.emptyBuckets++ - return !!USER_SELECTION[repoLangCode].length + if (!bucketsToImport[repoLangCode].length) trackers.emptyBuckets++ + return !!bucketsToImport[repoLangCode].length }) .map( (repoLangCode: string): SelectionItem => ({ repoLangCode, crowdinLangCode: getCrowdinCode(repoLangCode), - buckets: USER_SELECTION[repoLangCode], + buckets: bucketsToImport[repoLangCode], }) ) From 6732b814d60b2455ba7c38404356cc3ba06b1d28 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:00:00 -0700 Subject: [PATCH 14/55] typo patch --- src/content/refi/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/refi/index.md b/src/content/refi/index.md index 8ed7550dcb6..fb768f0722b 100755 --- a/src/content/refi/index.md +++ b/src/content/refi/index.md @@ -9,7 +9,7 @@ image: ../../assets/future_transparent.png alt: "" summaryPoint1: An alternative economic system built on regenerative principles summaryPoint2: An attempt to harness Ethereum to solve global-level coordination crises such as climate change -summaryPoint3: A tool to drastically scale ecological benefit assets like verifed carbon credits +summaryPoint3: A tool to drastically scale ecological benefit assets like verified carbon credits --- ## What is ReFi? {#what-is-refi} From dd636d8eb49736ee2718fd66b40f68e951005237 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Mon, 18 Sep 2023 13:43:13 -0700 Subject: [PATCH 15/55] add -b flag for bucket list generation only --- src/scripts/crowdin-import.ts | 74 +++++++++++------------------------ 1 file changed, 22 insertions(+), 52 deletions(-) diff --git a/src/scripts/crowdin-import.ts b/src/scripts/crowdin-import.ts index aaf2d88a13a..3e419eb86de 100644 --- a/src/scripts/crowdin-import.ts +++ b/src/scripts/crowdin-import.ts @@ -58,58 +58,7 @@ const argv = require("minimist")(process.argv.slice(2)) type BucketsList = { [key: string]: Array } const USER_OVERRIDE: BucketsList = { - ar: [], - az: [], - bg: [], - bn: [], - ca: [], - cs: [], - da: [], - de: [], - el: [], - es: [], - fa: [], - fi: [], - fil: [], - fr: [], - gl: [], - gu: [], - hi: [], - hr: [], - hu: [], - id: [], - ig: [], - it: [], - ja: [], - ka: [], - kk: [], - km: [], - ko: [], - lt: [], - ml: [], - ms: [], - mr: [], - nb: [], - nl: [], - pcm: [], - pl: [], - pt: [], - "pt-br": [], - ro: [], - ru: [], - se: [], - sk: [], - sl: [], - sr: [], - sw: [], - ta: [], - th: [], - tr: [], - uk: [], - uz: [], - vi: [], - zh: [], - "zh-tw": [], + // langCode: [bucket_number, bucket_number], } /****************************** @@ -149,6 +98,7 @@ const USER_OVERRIDE: BucketsList = { // Initialize console arguments const VERBOSE = Boolean(argv.v || argv.verbose) +const BUCKET_GENERATION_ONLY = Boolean(argv.b || argv.buckets) const FULL_BUCKET_NAME_SUMMARY = Boolean(argv.f || argv.full) // Initialize root paths @@ -275,6 +225,26 @@ const bucketsToImport: BucketsList = useUserOverRide ? USER_OVERRIDE : fetchReviewedCsv() +const highestBucketNumber: number = Object.values(bucketsToImport).reduce( + (prev: number, buckets: Array): number => + buckets[buckets.length - 1] > prev ? buckets[buckets.length - 1] : prev, + 0 +) +if (BUCKET_GENERATION_ONLY) { + const bucketsOverview = {} + Object.entries(bucketsToImport).forEach(([langCode, buckets]) => { + bucketsOverview[langCode] = Array(highestBucketNumber - 1) + .fill(0) + .map((_, i) => (buckets.includes(i + 1) ? i + 1 : "")) + }) + // Show buckets overview + console.table(bucketsOverview) + // Show buckets to import, set up for copy/paste to USER_OVERRIDE + console.log("const USER_OVERRIDE: BucketsList =", bucketsToImport) + // EXIT SCRIPT EARLY + process.exit(0) +} + /** * Reads `ls` file contents of `_path`, moving .md and .json files * to their corresponding destinations in the repo. Function is called From 43feee0f92819268dc8169200c8b31bfea280b44 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Mon, 18 Sep 2023 14:02:46 -0700 Subject: [PATCH 16/55] update comments --- src/scripts/crowdin-import.ts | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/scripts/crowdin-import.ts b/src/scripts/crowdin-import.ts index 3e419eb86de..b9e3a11fc19 100644 --- a/src/scripts/crowdin-import.ts +++ b/src/scripts/crowdin-import.ts @@ -15,6 +15,7 @@ const argv = require("minimist")(process.argv.slice(2)) ******************************/ /** + * -b,--buckets Prints buckets overview and exits * -v,--verbose Prints verbose console logs * -f,--full Prints full name of buckets in summary */ @@ -43,12 +44,15 @@ const argv = require("minimist")(process.argv.slice(2)) * ie. `es: [1, 10],` would import the "Homepage" and "Learn" buckets for Spanish * 2. Save file without committing* * - * Export/import translated content from Crowdin: + * Optionally: To view summary of buckets from CSV, run `yarn crowdin-import --buckets` or `yarn crowdin-import -b` + * Any items in USER_OVERRIDE will override the CSV import + * + * 3. Export translated content from Crowdin and import into ./.crowdin folder: * 1. Export latest translated content from Crowdin and unzip * 2. Copy languages folder from Crowdin export to ./.crowdin * ie. ./.crowdin/{lang-codes} * - * Execute script: + * 4. Execute script: * 1. Execute script by running `yarn crowdin-import` * 2. If successful, copy `GATSBY_BUILD_LANGS={langs}` output and paste in * your `.env`, then build site to test results. @@ -58,7 +62,8 @@ const argv = require("minimist")(process.argv.slice(2)) type BucketsList = { [key: string]: Array } const USER_OVERRIDE: BucketsList = { - // langCode: [bucket_number, bucket_number], + // FORMAT: lang_code: [bucket_number, bucket_number, ...], + // EXAMPLE: es: [1, 10, 12, 14], } /****************************** @@ -230,6 +235,12 @@ const highestBucketNumber: number = Object.values(bucketsToImport).reduce( buckets[buckets.length - 1] > prev ? buckets[buckets.length - 1] : prev, 0 ) + +/** + * If BUCKET_GENERATION_ONLY (-b, --buckets) flag is enabled, show overview + * of all langs and buckets to be imported. Also print a copy/paste ready + * object for USER_OVERRIDE, then exit the script early. + */ if (BUCKET_GENERATION_ONLY) { const bucketsOverview = {} Object.entries(bucketsToImport).forEach(([langCode, buckets]) => { @@ -237,11 +248,8 @@ if (BUCKET_GENERATION_ONLY) { .fill(0) .map((_, i) => (buckets.includes(i + 1) ? i + 1 : "")) }) - // Show buckets overview console.table(bucketsOverview) - // Show buckets to import, set up for copy/paste to USER_OVERRIDE console.log("const USER_OVERRIDE: BucketsList =", bucketsToImport) - // EXIT SCRIPT EARLY process.exit(0) } From 70cf4e0daac4d2c20e16ba676f2b4cb4335b80e9 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Thu, 21 Sep 2023 09:53:55 +0100 Subject: [PATCH 17/55] Add invalid link check to markdown checker --- src/scripts/markdownChecker.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/scripts/markdownChecker.ts b/src/scripts/markdownChecker.ts index 473ce982b89..ed7ab99673b 100644 --- a/src/scripts/markdownChecker.ts +++ b/src/scripts/markdownChecker.ts @@ -23,6 +23,19 @@ const BROKEN_LINK_REGEX = new RegExp( "\\[[^\\]]+\\]\\([^\\)\\s]+\\s[^\\)]+\\)", "g" ) +// This RegEx checks for invalid links in markdown content. +// The criteria for invalid links are: +// 1. Exclude images: The link shouldn't be preceded by an exclamation mark +// 2. Exclude internal links: The URL part of the link shouldn't start with a forward slash +// 3. Exclude fragment identifiers: The URL part of the link shouldn't start with a hash +// 4. Exclude typical external links: The URL part of the link shouldn't start with http or https +// 5. Exclude email links: The URL part of the link shouldn't start with mailto: +// 6. Exclude PDF links: The URL part of the link shouldn't end with .pdf +// 7. Exclude links wrapped in angled brackets: The URL part of the link shouldn't start with a < +const INVALID_LINK_REGEX = new RegExp( + "(? Date: Thu, 21 Sep 2023 10:07:05 +0100 Subject: [PATCH 18/55] Fix broken links --- .../contributing/translation-program/content-buckets/index.md | 2 +- .../docs/consensus-mechanisms/pos/block-proposal/index.md | 2 +- src/content/developers/docs/consensus-mechanisms/pow/index.md | 2 +- src/content/developers/docs/data-and-analytics/index.md | 2 +- .../developers/docs/networking-layer/portal-network/index.md | 4 ++-- .../developers/docs/nodes-and-clients/archive-nodes/index.md | 2 +- .../developers/tutorials/run-node-raspberry-pi/index.md | 2 +- src/content/translations/de/glossary/index.md | 2 +- src/content/translations/de/roadmap/statelessness/index.md | 2 +- .../es/developers/docs/consensus-mechanisms/index.md | 2 +- .../docs/consensus-mechanisms/pos/block-proposal/index.md | 2 +- .../developers/docs/nodes-and-clients/archive-nodes/index.md | 2 +- src/content/translations/es/glossary/index.md | 2 +- src/content/translations/fil/dao/index.md | 2 +- .../fr/developers/docs/consensus-mechanisms/pow/index.md | 2 +- .../fr/developers/docs/data-and-analytics/index.md | 2 +- src/content/translations/fr/glossary/index.md | 2 +- .../docs/consensus-mechanisms/pos/block-proposal/index.md | 2 +- .../it/developers/docs/consensus-mechanisms/pow/index.md | 2 +- .../it/developers/docs/data-and-analytics/index.md | 2 +- .../it/developers/docs/nodes-and-clients/run-a-node/index.md | 2 +- src/content/translations/it/glossary/index.md | 2 +- .../docs/consensus-mechanisms/pos/block-proposal/index.md | 2 +- .../ja/developers/docs/consensus-mechanisms/pos/faqs/index.md | 2 +- .../ja/developers/docs/consensus-mechanisms/pow/index.md | 2 +- .../ja/developers/docs/data-and-analytics/index.md | 2 +- .../ja/developers/tutorials/run-node-raspberry-pi/index.md | 2 +- .../how-to-use-slither-to-find-smart-contract-bugs/index.md | 4 ---- .../docs/consensus-mechanisms/pos/block-proposal/index.md | 2 +- .../pt-br/developers/docs/consensus-mechanisms/pow/index.md | 2 +- .../pt-br/developers/docs/data-and-analytics/index.md | 2 +- .../developers/docs/nodes-and-clients/archive-nodes/index.md | 2 +- src/content/translations/pt-br/glossary/index.md | 2 +- .../ro/developers/docs/programming-languages/dot-net/index.md | 2 +- .../tr/developers/docs/consensus-mechanisms/pow/index.md | 2 +- .../tr/developers/docs/data-and-analytics/index.md | 2 +- src/content/translations/tr/roadmap/statelessness/index.md | 2 +- .../docs/consensus-mechanisms/pos/block-proposal/index.md | 2 +- .../zh/developers/docs/consensus-mechanisms/pow/index.md | 2 +- .../zh/developers/docs/data-and-analytics/index.md | 2 +- src/content/translations/zh/glossary/index.md | 2 +- 41 files changed, 41 insertions(+), 45 deletions(-) diff --git a/src/content/contributing/translation-program/content-buckets/index.md b/src/content/contributing/translation-program/content-buckets/index.md index f47102625e3..323055bc894 100644 --- a/src/content/contributing/translation-program/content-buckets/index.md +++ b/src/content/contributing/translation-program/content-buckets/index.md @@ -91,7 +91,7 @@ Below is a breakdown of the website pages each content bucket contains. - [Improving user experience](/roadmap/user-experience/) - [Future-proofing Ethereum](/roadmap/future-proofing/) - [Danksharding](/roadmap/danksharding/) -- [Single slot finality](roadmap/single-slot-finality/) +- [Single slot finality](/roadmap/single-slot-finality/) - [Proposer-builder separation](/roadmap/pbs/) - [Secret leader election](/roadmap/secret-leader-election/) - [Account abstraction](/roadmap/account-abstraction/) diff --git a/src/content/developers/docs/consensus-mechanisms/pos/block-proposal/index.md b/src/content/developers/docs/consensus-mechanisms/pos/block-proposal/index.md index 90dd605389d..6b502b30304 100644 --- a/src/content/developers/docs/consensus-mechanisms/pos/block-proposal/index.md +++ b/src/content/developers/docs/consensus-mechanisms/pos/block-proposal/index.md @@ -64,6 +64,6 @@ The block proposer receives payment for their work. There is a `base_reward` cal - [Introduction to blocks](/developers/docs/blocks/) - [Introduction to proof-of-stake](/developers/docs/consensus-mechanisms/pos/) -- [Ethereum consensus specs](www.github.com/ethereum/consensus-specs) +- [Ethereum consensus specs](https://github.com/ethereum/consensus-specs) - [Introduction to Gasper](/developers/docs/consensus-mechanisms/pos/) - [Upgrading Ethereum](https://eth2book.info/) diff --git a/src/content/developers/docs/consensus-mechanisms/pow/index.md b/src/content/developers/docs/consensus-mechanisms/pow/index.md index 236719f5974..91a02d8f7ee 100644 --- a/src/content/developers/docs/consensus-mechanisms/pow/index.md +++ b/src/content/developers/docs/consensus-mechanisms/pow/index.md @@ -68,7 +68,7 @@ To complicate things further, transactions rejected on the temporary fork may no ## Proof-of-work energy-usage {#energy} -A major criticism of proof-of-work is the amount of energy output required to keep the network safe. To maintain security and decentralization, Ethereum on proof-of-work consumed large amounts of energy. Shortly before switching to proof-of-stake, Ethereum miners were collectively consuming about 70 TWh/yr (about the same as the Czech Republic - according to [digiconomist](digiconomist.net) on 18-July-2022). +A major criticism of proof-of-work is the amount of energy output required to keep the network safe. To maintain security and decentralization, Ethereum on proof-of-work consumed large amounts of energy. Shortly before switching to proof-of-stake, Ethereum miners were collectively consuming about 70 TWh/yr (about the same as the Czech Republic - according to [digiconomist](https://digiconomist.net/) on 18-July-2022). ## Pros and cons {#pros-and-cons} diff --git a/src/content/developers/docs/data-and-analytics/index.md b/src/content/developers/docs/data-and-analytics/index.md index ab98692405e..20317509f02 100644 --- a/src/content/developers/docs/data-and-analytics/index.md +++ b/src/content/developers/docs/data-and-analytics/index.md @@ -30,7 +30,7 @@ Using [GraphQL](https://graphql.org/), developers can query any of the curated o ## Client diversity -[Client diversity](/developers/docs/nodes-and-clients/client-diversity/) is important for the overall health of the Ethereum network because it provides resilience to bugs and exploits. There are now several client diversity dashboards including [clientdiversity.org](https://clientdiversity.org/), [rated.network](rated.network), [execution-diversity.info](https://execution-diversity.info/) and [Ethernodes](https://ethernodes.org/). +[Client diversity](/developers/docs/nodes-and-clients/client-diversity/) is important for the overall health of the Ethereum network because it provides resilience to bugs and exploits. There are now several client diversity dashboards including [clientdiversity.org](https://clientdiversity.org/), [rated.network](https://www.rated.network), [execution-diversity.info](https://execution-diversity.info/) and [Ethernodes](https://ethernodes.org/). ## Dune Analytics {#dune-analytics} diff --git a/src/content/developers/docs/networking-layer/portal-network/index.md b/src/content/developers/docs/networking-layer/portal-network/index.md index 9e49097a44d..0c556a4f312 100644 --- a/src/content/developers/docs/networking-layer/portal-network/index.md +++ b/src/content/developers/docs/networking-layer/portal-network/index.md @@ -24,7 +24,7 @@ The Portal Network aims to provide an alternative way for light nodes to get the ## How does the Portal Network work? {#how-does-portal-network-work} -Ethereum nodes have strict protocols that define how they communicate with each other. Execution clients communicate using a set of subprotocols known as [DevP2P](developers/docs/networking-layer/#devp2p), while consensus clients use a different stack of subprotocols called [libP2P](/developers/docs/networking-layer/#libp2p). These define the types of data that can be passed between nodes. +Ethereum nodes have strict protocols that define how they communicate with each other. Execution clients communicate using a set of subprotocols known as [DevP2P](/developers/docs/networking-layer/#devp2p), while consensus clients use a different stack of subprotocols called [libP2P](/developers/docs/networking-layer/#libp2p). These define the types of data that can be passed between nodes. ![devP2P and libP2P](portal-network-devp2p-libp2p.png) @@ -79,4 +79,4 @@ If one client experiences issues or vulnerabilities, other clients can continue - [The Portal Network (Piper Merriam at Devcon Bogota)](https://www.youtube.com/watch?v=0stc9jnQLXA). - [The Portal Network discord](https://discord.gg/CFFnmE7Hbs) -- [The Portal Network website](ethportal.net) +- [The Portal Network website](https://www.ethportal.net/) diff --git a/src/content/developers/docs/nodes-and-clients/archive-nodes/index.md b/src/content/developers/docs/nodes-and-clients/archive-nodes/index.md index 90c1b99bfc1..2cf47278c2c 100644 --- a/src/content/developers/docs/nodes-and-clients/archive-nodes/index.md +++ b/src/content/developers/docs/nodes-and-clients/archive-nodes/index.md @@ -56,7 +56,7 @@ Before starting your own archive node, learn about the differences between the c ## Recommended practices -Apart from general [recommendations for running a node](developers/docs/nodes-and-clients/run-a-node/), an archive node may be more demanding on hardware and maintenance. Considering Erigons [key features](https://github.com/ledgerwatch/erigon#key-features), the most practical approach is using the [Erigon](/developers/docs/nodes-and-clients/#erigon) client implementation. +Apart from general [recommendations for running a node](/developers/docs/nodes-and-clients/run-a-node/), an archive node may be more demanding on hardware and maintenance. Considering Erigons [key features](https://github.com/ledgerwatch/erigon#key-features), the most practical approach is using the [Erigon](/developers/docs/nodes-and-clients/#erigon) client implementation. ### Hardware diff --git a/src/content/developers/tutorials/run-node-raspberry-pi/index.md b/src/content/developers/tutorials/run-node-raspberry-pi/index.md index a08640fd718..1010a80ba1d 100644 --- a/src/content/developers/tutorials/run-node-raspberry-pi/index.md +++ b/src/content/developers/tutorials/run-node-raspberry-pi/index.md @@ -119,7 +119,7 @@ sudo journalctl -u lighthouse-beacon Note that the consensus client will sync in a few minutes because it uses checkpoint sync. The execution client will take longer - potentially several hours, and it will not start until the consensus client is already finished syncing (this is because the execution client needs a target to sync to, which the synced consensus client provides). -With the Geth and Lighthouse services running and synced, your Raspberry Pi is now an Ethereum node! It is most common to interact with the Ethereum network using Geth's Javascript console, which can be attached to the Geth client on port 8545. It is also possible to submit commands formatted as JSON objects using a request tool such as Curl. See more in the [Geth documentation](geth.ethereum.org). +With the Geth and Lighthouse services running and synced, your Raspberry Pi is now an Ethereum node! It is most common to interact with the Ethereum network using Geth's Javascript console, which can be attached to the Geth client on port 8545. It is also possible to submit commands formatted as JSON objects using a request tool such as Curl. See more in the [Geth documentation](https://geth.ethereum.org/). Geth is preconfigured to report metrics to a Grafana dashboard which can be viewed in the browser. More advanced users might wish to use this feature to monitor the health of their node by navigating to `ipaddress:3000`, passing `user: admin` and `passwd: ethereum`. diff --git a/src/content/translations/de/glossary/index.md b/src/content/translations/de/glossary/index.md index 61a651c6bdf..ec66a245afa 100644 --- a/src/content/translations/de/glossary/index.md +++ b/src/content/translations/de/glossary/index.md @@ -705,7 +705,7 @@ Ein Wert in der Kryptographie, der nur einmal verwendet werden kann. Eine Konto- ### Ommer- (Onkel-)Block {#ommer} -Wenn ein [Miner](#miner) einen gültigen [Block](#block) findet, könnte ein anderer Miner einen Konkurrenzblock veröffentlicht haben, der zuerst der Spitze der Blockchain hinzugefügt wird. Dieser gültige, aber veraltete Block kann von neueren Blöcken als _Ommers_ aufgenommen werden und erhält eine Teilblockbelohnung. Der Begriff „Ommer" ist der bevorzugte geschlechtsneutrale Begriff für das Geschwisterteil eines Elternblocks, aber es wird auch manchmal „Onkel" verwendet. Dies war für Ethereum relevant, als es sich um ein [Proof-of-Work](pow) Netzwerk handelte, aber die Ommers sind keine Eigenschaft von [Proof-of-Stake](#pos) Ethereum, weil genau ein Block-Antragsteller in jedem Slot ausgewählt wird. +Wenn ein [Miner](#miner) einen gültigen [Block](#block) findet, könnte ein anderer Miner einen Konkurrenzblock veröffentlicht haben, der zuerst der Spitze der Blockchain hinzugefügt wird. Dieser gültige, aber veraltete Block kann von neueren Blöcken als _Ommers_ aufgenommen werden und erhält eine Teilblockbelohnung. Der Begriff „Ommer" ist der bevorzugte geschlechtsneutrale Begriff für das Geschwisterteil eines Elternblocks, aber es wird auch manchmal „Onkel" verwendet. Dies war für Ethereum relevant, als es sich um ein [Proof-of-Work](#pow) Netzwerk handelte, aber die Ommers sind keine Eigenschaft von [Proof-of-Stake](#pos) Ethereum, weil genau ein Block-Antragsteller in jedem Slot ausgewählt wird. ### Optimistische Rollups (Optimistic Rollups) {#optimistic-rollup} diff --git a/src/content/translations/de/roadmap/statelessness/index.md b/src/content/translations/de/roadmap/statelessness/index.md index 36c63a073ae..49b4454e2ca 100644 --- a/src/content/translations/de/roadmap/statelessness/index.md +++ b/src/content/translations/de/roadmap/statelessness/index.md @@ -66,7 +66,7 @@ Schwache Zustandslosigkeit beinhaltet Änderungen dazu, wie Ethereum Nodes Zusta **Bei der schwachen Zustandslosigkeit brauchen Blöcke Zugriff auf die vollen Zustandsdaten, jedoch benötigt das Verifizieren von Blöcken keine Zustandsdaten** -Damit dies passieren kann, müssten [Verkle Bäume](../verkle-trees) bereits in Ethereum Clients implementiert sein. Verkle-Bäume sind eine Datenersetzungsstruktur um Ethereums Zustandsdaten zu speichern. Sie erlauben kleine "Zeugen" fester Größe, die dazu da sind Daten zwischen Peers zu vermitteln und Blöcke direkt, anstatt gegen lokale Datenbanken zu verifizieren. [Proposer-Builder Separation](/roadmap/pbs/) wird zudem benötigt, da es Blockerzeugern erlaubt spezialisierte Nodes mit leistungsfähigerer Hardware zu sein und da sie es sind, die Zugriff auf die vollen Zustandsdaten brauchen. +Damit dies passieren kann, müssten [Verkle Bäume](/roadmap/verkle-trees/) bereits in Ethereum Clients implementiert sein. Verkle-Bäume sind eine Datenersetzungsstruktur um Ethereums Zustandsdaten zu speichern. Sie erlauben kleine "Zeugen" fester Größe, die dazu da sind Daten zwischen Peers zu vermitteln und Blöcke direkt, anstatt gegen lokale Datenbanken zu verifizieren. [Proposer-Builder Separation](/roadmap/pbs/) wird zudem benötigt, da es Blockerzeugern erlaubt spezialisierte Nodes mit leistungsfähigerer Hardware zu sein und da sie es sind, die Zugriff auf die vollen Zustandsdaten brauchen. diff --git a/src/content/translations/es/developers/docs/consensus-mechanisms/index.md b/src/content/translations/es/developers/docs/consensus-mechanisms/index.md index 2a1f1703afa..2723bc911dc 100644 --- a/src/content/translations/es/developers/docs/consensus-mechanisms/index.md +++ b/src/content/translations/es/developers/docs/consensus-mechanisms/index.md @@ -56,7 +56,7 @@ Los validadores crean bloques. Un validador se selecciona aleatoriamente en cada Un sistema de prueba de participación es criptoeconómicamente seguro, porque un atacante que intente tomar el control de la cadena debe destruir una cantidad masiva de ETH. Un sistema de recompensas alienta a participantes individuales a comportarse honestamente, y las penalizaciones desaniman a los participantes a actuar malintencionadamente. -Más información sobre la [prueba de participación](developers/docs/consensus-mechanisms/pos/). +Más información sobre la [prueba de participación](/developers/docs/consensus-mechanisms/pos/). ### Una guía visual {#types-of-consensus-video} diff --git a/src/content/translations/es/developers/docs/consensus-mechanisms/pos/block-proposal/index.md b/src/content/translations/es/developers/docs/consensus-mechanisms/pos/block-proposal/index.md index 64a06c28308..2a32668768c 100644 --- a/src/content/translations/es/developers/docs/consensus-mechanisms/pos/block-proposal/index.md +++ b/src/content/translations/es/developers/docs/consensus-mechanisms/pos/block-proposal/index.md @@ -64,6 +64,6 @@ El proponente de bloques recibe el pago por su trabajo. Hay una `base_reward` ca - [Introducción a los bloques](/developers/docs/blocks/) - [Introducción a la prueba de participación](/developers/docs/consensus-mechanisms/pos/) -- [Especificaciones de consenso de Ethereum](www.github.com/ethereum/consensus-specs) +- [Especificaciones de consenso de Ethereum](https://github.com/ethereum/consensus-specs) - [Introducción a Gasper](/developers/docs/consensus-mechanisms/pos/) - [Actualización de Ethereum](https://eth2book.info/) diff --git a/src/content/translations/es/developers/docs/nodes-and-clients/archive-nodes/index.md b/src/content/translations/es/developers/docs/nodes-and-clients/archive-nodes/index.md index f7fdaddcb86..6e496468706 100644 --- a/src/content/translations/es/developers/docs/nodes-and-clients/archive-nodes/index.md +++ b/src/content/translations/es/developers/docs/nodes-and-clients/archive-nodes/index.md @@ -56,7 +56,7 @@ Antes de iniciar su propio nodo de archivo, conozca bien las diferencias entre l ## Prácticas recomendadas -Aparte de las [recomendaciones generales para ejecutar un nodo](developers/docs/nodes-and-clients/run-a-node/), el hardware y el mantenimiento de un nodo de archivo pueden ser más exigentes. Teniendo en cuenta las características clave [de Erigons](https://github.com/ledgerwatch/erigon#key-features), el enfoque más práctico es utilizar la implementación del cliente [Erigon](/developers/docs/nodes-and-clients/#erigon). +Aparte de las [recomendaciones generales para ejecutar un nodo](/developers/docs/nodes-and-clients/run-a-node/), el hardware y el mantenimiento de un nodo de archivo pueden ser más exigentes. Teniendo en cuenta las características clave [de Erigons](https://github.com/ledgerwatch/erigon#key-features), el enfoque más práctico es utilizar la implementación del cliente [Erigon](/developers/docs/nodes-and-clients/#erigon). ### Hardware diff --git a/src/content/translations/es/glossary/index.md b/src/content/translations/es/glossary/index.md index b9fbb449df0..ac6a19bd617 100644 --- a/src/content/translations/es/glossary/index.md +++ b/src/content/translations/es/glossary/index.md @@ -705,7 +705,7 @@ En criptografía, un valor que solo puede utilizarse una vez. Una cuenta nonce e ### bloque ommer (tío) {#ommer} -Cuando un [minero de prueba de trabajo](#miner) encuentra un [bloque](#block) válido, otro minero puede haber publicado un bloque competidor que se agrega primero a la punta de la cadena de bloques. Esto es válido, pero el bloque obsoleto se puede incluir mediante bloques nuevos a modo de _ommers_ y recibir una recompensa parcial de bloque. El término «ommer» es el término de género neutral preferido para el hermano de un bloque padre, aunque algunas veces, se le denomina «tío». Esto era relevante para Ethereum cuando era una red [prueba de trabajo](pow), pero los ommers no son una característica de [prueba de participación](#pos) Ethereum porque se selecciona precisamente un proponente de bloque en cada ranura. +Cuando un [minero de prueba de trabajo](#miner) encuentra un [bloque](#block) válido, otro minero puede haber publicado un bloque competidor que se agrega primero a la punta de la cadena de bloques. Esto es válido, pero el bloque obsoleto se puede incluir mediante bloques nuevos a modo de _ommers_ y recibir una recompensa parcial de bloque. El término «ommer» es el término de género neutral preferido para el hermano de un bloque padre, aunque algunas veces, se le denomina «tío». Esto era relevante para Ethereum cuando era una red [prueba de trabajo](#pow), pero los ommers no son una característica de [prueba de participación](#pos) Ethereum porque se selecciona precisamente un proponente de bloque en cada ranura. ### acumulaciones optimistas (Optimistic rollups) {#optimistic-rollup} diff --git a/src/content/translations/fil/dao/index.md b/src/content/translations/fil/dao/index.md index b46f2bbcd16..84d0c640849 100644 --- a/src/content/translations/fil/dao/index.md +++ b/src/content/translations/fil/dao/index.md @@ -5,7 +5,7 @@ lang: fil template: use-cases emoji: ":handshake:" sidebarDepth: 2 -image: ../../assets/use-cases/dao-2.png +image: ../../../../assets/use-cases/dao-2.png alt: Representasyon ng botohan ng DAO sa isang panukala. summaryPoint1: Mga komunidad ng mga miyembro na walang sentralisadong pamumuno. summaryPoint2: Isang ligtas na paraan para makipag-collaborate sa mga hindi kakilala sa internet. diff --git a/src/content/translations/fr/developers/docs/consensus-mechanisms/pow/index.md b/src/content/translations/fr/developers/docs/consensus-mechanisms/pow/index.md index e4f53f65b7c..e041589cceb 100644 --- a/src/content/translations/fr/developers/docs/consensus-mechanisms/pow/index.md +++ b/src/content/translations/fr/developers/docs/consensus-mechanisms/pow/index.md @@ -68,7 +68,7 @@ Mais pour compliquer davantage les choses, les transactions rejetées sur la fou ## Consommation d'énergie et preuve de travail {#energy} -Une critique majeure de la preuve de travail est la quantité d'énergie nécessaire pour assurer la sécurité du réseau. Pour maintenir la sécurité et la décentralisation, Ethereum consommait de grandes quantités d'énergie avec la preuve de travail. Peu avant de passer à la preuve d'enjeu, les mineurs d'Ethereum consommaient collectivement environ 70 TWh/an (à peu près autant que la République tchèque - selon le [digiconomist](digiconomist.net) le 18 juillet-2022). +Une critique majeure de la preuve de travail est la quantité d'énergie nécessaire pour assurer la sécurité du réseau. Pour maintenir la sécurité et la décentralisation, Ethereum consommait de grandes quantités d'énergie avec la preuve de travail. Peu avant de passer à la preuve d'enjeu, les mineurs d'Ethereum consommaient collectivement environ 70 TWh/an (à peu près autant que la République tchèque - selon le [digiconomist](https://digiconomist.net/) le 18 juillet-2022). ## Avantages et inconvénients {#pros-and-cons} diff --git a/src/content/translations/fr/developers/docs/data-and-analytics/index.md b/src/content/translations/fr/developers/docs/data-and-analytics/index.md index 05673f7eeeb..dec6c1d3c1d 100644 --- a/src/content/translations/fr/developers/docs/data-and-analytics/index.md +++ b/src/content/translations/fr/developers/docs/data-and-analytics/index.md @@ -30,7 +30,7 @@ En utilisant [GraphQL](https://graphql.org/), les développeurs peuvent interrog ## Diversité des clients -[La diversité du client](/developers/docs/nodes-and-clients/client-diversity/) est importante pour la santé globale du réseau Ethereum, car elle fournit de la résilience aux bogues et aux exploitations. Il y a maintenant plusieurs tableaux de bord de diversité de clients dont [clientdiversity.org, [rated.etwork](rated.network), [execution-diversity.info](https://execution-diversity.info/), [](https://ethernodes.org/) et Ethernodes](https://clientdiversity.org/). +[La diversité du client](/developers/docs/nodes-and-clients/client-diversity/) est importante pour la santé globale du réseau Ethereum, car elle fournit de la résilience aux bogues et aux exploitations. Il y a maintenant plusieurs tableaux de bord de diversité de clients dont [clientdiversity.org, [rated.etwork](https://rated.network/), [execution-diversity.info](https://execution-diversity.info/), [](https://ethernodes.org/) et Ethernodes](https://clientdiversity.org/). ## Dune Analytics {#dune-analytics} diff --git a/src/content/translations/fr/glossary/index.md b/src/content/translations/fr/glossary/index.md index aa85b376ae2..74ebfb38961 100644 --- a/src/content/translations/fr/glossary/index.md +++ b/src/content/translations/fr/glossary/index.md @@ -705,7 +705,7 @@ En cryptographie, valeur qui ne peut être utilisée qu'une seule fois. Le nonce ### bloc ommer (oncle) {#ommer} -Quand un [mineur](#miner) de preuve de travail trouve un [bloc](#block) valide, un autre mineur peut avoir publié un bloc concurrent, qui est ajouté en premier au sommet de la blockchain. Ce bloc valide, mais obsolète, peut être inclus par des blocs plus récents en tant que _bloc oncle_ et faire l'objet d'une récompense partielle. On utilise de préférence le terme « ommer », plus neutre, pour désigner le frère ou la sœur d'un bloc parent, mais on parle aussi parfois d'« oncle ». Ceci était pertinent pour Ethereum lorsqu'il était un réseau à [preuve de travail](pow), mais les blocs oncle ne sont pas une fonctionnalité de la [preuve d'enjeu](#pos) sur Ethereum, car un seul proposant de bloc est sélectionné à chaque créneau. +Quand un [mineur](#miner) de preuve de travail trouve un [bloc](#block) valide, un autre mineur peut avoir publié un bloc concurrent, qui est ajouté en premier au sommet de la blockchain. Ce bloc valide, mais obsolète, peut être inclus par des blocs plus récents en tant que _bloc oncle_ et faire l'objet d'une récompense partielle. On utilise de préférence le terme « ommer », plus neutre, pour désigner le frère ou la sœur d'un bloc parent, mais on parle aussi parfois d'« oncle ». Ceci était pertinent pour Ethereum lorsqu'il était un réseau à [preuve de travail](#pow), mais les blocs oncle ne sont pas une fonctionnalité de la [preuve d'enjeu](#pos) sur Ethereum, car un seul proposant de bloc est sélectionné à chaque créneau. ### Rollup optimiste {#optimistic-rollup} diff --git a/src/content/translations/it/developers/docs/consensus-mechanisms/pos/block-proposal/index.md b/src/content/translations/it/developers/docs/consensus-mechanisms/pos/block-proposal/index.md index 75e5fd9869e..7abc4c9a097 100644 --- a/src/content/translations/it/developers/docs/consensus-mechanisms/pos/block-proposal/index.md +++ b/src/content/translations/it/developers/docs/consensus-mechanisms/pos/block-proposal/index.md @@ -64,6 +64,6 @@ Il propositore del blocco riceve il pagamento per il proprio lavoro. Esiste una - [Introduzione ai blocchi](/developers/docs/blocks/) - [Introduzione al proof-of-stake](/developers/docs/consensus-mechanisms/pos/) -- [Specifiche del consenso di Ethereum](www.github.com/ethereum/consensus-specs) +- [Specifiche del consenso di Ethereum](https://github.com/ethereum/consensus-specs) - [Introduzione a Gasper](/developers/docs/consensus-mechanisms/pos/) - [Aggiornare Ethereum](https://eth2book.info/) diff --git a/src/content/translations/it/developers/docs/consensus-mechanisms/pow/index.md b/src/content/translations/it/developers/docs/consensus-mechanisms/pow/index.md index c481259a226..f148d992374 100644 --- a/src/content/translations/it/developers/docs/consensus-mechanisms/pow/index.md +++ b/src/content/translations/it/developers/docs/consensus-mechanisms/pow/index.md @@ -68,7 +68,7 @@ Per complicare ulteriormente le cose, le transazioni che erano state rifiutate s ## Consumo energetico del Proof of Work {#energy} -Una delle principali critiche mosse al Proof of Work riguarda la quantità di energia necessaria per mantenere la rete sicura. Per mantenere la sicurezza e la decentralizzazione, Ethereum sul Proof of Work consumava elevate quantità di energia. Poco prima di passare al Proof of Stake, i miner di Ethereum consumavano collettivamente circa 70 TWh/anno (quasi quanto la Repubblica ceca, secondo [digiconomist](digiconomist.net), il 18 luglio 2022). +Una delle principali critiche mosse al Proof of Work riguarda la quantità di energia necessaria per mantenere la rete sicura. Per mantenere la sicurezza e la decentralizzazione, Ethereum sul Proof of Work consumava elevate quantità di energia. Poco prima di passare al Proof of Stake, i miner di Ethereum consumavano collettivamente circa 70 TWh/anno (quasi quanto la Repubblica ceca, secondo [digiconomist](https://digiconomist.net/), il 18 luglio 2022). ## Pro e contro {#pros-and-cons} diff --git a/src/content/translations/it/developers/docs/data-and-analytics/index.md b/src/content/translations/it/developers/docs/data-and-analytics/index.md index 4004c847d85..e098411d82b 100644 --- a/src/content/translations/it/developers/docs/data-and-analytics/index.md +++ b/src/content/translations/it/developers/docs/data-and-analytics/index.md @@ -30,7 +30,7 @@ Usando [GraphQL](https://graphql.org/), gli sviluppatori possono interrogare una ## Diversità dei client -La [diversità dei client](/developers/docs/nodes-and-clients/client-diversity/) è importante per la salute complessiva della rete di Ethereum, poiché fornisce resilienza a bug ed exploit. Attualmente esistono vari pannelli di controllo della diversità del client, tra cui [clientdiversity.org](https://clientdiversity.org/), [rated.network](rated.network), [execution-diversity.info](https://execution-diversity.info/) ed [Ethernodes](https://ethernodes.org/). +La [diversità dei client](/developers/docs/nodes-and-clients/client-diversity/) è importante per la salute complessiva della rete di Ethereum, poiché fornisce resilienza a bug ed exploit. Attualmente esistono vari pannelli di controllo della diversità del client, tra cui [clientdiversity.org](https://clientdiversity.org/), [rated.network](https://rated.network/), [execution-diversity.info](https://execution-diversity.info/) ed [Ethernodes](https://ethernodes.org/). ## Dune Analytics {#dune-analytics} diff --git a/src/content/translations/it/developers/docs/nodes-and-clients/run-a-node/index.md b/src/content/translations/it/developers/docs/nodes-and-clients/run-a-node/index.md index 871c66088d3..0d953e675b7 100644 --- a/src/content/translations/it/developers/docs/nodes-and-clients/run-a-node/index.md +++ b/src/content/translations/it/developers/docs/nodes-and-clients/run-a-node/index.md @@ -140,7 +140,7 @@ Come spiegato prima, configurare il tuo nodo di Ethereum richiederà l'esecuzion #### Ottenere il software del client {#getting-the-client} -Prima di tutto devi ottenere il software dei tuoi [client di esecuzione](/developers/docs/nodes-and-clients/#execution-clients) e [client di consenso](developers/docs/nodes-and-clients/#consensus-clients) preferiti. +Prima di tutto devi ottenere il software dei tuoi [client di esecuzione](/developers/docs/nodes-and-clients/#execution-clients) e [client di consenso](/developers/docs/nodes-and-clients/#consensus-clients) preferiti. Puoi semplicemente scaricare un'applicazione eseguibile o pacchetto d'installazione più adatto al tuo sistema operativo e alla tua architettura. Verifica sempre le firme e le checksum dei pacchetti scaricati. Alcuni client offrono anche repository o immagini Docker per facilitare l’installazione e gli aggiornamenti. Tutti i client sono open source, quindi puoi anche compilarli da sorgente. Questo è un metodo più avanzato ma, in alcuni casi, potrebbe esser richiesto. diff --git a/src/content/translations/it/glossary/index.md b/src/content/translations/it/glossary/index.md index a392e6e9147..6cbbb39621b 100644 --- a/src/content/translations/it/glossary/index.md +++ b/src/content/translations/it/glossary/index.md @@ -705,7 +705,7 @@ In termini crittografici è un valore che può essere usato una volta sola. Il n ### blocco ommer (zio) {#ommer} -Nel momento in cui un [miner](#miner) di Proof-of-Work trova un [blocco](#block) valido, un altro miner potrebbe aver pubblicato un blocco concorrente e averlo aggiunto alla fine della blockchain. Questo blocco valido, ma non aggiornato, può essere incluso dai nuovi blocchi come _ommer_ e ricevere una ricompensa parziale per i blocchi. Il termine "ommer" è il termine preferito, neutro dal punto di vista del genere, per lo stesso livello di un blocco padre, ma a volte viene anche indicato come "zio". Ciò era rilevante per Ethereum quando era una rete di [Proof-of-Work](pow), ma gli ommer non sono una caratteristica dell'Ethereum [Proof-of-Stake](#pos), perché in ogni slot è selezionato precisamente un propositore del blocco. +Nel momento in cui un [miner](#miner) di Proof-of-Work trova un [blocco](#block) valido, un altro miner potrebbe aver pubblicato un blocco concorrente e averlo aggiunto alla fine della blockchain. Questo blocco valido, ma non aggiornato, può essere incluso dai nuovi blocchi come _ommer_ e ricevere una ricompensa parziale per i blocchi. Il termine "ommer" è il termine preferito, neutro dal punto di vista del genere, per lo stesso livello di un blocco padre, ma a volte viene anche indicato come "zio". Ciò era rilevante per Ethereum quando era una rete di [Proof-of-Work](#pow), ma gli ommer non sono una caratteristica dell'Ethereum [Proof-of-Stake](#pos), perché in ogni slot è selezionato precisamente un propositore del blocco. ### rollup ottimistico {#optimistic-rollup} diff --git a/src/content/translations/ja/developers/docs/consensus-mechanisms/pos/block-proposal/index.md b/src/content/translations/ja/developers/docs/consensus-mechanisms/pos/block-proposal/index.md index 76156776738..593f8d113d7 100644 --- a/src/content/translations/ja/developers/docs/consensus-mechanisms/pos/block-proposal/index.md +++ b/src/content/translations/ja/developers/docs/consensus-mechanisms/pos/block-proposal/index.md @@ -64,6 +64,6 @@ class BeaconBlockBody(Container): - [ブロック入門](/developers/docs/blocks/) - [プルーフ・オブ・ステーク入門](/developers/docs/consensus-mechanisms/pos/) -- [イーサリアムにおけるコンセンサスの仕様](www.github.com/ethereum/consensus-specs) +- [イーサリアムにおけるコンセンサスの仕様](https://github.com/ethereum/consensus-specs) - [ガスパー入門](/developers/docs/consensus-mechanisms/pos/) - [イーサリアムのアップグレード](https://eth2book.info/) diff --git a/src/content/translations/ja/developers/docs/consensus-mechanisms/pos/faqs/index.md b/src/content/translations/ja/developers/docs/consensus-mechanisms/pos/faqs/index.md index 4e89e1022a7..86a34dce88d 100644 --- a/src/content/translations/ja/developers/docs/consensus-mechanisms/pos/faqs/index.md +++ b/src/content/translations/ja/developers/docs/consensus-mechanisms/pos/faqs/index.md @@ -26,7 +26,7 @@ lang: ja プルーフ・オブ・ステークのネットワークに含まれる各ノードは、ごくわずかの電力しか消費しません。 あるサードパーティ調査によれば、イーサリアムにおけるプルーフ・オブ・ステークのネットワーク全体で消費される電力は年間 0.0026TWh であり、米国のゲーム用途の電力消費量と比較するとおよそ 1 万 3,000 分の 1 に過ぎません。 -[イーサリアムのエネルギー消費についての詳細](energy-consumption/) +[イーサリアムのエネルギー消費についての詳細](/energy-consumption/) ## プルーフ・オブ・ステークは安全ですか? {#is-pos-secure} diff --git a/src/content/translations/ja/developers/docs/consensus-mechanisms/pow/index.md b/src/content/translations/ja/developers/docs/consensus-mechanisms/pow/index.md index 79325924bcf..7343c68584c 100644 --- a/src/content/translations/ja/developers/docs/consensus-mechanisms/pow/index.md +++ b/src/content/translations/ja/developers/docs/consensus-mechanisms/pow/index.md @@ -68,7 +68,7 @@ lang: ja ## プルーフ・オブ・ワークのエネルギー使用 {#energy} -ネットワークを安全に保つために必要なエネルギー量は、プルーフ・オブ・ワークが批判を受ける大きな要因です。 セキュリティと分散化を維持するために、プルーフ・オブ・ワークのイーサリアムは多量のエネルギーを消費しました。 プルーフ・オブ・ステークへの少し前、イーサリアムのマイナーは合計で年間約 70 TWh を消費していました(2022 年 7 月 18 日の[digiconomist](digiconomist.net)によるとチェコ共和国とほぼ同等量) 。 +ネットワークを安全に保つために必要なエネルギー量は、プルーフ・オブ・ワークが批判を受ける大きな要因です。 セキュリティと分散化を維持するために、プルーフ・オブ・ワークのイーサリアムは多量のエネルギーを消費しました。 プルーフ・オブ・ステークへの少し前、イーサリアムのマイナーは合計で年間約 70 TWh を消費していました(2022 年 7 月 18 日の[digiconomist](https://digiconomist.net/)によるとチェコ共和国とほぼ同等量) 。 ## メリットとデメリット {#pros-and-cons} diff --git a/src/content/translations/ja/developers/docs/data-and-analytics/index.md b/src/content/translations/ja/developers/docs/data-and-analytics/index.md index f72ea9fe6ff..fd7926a2ae2 100644 --- a/src/content/translations/ja/developers/docs/data-and-analytics/index.md +++ b/src/content/translations/ja/developers/docs/data-and-analytics/index.md @@ -30,7 +30,7 @@ lang: ja ## クライアントの多様性 -[クライアントの多様性](/developers/docs/nodes-and-clients/client-diversity/)は、バグや脆弱性に対する回復力を提供します。そのため、イーサリアムネットワーク全体の健全性にとって重要です。 現在、[clientdiversity.org](https://clientdiversity.org/)、[rated.network](rated.network)、[pool.invis.cloud](pool.invis.cloud)、[slashed.info](slahed.info)、[Ethernodes](https://ethernodes.org/)など、いくつかのクライアント多様性ダッシュボードがあります。 +[クライアントの多様性](/developers/docs/nodes-and-clients/client-diversity/)は、バグや脆弱性に対する回復力を提供します。そのため、イーサリアムネットワーク全体の健全性にとって重要です。 現在、[clientdiversity.org](https://clientdiversity.org/)、[rated.network](https://rated.network/)、[slashed.info](https://www.slashed.info/)、[Ethernodes](https://ethernodes.org/)など、いくつかのクライアント多様性ダッシュボードがあります。 ## Dune Analytics {#dune-analytics} diff --git a/src/content/translations/ja/developers/tutorials/run-node-raspberry-pi/index.md b/src/content/translations/ja/developers/tutorials/run-node-raspberry-pi/index.md index 949b37cb453..bb2d6d722a6 100644 --- a/src/content/translations/ja/developers/tutorials/run-node-raspberry-pi/index.md +++ b/src/content/translations/ja/developers/tutorials/run-node-raspberry-pi/index.md @@ -124,7 +124,7 @@ sudo journalctl -u lighthouse-beacon チェックポイント同期を使用するため、コンセンサスクライアントは数分で同期されることに注意してください。 実行クライアントは、同期により時間がかかります。数時間かかる場合もあります。さらに、コンセンサスクライアントの同期が完了するまで、同期を開始しません(これは、実行クライアントが、同期されたコンセンサスクライアントが提供する同期先のターゲットを必要とするためです)。 -Geth とライトハウスのサービスが開始し同期されると、Raspberry Pi がイーサリアムノードになります。 イーサリアムネットワークとのやり取りを行うには、8545 ポートで Geth クライアントに接続し、Geth の Javascript コンソールを使うことが最も一般的な方法です。 また、Curl などのリクエストツールを使用して、JSON オブジェクトとしてフォーマットされたコマンドを送信することもできます。 詳細は、[Geth のドキュメント](geth.ethereum.org)をご覧ください。 +Geth とライトハウスのサービスが開始し同期されると、Raspberry Pi がイーサリアムノードになります。 イーサリアムネットワークとのやり取りを行うには、8545 ポートで Geth クライアントに接続し、Geth の Javascript コンソールを使うことが最も一般的な方法です。 また、Curl などのリクエストツールを使用して、JSON オブジェクトとしてフォーマットされたコマンドを送信することもできます。 詳細は、[Geth のドキュメント](https://geth.ethereum.org/)をご覧ください。 Geth は、ブラウザで表示できる Grafana ダッシュボードに、メトリクスをレポートするように事前設定されています。 この機能を使用してノードの健全性を監視したい上級ユーザーは、`ipaddress:3000`にアクセスして`user: admin`と`passwd: ethereum`を入力してください。 diff --git a/src/content/translations/pl/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md b/src/content/translations/pl/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md index 3e7eab5f294..e1c4cdfa7ca 100644 --- a/src/content/translations/pl/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md +++ b/src/content/translations/pl/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md @@ -234,7 +234,3 @@ Obiekt `Function` lub `Modifier` ma: - `variables_written (list(Variable))`: lista zapisanych zmiennych - `state_variables_read (list(StateVariable))`: lista odczytanych zmiennych stanu (podzbiór zmiennych`read) - `state_variables_written (list(StateVariable))`: lista zapisanych zmiennych stanu (podzbiór zmiennych`written) - -### Przykład: Drukuj podstawowe informacje {#example-print-basic-information} - -[print_basic_information.py](./examples/print_basic_information.py) pokazuje, jak wydrukować podstawowe informacje o projekcie. diff --git a/src/content/translations/pt-br/developers/docs/consensus-mechanisms/pos/block-proposal/index.md b/src/content/translations/pt-br/developers/docs/consensus-mechanisms/pos/block-proposal/index.md index cbd5b5796e4..83d1bc76255 100644 --- a/src/content/translations/pt-br/developers/docs/consensus-mechanisms/pos/block-proposal/index.md +++ b/src/content/translations/pt-br/developers/docs/consensus-mechanisms/pos/block-proposal/index.md @@ -64,6 +64,6 @@ O proponente de blocos recebe pagamento pelo seu trabalho. Há uma `base_reward` - [Introdução aos blocos](/developers/docs/blocks/) - [Introdução à prova de participação](/developers/docs/consensus-mechanisms/pos/) -- [Especificações do consenso do Ethereum](www.github.com/ethereum/consensus-specs) +- [Especificações do consenso do Ethereum](https://github.com/ethereum/consensus-specs) - [Introdução ao Gasper](/developers/docs/consensus-mechanisms/pos/) - [Atualizando o Ethereum](https://eth2book.info/) diff --git a/src/content/translations/pt-br/developers/docs/consensus-mechanisms/pow/index.md b/src/content/translations/pt-br/developers/docs/consensus-mechanisms/pow/index.md index 52ac0066739..97227170952 100644 --- a/src/content/translations/pt-br/developers/docs/consensus-mechanisms/pow/index.md +++ b/src/content/translations/pt-br/developers/docs/consensus-mechanisms/pow/index.md @@ -68,7 +68,7 @@ Para complicar ainda mais, as transações rejeitadas na bifurcação temporári ## Uso de energia na prova de trabalho {#energy} -Uma importante crítica à prova de trabalho é a quantidade de energia necessária para manter a rede segura. Para manter a segurança e a descentralização, o Ethereum na prova de trabalho consumia grandes quantidades de energia. Pouco antes de mudar para a prova de participação, os mineradores do Ethereum consumiam coletivamente cerca de 70 TWh/ano (aproximadamente o mesmo que a República Tcheca – de acordo com [digiconomist](digiconomist.net) em 18 de julho de 2022). +Uma importante crítica à prova de trabalho é a quantidade de energia necessária para manter a rede segura. Para manter a segurança e a descentralização, o Ethereum na prova de trabalho consumia grandes quantidades de energia. Pouco antes de mudar para a prova de participação, os mineradores do Ethereum consumiam coletivamente cerca de 70 TWh/ano (aproximadamente o mesmo que a República Tcheca – de acordo com [digiconomist](https://digiconomist.net/) em 18 de julho de 2022). ## Prós e contras {#pros-and-cons} diff --git a/src/content/translations/pt-br/developers/docs/data-and-analytics/index.md b/src/content/translations/pt-br/developers/docs/data-and-analytics/index.md index 2a012b1bb17..2c3e7d8406d 100644 --- a/src/content/translations/pt-br/developers/docs/data-and-analytics/index.md +++ b/src/content/translations/pt-br/developers/docs/data-and-analytics/index.md @@ -30,7 +30,7 @@ Usando o [GraphQL](https://graphql.org/), os desenvolvedores podem consultar qua ## Diversidade dos clientes -A [diversidade do cliente](/developers/docs/nodes-and-clients/client-diversity/) é importante para a saúde geral da rede Ethereum porque fornece resiliência a bugs e explorações. Agora existem vários painéis de diversidade do cliente, incluindo [clientdiversity.org](https://clientdiversity.org/), [rated.network](rated.network), [execution-diversity.info](https://execution-diversity.info/) e [Ethernodes](https://ethernodes.org/). +A [diversidade do cliente](/developers/docs/nodes-and-clients/client-diversity/) é importante para a saúde geral da rede Ethereum porque fornece resiliência a bugs e explorações. Agora existem vários painéis de diversidade do cliente, incluindo [clientdiversity.org](https://clientdiversity.org/), [rated.network](https://rated.network/), [execution-diversity.info](https://execution-diversity.info/) e [Ethernodes](https://ethernodes.org/). ## Dune Analytics {#dune-analytics} diff --git a/src/content/translations/pt-br/developers/docs/nodes-and-clients/archive-nodes/index.md b/src/content/translations/pt-br/developers/docs/nodes-and-clients/archive-nodes/index.md index 8e5d9c7b86b..c9cfe4ef61a 100644 --- a/src/content/translations/pt-br/developers/docs/nodes-and-clients/archive-nodes/index.md +++ b/src/content/translations/pt-br/developers/docs/nodes-and-clients/archive-nodes/index.md @@ -56,7 +56,7 @@ Antes de iniciar seu próprio nó de arquivo, aprenda sobre as diferenças entre ## Práticas recomendadas -Além das [recomendações gerais para executar um nó](developers/docs/nodes-and-clients/run-a-node/), um nó de arquivo pode demandar mais hardware e manutenção. Considerando as [principais funcionalidades](https://github.com/ledgerwatch/erigon#key-features) do Erigon, a abordagem mais prática é usar a implementação cliente do [Erigon](/developers/docs/nodes-and-clients/#erigon). +Além das [recomendações gerais para executar um nó](/developers/docs/nodes-and-clients/run-a-node/), um nó de arquivo pode demandar mais hardware e manutenção. Considerando as [principais funcionalidades](https://github.com/ledgerwatch/erigon#key-features) do Erigon, a abordagem mais prática é usar a implementação cliente do [Erigon](/developers/docs/nodes-and-clients/#erigon). ### Hardware diff --git a/src/content/translations/pt-br/glossary/index.md b/src/content/translations/pt-br/glossary/index.md index 66f3d1e4dc2..fc01e6ec800 100644 --- a/src/content/translations/pt-br/glossary/index.md +++ b/src/content/translations/pt-br/glossary/index.md @@ -705,7 +705,7 @@ Em criptografia, um valor que só pode ser usado uma vez. O nonce de conta é um ### bloco ommer (tio) {#ommer} -Quando um [minerador](#miner) de prova de trabalho encontra um [bloco](#block) válido, outro minerador pode ter publicado um bloco concorrente, que é primeiro adicionado à ponta da cadeia de blocos. Este bloco válido, mas obsoleto, pode ser incluído por blocos mais recentes como _ommers_ e receber uma recompensa parcial de bloco. O termo "ommer" é o termo neutro de gênero preferido para o irmão de um bloco pai, mas às vezes também é chamado de "tio". Isso era relevante para o Ethereum quando ele era uma rede de [prova de trabalho](pow), mas os ommers não são um recurso de [prova de participação](#pos) do Ethereum porque, precisamente, um proponente de blocos é selecionado em cada espaço. +Quando um [minerador](#miner) de prova de trabalho encontra um [bloco](#block) válido, outro minerador pode ter publicado um bloco concorrente, que é primeiro adicionado à ponta da cadeia de blocos. Este bloco válido, mas obsoleto, pode ser incluído por blocos mais recentes como _ommers_ e receber uma recompensa parcial de bloco. O termo "ommer" é o termo neutro de gênero preferido para o irmão de um bloco pai, mas às vezes também é chamado de "tio". Isso era relevante para o Ethereum quando ele era uma rede de [prova de trabalho](#pow), mas os ommers não são um recurso de [prova de participação](#pos) do Ethereum porque, precisamente, um proponente de blocos é selecionado em cada espaço. ### rollup otimista {#optimistic-rollup} diff --git a/src/content/translations/ro/developers/docs/programming-languages/dot-net/index.md b/src/content/translations/ro/developers/docs/programming-languages/dot-net/index.md index 53830eee326..2f4f4732f23 100644 --- a/src/content/translations/ro/developers/docs/programming-languages/dot-net/index.md +++ b/src/content/translations/ro/developers/docs/programming-languages/dot-net/index.md @@ -76,7 +76,7 @@ Căutaţi şi alte resurse? Accesează [ethereum.org/developers](/developers/). ## Colaboratori ai comunității .NET {#dot-net-community-contributors} -Pe noi, cei de la Nethereum, ne puteţi găsi pe [Gitter](gitter.im/Nethereum/Nethereum), unde toată lumea poate să pună întrebări și să dea răspunsuri, să primească ajutor sau pur și simplu să se relaxeze. Puteţi crea un PR sau ridica o problemă în [Repo-ul GitHub Nethereum](https://github.com/Nethereum) sau puteţi descoperi numeroasele noastre proiecte secundare/de exemplificare. Ne puteţi găsi și pe [Discord](https://discord.gg/jQPrR58FxX)! +Pe noi, cei de la Nethereum, ne puteţi găsi pe [Gitter](https://gitter.im/Nethereum/Nethereum), unde toată lumea poate să pună întrebări și să dea răspunsuri, să primească ajutor sau pur și simplu să se relaxeze. Puteţi crea un PR sau ridica o problemă în [Repo-ul GitHub Nethereum](https://github.com/Nethereum) sau puteţi descoperi numeroasele noastre proiecte secundare/de exemplificare. Ne puteţi găsi și pe [Discord](https://discord.gg/jQPrR58FxX)! La Nethermind, vă invităm să ne contactaţi prin [Gitter](//gitter.im/nethermindeth/nethermind). Pentru PR sau probleme, accesaţi [Repo-ul GitHub Nethermind](https://github.com/NethermindEth/nethermind). diff --git a/src/content/translations/tr/developers/docs/consensus-mechanisms/pow/index.md b/src/content/translations/tr/developers/docs/consensus-mechanisms/pow/index.md index fcd5bbf5d5b..1f2b9036b5b 100644 --- a/src/content/translations/tr/developers/docs/consensus-mechanisms/pow/index.md +++ b/src/content/translations/tr/developers/docs/consensus-mechanisms/pow/index.md @@ -68,7 +68,7 @@ Madenciler merkeziyetsiz bir şekilde çalıştıkları için, aynı anda iki ge ## İş ispatı enerji kullanımı {#energy} -İş ispatıyla ilgili büyük bir eleştiri, iş ispatının ağı güvende tutması için gereken enerji miktarı hakkındadır. Güvenlik ve merkeziyetsizliği sürdürmek için is ispatındaki Ethereum, büyük miktarda eneji tüketti. Hisse ispatına geçmeden kısa süre önce Ethereum madencileri toplu olarak yaklaşık 70 TWh/yıl kadar enerji (18 Temmuz 2022'de [digiconomist](digiconomist.net)'e göre Çek Cumhuriyeti ile neredeyse aynı) harcardı. +İş ispatıyla ilgili büyük bir eleştiri, iş ispatının ağı güvende tutması için gereken enerji miktarı hakkındadır. Güvenlik ve merkeziyetsizliği sürdürmek için is ispatındaki Ethereum, büyük miktarda eneji tüketti. Hisse ispatına geçmeden kısa süre önce Ethereum madencileri toplu olarak yaklaşık 70 TWh/yıl kadar enerji (18 Temmuz 2022'de [digiconomist](https://digiconomist.net/)'e göre Çek Cumhuriyeti ile neredeyse aynı) harcardı. ## Artıları ve eksileri {#pros-and-cons} diff --git a/src/content/translations/tr/developers/docs/data-and-analytics/index.md b/src/content/translations/tr/developers/docs/data-and-analytics/index.md index efcc0b35a06..ba535092ad1 100644 --- a/src/content/translations/tr/developers/docs/data-and-analytics/index.md +++ b/src/content/translations/tr/developers/docs/data-and-analytics/index.md @@ -30,7 +30,7 @@ Geliştiriciler, [GraphQL](https://graphql.org/)'u kullanarak, alt grafikler ola ## İstemci çeşitliliği -[İstemci çeşitliliği](/developers/docs/nodes-and-clients/client-diversity/), Ethereum ağı için genel sağlık açısından önemlidir çünkü hatalara veya açıklardan kaynaklanabilecek istismar ve sorunlara karşı esneklik veya direnç sağlar. Şu anda [clientdiversity.org](https://clientdiversity.org/), [rated.network](rated.network), [execution-diversity.info](https://execution-diversity.info/) ve [Ethernodes](https://ethernodes.org/) dahil olmak üzere çeşitli istemci çeşitliliği gösterge panelleri bulunmaktadır. +[İstemci çeşitliliği](/developers/docs/nodes-and-clients/client-diversity/), Ethereum ağı için genel sağlık açısından önemlidir çünkü hatalara veya açıklardan kaynaklanabilecek istismar ve sorunlara karşı esneklik veya direnç sağlar. Şu anda [clientdiversity.org](https://clientdiversity.org/), [rated.network](https://rated.network/), [execution-diversity.info](https://execution-diversity.info/) ve [Ethernodes](https://ethernodes.org/) dahil olmak üzere çeşitli istemci çeşitliliği gösterge panelleri bulunmaktadır. ## Dune Analytics {#dune-analytics} diff --git a/src/content/translations/tr/roadmap/statelessness/index.md b/src/content/translations/tr/roadmap/statelessness/index.md index fc7e937470a..5cc6bb4891c 100644 --- a/src/content/translations/tr/roadmap/statelessness/index.md +++ b/src/content/translations/tr/roadmap/statelessness/index.md @@ -66,7 +66,7 @@ Zayıf durumsuzluk Ethereum düğümlerinin durum değişikliklerini onaylaması **Zayıf durumsuzlukta blok önerileri tüm durum verisine erişim gerektirir fakat blokları onaylamak hiç durum verisi gerektirmez** -Bunun olabilmesi için [Verkle ağaçları](../verkle-trees) Ethereum istemcilerinde çoktan uygulanmış olmalıdır. Verkle ağaçları, veri yapıları yerine kullanılan, Ethereum depolamada veriye eşler arasında küçük, ayarlanmış tanıklar gönderilmesini sağlayan ve yerel veritabanlarına karşı blok onaylamak yerine direkt olarak blok onaylamak için kullanılan bir yedektir. [Önerici-inşa edici ayrımı](/roadmap/pbs/) ayrıca gereklidir çünkü bu blok oluşturucularının daha güçlü donanımlarla uzmanlaşmış düğümler olmasının önünü açar ve bu uzmanlaşmış düğümler tüm durum verilerine ihtiyaç duyarlar. +Bunun olabilmesi için [Verkle ağaçları](/roadmap/verkle-trees/) Ethereum istemcilerinde çoktan uygulanmış olmalıdır. Verkle ağaçları, veri yapıları yerine kullanılan, Ethereum depolamada veriye eşler arasında küçük, ayarlanmış tanıklar gönderilmesini sağlayan ve yerel veritabanlarına karşı blok onaylamak yerine direkt olarak blok onaylamak için kullanılan bir yedektir. [Önerici-inşa edici ayrımı](/roadmap/pbs/) ayrıca gereklidir çünkü bu blok oluşturucularının daha güçlü donanımlarla uzmanlaşmış düğümler olmasının önünü açar ve bu uzmanlaşmış düğümler tüm durum verilerine ihtiyaç duyarlar. diff --git a/src/content/translations/zh/developers/docs/consensus-mechanisms/pos/block-proposal/index.md b/src/content/translations/zh/developers/docs/consensus-mechanisms/pos/block-proposal/index.md index 2fd6b14e7e9..55fc8c0e95c 100644 --- a/src/content/translations/zh/developers/docs/consensus-mechanisms/pos/block-proposal/index.md +++ b/src/content/translations/zh/developers/docs/consensus-mechanisms/pos/block-proposal/index.md @@ -64,6 +64,6 @@ class BeaconBlockBody(Container): - [区块简介](/developers/docs/blocks/) - [权益证明简介](/developers/docs/consensus-mechanisms/pos/) -- [以太坊共识规范](www.github.com/ethereum/consensus-specs) +- [以太坊共识规范](https://github.com/ethereum/consensus-specs) - [Gasper 简介](/developers/docs/consensus-mechanisms/pos/) - [升级以太坊](https://eth2book.info/) diff --git a/src/content/translations/zh/developers/docs/consensus-mechanisms/pow/index.md b/src/content/translations/zh/developers/docs/consensus-mechanisms/pow/index.md index 6ee08834f9e..6acfaf44785 100644 --- a/src/content/translations/zh/developers/docs/consensus-mechanisms/pow/index.md +++ b/src/content/translations/zh/developers/docs/consensus-mechanisms/pow/index.md @@ -68,7 +68,7 @@ lang: zh ## 工作量证明能源消耗 {#energy} -对工作量证明提出的一项主要批评是保证网络安全所需的能源消耗。 为了维持安全和去中心化,采用工作量证明的以太坊每年消耗大量能源。 在以太坊过渡到权益证明前的一小段时间内,以太坊矿工的总能源消耗大约为 70 亿千瓦时/年(大约与捷克共和国相当 - 数据来自 2022 年 7 月 18 日 [digiconomist](digiconomist.net))。 +对工作量证明提出的一项主要批评是保证网络安全所需的能源消耗。 为了维持安全和去中心化,采用工作量证明的以太坊每年消耗大量能源。 在以太坊过渡到权益证明前的一小段时间内,以太坊矿工的总能源消耗大约为 70 亿千瓦时/年(大约与捷克共和国相当 - 数据来自 2022 年 7 月 18 日 [digiconomist](https://digiconomist.net/))。 ## 优点和缺点 {#pros-and-cons} diff --git a/src/content/translations/zh/developers/docs/data-and-analytics/index.md b/src/content/translations/zh/developers/docs/data-and-analytics/index.md index 75081d8cf53..0f162a26b66 100644 --- a/src/content/translations/zh/developers/docs/data-and-analytics/index.md +++ b/src/content/translations/zh/developers/docs/data-and-analytics/index.md @@ -30,7 +30,7 @@ lang: zh ## 客户端多样性 -[客户端多样性](/developers/docs/nodes-and-clients/client-diversity/)对于以太坊网络的整体健康很重要,因为它提供了对错误和漏洞利用的弹性。 目前,出现了一些客户端多样性仪表板,包括 [clientdiversity.org](https://clientdiversity.org/)、[rated.network](rated.network)、[execution-diversity.info](https://execution-diversity.info/) 和 [Ethernodes](https://ethernodes.org/)。 +[客户端多样性](/developers/docs/nodes-and-clients/client-diversity/)对于以太坊网络的整体健康很重要,因为它提供了对错误和漏洞利用的弹性。 目前,出现了一些客户端多样性仪表板,包括 [clientdiversity.org](https://clientdiversity.org/)、[rated.network](https://rated.network/)、[execution-diversity.info](https://execution-diversity.info/) 和 [Ethernodes](https://ethernodes.org/)。 ## Dune Analytics {#dune-analytics} diff --git a/src/content/translations/zh/glossary/index.md b/src/content/translations/zh/glossary/index.md index 3517aa3d142..0bc1d60b8fa 100644 --- a/src/content/translations/zh/glossary/index.md +++ b/src/content/translations/zh/glossary/index.md @@ -705,7 +705,7 @@ Gigawei 的缩写,[以太币](#ether)的一种计量单位,通常用于[燃 ### 叔块 {#ommer} -当工作量证明下的一位[矿工](#miner)找到一个有效[区块](#block)时,另一位矿工可能已经发布了一个竞争区块并首先添加到了区块链的末端。 这个有效但已过时的区块可以被更新的区块纳为*叔块*,并可以获得部分区块奖励。 对于父块的同级区块来说,“叔块”一词不分性别,因而为首选,但有时也被称为“uncle”(叔块)。 叔块仅在[工作量证明](pow)下的以太坊网络中有意义,在[权益证明](#pos)以太坊中不存在,因为后者在每个时隙中有且仅有一个区块提议者被选中。 +当工作量证明下的一位[矿工](#miner)找到一个有效[区块](#block)时,另一位矿工可能已经发布了一个竞争区块并首先添加到了区块链的末端。 这个有效但已过时的区块可以被更新的区块纳为*叔块*,并可以获得部分区块奖励。 对于父块的同级区块来说,“叔块”一词不分性别,因而为首选,但有时也被称为“uncle”(叔块)。 叔块仅在[工作量证明](#pow)下的以太坊网络中有意义,在[权益证明](#pos)以太坊中不存在,因为后者在每个时隙中有且仅有一个区块提议者被选中。 ### 乐观卷叠 {#optimistic-rollup} From 3cc063eefd99d4753b0d94c6eb191aeaf59c1eee Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 25 Sep 2023 22:31:38 -0600 Subject: [PATCH 19/55] Add Art Blocks dapp info --- src/assets/dapps/artblocks.png | Bin 0 -> 99546 bytes src/intl/en/page-dapps.json | 4 +++- src/pages-conditional/dapps.tsx | 10 ++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 src/assets/dapps/artblocks.png diff --git a/src/assets/dapps/artblocks.png b/src/assets/dapps/artblocks.png new file mode 100644 index 0000000000000000000000000000000000000000..0defca02e3c67ef7663ebd550f2b0c55dc643110 GIT binary patch literal 99546 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 HD*V3yqYPJ; literal 0 HcmV?d00001 diff --git a/src/intl/en/page-dapps.json b/src/intl/en/page-dapps.json index 83391041ad9..ee06b429e4b 100644 --- a/src/intl/en/page-dapps.json +++ b/src/intl/en/page-dapps.json @@ -284,5 +284,7 @@ "page-dapps-convex-image-alt": "Convex logo", "foundation": "Foundation", "transaction-fees": "What are transaction fees?", - "page-wallets-get-some": "Get some ETH" + "page-wallets-get-some": "Get some ETH", + "page-dapps-dapp-description-artblocks": "Art Blocks is dedicated to bringing compelling works of contemporary generative art to life", + "page-dapps-artblocks-image-alt": "Art Blocks logo" } diff --git a/src/pages-conditional/dapps.tsx b/src/pages-conditional/dapps.tsx index a9b583677e2..c33b3b3529b 100644 --- a/src/pages-conditional/dapps.tsx +++ b/src/pages-conditional/dapps.tsx @@ -1176,6 +1176,13 @@ const DappsPage = ({ image: getImage(data.rarible), alt: t("page-dapps-rarible-logo-alt"), }, + { + title: "Art Blocks", + description: t("page-dapps-dapp-description-artblocks"), + link: "https://artblocks.io/", + image: getImage(data.artblocks), + alt: t("page-dapps-artblocks-logo-alt"), + }, ] const editorChoices = [ @@ -2182,5 +2189,8 @@ export const query = graphql` synthetix: file(relativePath: { eq: "dapps/synthetix.png" }) { ...dappImage } + artblocks: file(relativePath: { eq: "dapps/artblocks.png" }) { + ...dappImage + } } ` From db4382c636108b2379346b33d097a46c3701bf44 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 26 Sep 2023 11:37:01 -0600 Subject: [PATCH 20/55] Add Curve and DODO to dex's --- src/assets/dapps/curve.png | Bin 0 -> 294731 bytes src/assets/dapps/dodo.png | Bin 0 -> 126288 bytes src/intl/en/page-dapps.json | 6 +++++- src/pages-conditional/dapps.tsx | 20 ++++++++++++++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/assets/dapps/curve.png create mode 100644 src/assets/dapps/dodo.png diff --git a/src/assets/dapps/curve.png b/src/assets/dapps/curve.png new file mode 100644 index 0000000000000000000000000000000000000000..ac559fd7f1116e271f9e7a282a67e2f41fb9e767 GIT binary patch literal 294731 zcmce-cQ~BU*DkCRf=HBvM2ir;k2<;_qD1d)bOs@MZy_N>)F4D661|MxyXeswqDHjQ zB1ReIJcH!@z2|$+cb)H_Z>~$i%(M5}d#!ujtL!~5)m0UU38@J&FffRf6y-E9F!1`( zKLmKdJ8!0lZUFyXb5YcH!@wZAh5o_BNKLE&V$aj<$$Z((I)=LBZlu4`hXx3dH@>I$mxsJO^l+1e@kxLRrYsA@rc93Uc= zjFJ-c;$EV_1W>Ez=JZ}rM<+K?FEHc9yrRJG=(o8U=`S96?f_<#Mhm3ZQ&Fdvb#}F) z2XXOmLU?#U^g<$BydVJ~L4FQ;J{~?^ZXP~vUO`S?UQt0lQC@!fs~006&DGLcR7393 zl`P;dFr)4B=Psh$+@7AET%P<~&aO7xydokZ=sEcKIDscP-MpQin|pCOx!wOegPfHc z#MRE_xt+5UJ$goS3upJ|U`Al2ms^0k{F~Ov?Mh96!nnQ6UATFvXYoe(vmM>->LE!oQFIslr86*44`VxwEU5 zv$Nx0E35yVg`SU>i;w=HiaEs22|X_>dP`SBtmMp}TY(wTM(5<==i~)x@d%6Z3yJcG zaPk2E@?1Wu;%sSW?fu^$<>%Gn5fl~V5#2_WO;<7h2%wed3oh!WMn|R@**Pg()|3g0(?AjjP#Ze zQEO*cs5yWVJE*yh6}O9%4I}-3twh$@(b*MHC7^Hq|9oFbR#x5B+1kz#_`pp=L55yQ zUKYeF0s?XJaq*%(23P`mt5&Xd9#)o*T%Dox7f2Sh`yZ5dwM?P^^D-~T0&4oFxc_a7 z!vDvy-2WD%Xy*pN&HIWFG_9Up{pM%~tPOA!QF92|xq%It18Ziydh>r;u&@OmpCw4p zoRg0S0G$A@kR_)%$Qm#{uMo(}!h+XYScLcQcu!j^V9LK>{T~o`DcjB2`njjMtCh43 zfQyD0{?&A4mWx~mxkiL1k``o z@Zz)o;ACL;7jFSXkN)*vgaQ8e7o)7408P095vUr@o`r$q#iS%Bt>u-DI8`YyvdLIE z@>i3aIZ*zs!6g4OSBtkUukMH7$V0AMC181)t=Cj+Af6gkWPn*-!=Fd`L0^ampU8Zc z-md?EbKUHA!wpR$Y&>z<2c10jEO|6rRfxyDu>3N1{zTUG@Sn>KLW^Fzu?l2Dx4BtV z)7>(v=J2cO<>L+{$et~>yJgHBoo8Z^0k8SMptQ+ke$-rG$>KST7=h)xL*T`CcKrOL zsp%9JXxT)CehU4vGty70I5QsF5tfsaYmYz2bi!273={xHmMxwO<&fUR@XbG8zfWHD zGV=1J7)qWB{4Tc@7&Og~e(-&`iHiPxal_@M-Qw6_)4sDQ$uh}*^FOs^W@KD64FA5N zrh9U3S+nDqJkCN#7aQmw-70vw1hO~|R)Je&WK-YIiJhDwn4~%_?hfmLrm08H-yZ(4 ze;gccgYwD@^AkVY=cOzHn-3HI9+E6Or~Esb;9~T$rY?<%3sq1OsYwf%)DkNzH0tNf)o1wBgo_jBo2vEBQ@1f#>*7T1(S3n=9pXZig2qkV3N%!h7N*$L)cqj;;y7JmSJ9uuSdDyAM$hDt(!s)P76FV%qDew z-SkHqUVpt6rcL|FMFp@3`jrj3cs%`?Sch11W=tS>eQ~Asjbj+D4V0Sa+V^aI!a*IM zzD1YKZpqa02=Xhnbib0}CnLMos-=#!SuzzHvQh`dPMN67q6SmHnY709GS*bjgq4K;4ROR^(NJsDWQHYYvB=yVR_)Os++6mGM>2^sw1 zwRn&nr10RRoHX_YWj1(MSp2U=9-%D~r~0GH1rafMW?5BxTr=XE5Kf-JxrmgcF*8qf zR9(;qW6v`Zu`|$N$NDVUmq+ca`VtObZdi^<1HFK3_k+Q0H4j*RCXJzb<+takNB$Vj zPC?r0n@6;YmL#2~6ynr@{-Qw&=Xd;O##64w%B5z1eFXH zIcA*>Cb3eU1k9e(U=&B6`yT7DuAIC}fzD%XRFU4RazD9!_?(FLv^3oQubreX!29|( zzLjSRj@5fsktQ{L5<+H7gIB1`!dn4Q3sMJgbzhkjXO~%Fa|rAQaZ{JD9Ex?Rr(CjB zC-(0wvk%eAfNvS*cZlh!d(`!2zK5t+D#j`WQ4XKk^tKjFog+m`zurvOF6B^H<~5pb z$*9UPscS{b_-YxvLGl8swOgHzx^lmQi`|X8(mC;7>v3{Ff>9(Cj&~WX3f7!YiJI#c z+zQJHfoUh<+VkQ$;3Dfc%Mb3;Qtf;VQd8L3&9n^^xH6Gl92y<^YiCEN-A*1yFy(=5 zP3AG;6dc<(3WpUhi$Y**7WoF#_#~@{YHxvC+2HkGU9YYPU>!{W-;6GdGrByeqds0B z;i8!8n<>bdJ@1(KJ#YND`2jNnv`Yeyc7J|ELi`wlYj>p$jZm~)%=t!K$c0Wd)W?gk z^6~6TUz_k*5Dw_*Q+}r6Ya@wEyV?Bd99JAELVvaJYni|VanV1jbfP?i zBs*l)@m3BV5|wTm*?W}kJV~mPG8xny(RRQtSm(%I@5IVT(1}B`?(E8Y{Q(nA{DlYx z+M%XuNUKV~JpqxYjc$ZJC-7Fd;Ch>1O_bi)yA=2Qal(Q{j-NZFL0y{C@K2JZb5{mX z%t7zo((G=+>5Y8mx;4mk!k*UQw!B=KJRHKf5ZHb{p51i&*j8CdWlU_(Glwq8p)=d7 z%}=QVWcca#BZ6?f~JRRypM`YJ4Vj6c?ZL=`-<^JKJTDfHE zmCE0ug)%LowN~;00pi55`m|d-67}QLyE(P*vPuiD=a9b|L zTj%A2Q}%=dpb`9{lH=P^)zq83J70y09@P=VHh!VMVhbiVw68Mqlk{wv`6m2GJ@B+< zZ)~Q_Si!Yap}`uQI6T9RCoIRzli5>3r5AdH!S$V5E9{Jt#cbqtUgIsD4*BfZkwtr;D=SDr6~QptXmCILGvC3i5oUV@z4jj0N*H^2%W= zce2ZbbpXoGu}|xC@1V}6X#RhC@GvhLE||vzTeNLrO_{lDL}S->K89wFKyH5AABuQ7 z4J-q|E=aQqSc3)e5C-8i(dJV-X?U038)W;+Ut)6o0PqqMJzb0O{Cns5U$+J!x$C#{ z`S!9RaK-Xu9Ac3ohEH0itW#}As*ApbmUlIO!jibx(iQmebm$7V)L(!Z+F`Nt1Vp`C zujhXyH)|H(&l|8Y1Ld1(1dl5)7>tm7m$2D;D4bth2ztFit#V4O83{su6{gDu{{~;V zP+SU{op&woCN&VxV8^Hi&)rfbsCe=c*V?8Lzf3N++r&2St$im6Wk$C*;lTRFN0p^o zi=sy~sM}tnp=zj|)mVz`E6r-<01L{7z|8M7yUi0ZQ;;&S2ivss>U;r~lcN)pwuVhL zBxg2`K{W8EzF<%RP_YWWE$@3&XNFnJ6nd%;U7xmJdm-HAt~?}I1MraHIB#G=-KFB& z?YC3%FAuTHD!4=pV8j%$?G_@0V6%5<-KSx{`wfn9Da!!^qH)bQ=|;x1>m z5w~^vYo{}GOv}xEtcOP_aY`b*VWCbe!cY`c?10T7J`%Cu2VX(dg9`}N^6r>HsjWV4 z(r=dFD>x*iaqeIovgXNL+A1y*4Mcs-v6AbH(@ob4Y7wIc^o;5NG@1{jus#Ee(R8WI zkR`9@8hI4y@tM@Ozrmc2*J;^nIXadGRdi)1PEEj08bhK0WT=`)bQDI#ajiEtAPZB! zSqeH#BStN}TjSSOLmL z3z~p8@K(IJt`xl4lCUT7q!$5c`KY%)nzb!0Cj+GxT4{xmjmeZ3?w(n5&f)A35PhdL z5?Oj$C;9l&V3uIC(JA$W0HgN+6K>vCE_iME1VWOSH$XYv(h4JIxdCP__Kxj_q!+zi zS35l;@Ri63y-uZ9C&?acP6T=V8ZH3Je=LXwsHf*m-`1ms?-|dL@$#4R|3ZV4?~^K^ zfAQ1CM6wEnV0|$U^)Ucg1;&u;Sr#o!t86LJHG`HnM>9_qDE3PU^YY?ZsWMdX?Y1V! z)|vvxa!QRyFjK{nVtiayS6&|z9AW^d`_@Zvg<1#n20GVYSlypj2CUuKsU zNvp$)BWL`(VQ{K`y;wfc0&4#$#9mZAjaYgnvqKR|UAG+bJ|BCM>%*@KnOn4O0o>&* zvyc8W08Zu8Bn5NI1*#gMl7l(3CGXG5|4FHC82HoTZ4!@4@6SIo&|;;$Nk^eIA`N#` z{1NebX(fek%;Kk9|n6u4gs;nlMHi_njkQK zX)0BAf8|TZSHQg6zmv4nIdAGwqyie9+)%vIs6C)jCU!b~noiG+GnC!|H#V+y*29uK zSUS7)j9ZD=*=bO9=qDBOX2IbMz5Z##LMLU#3OmHO6J3#`HmVL2*EaU{cDM%s{(oEl zh<4^Op4lpd?7YX1?Pr818HY%2Y~dET(qmyfy)perUueZ=e1v(d@AyE7j+-ceQ;!CpH3QamnoOxUS@wbBp<&Rl(LF9+PQnJk_xW&l;SE&iU#N;j>#XV z3Rs|_ds7!dK9}!o-y2bFi{N)`Jd1G}V^g)}Q-~%o{ouM zv4KQULAM(=Toj|L?<|vNUw+I5Z868kx0Zt5rQ;_V0{FN2FAB0X(I~jH)b`=G!FXj(x8q_T>8+F9&xI4l?XdN)20%8 z7#HqnC)q&NGe3mq!%KAzGouX^7CR5xVW81U4i2}PbCgI|OIv@y&+VdE;%wfYav8@!p(^gj|{+&Brx4+GMPJ(Y+e$O#@~Rkr%Y%A>36;>pJsq+a6UN7Be_RaD~xHDbqNFxf!c3%!F=;$L!XeuFocqfg)yHC=J zFw%(It@GPbT?y|NA31Biru>3QY2xc@iRU zKBXd7N(H=>31$&bI|!YvPi#nJ+bxr4qqoTa@@ZYy5sJKtNF8Wjd* z*_R8GKQRDRc6;i9`n7A8ErW1n%4TTCb9kAGur?h}9B!?w+&~;GxXRHG12`uuAlzip z3qpR|R=?yDOER=!USHZC_RgvyB)J(!-L4)F;32et9J$W7l5D0G&N~bLiApz5v})>*$w}}F zoqL6=>kqp3aZUE4FL)i-1XrhUd|$%OeZRzo=|w5XDuTGzf&V*x(J`$Y_KPsn*Ok)| z>@O4j@WwlLd6#Z%_S_+@zlsh_vgkeN(dk=FiH#a@bCq^)Y+3Y%4I9^V3Vz7cG$li^u6984@#nb$a4s*zRZ_OJ0on_s9VdJz;;+70EB#* zG_j36CAkd7O#WyQ!gTtI9(2{3D|3S{tOi!Hb*+%mE|gDo*8pP|{VCybG{LV(X)Cjv zo`igpr*jy&z2`7q3FR<)VoWe*n_F&Mz*qtVwLAZv;F+GHr+!G+0-cw&*Gf**TOONA zKTozuoFedA_q{=*E@*(7F|jEMw0(KrBibw-Y`Ju~Y#G4iaF*_SQ8{#1Cy`MmapqS)F6}|!x-9zMAWkD5`eP2O zq1_=IAKs!+m;A1)D!D8+&HOQqtx!r*0aLfAr64Mx+{&@rcHO`#UqvWjyB9=xszWi zad8p|?Xn%+CDpE(M@0Y18$xrb>dSq?;48}b=V^*h&^ep#g=q_hVs@|RbL9IRqc=b< zj06*q9&4JG8IV@DXM-VmE&7@Da7vSQwmeITiqZn>5&QB0^D*n+WzBHm5bdl}93X)^ zx_8;&P@F{1OLb+>!@|{Dqb>aQ`cc zb4j5Q=$#cM5n(a$m~9-62%IH`qh%FuK*5FrJT5KYLw3lho z9D406R|f4pn*~bIR9o<26|sNjcR$&Nyt>JK{nG_atrOqeG-$7|8ld{%O}oT4-VdO# zUSsoploZI*>TdP*2%hUUq{XX;_DjOIQbp7rdP#Nrc5qkVU&ivE@&Gi;w=N>@gU#DN z&RA8#jdFF~y+?cOLbqttoJfR?m|lf8MJ}F=f1V_MsTfmcS1ngX38M2ew(v~FT`M{OyL?Njr zw;osYAnw>n6lqg#+El)Bm`dr5&8~3gU#2Nl9{h}SLt+hP-*7Y8)%WJ>c^G3vW z^Kx7Ac|8Zq!qgN`I=J3q)S9M?Fl$P#<^JPYSybjlnW5N;rnvA*h@#xCd2SB&>b zby}*{u?6+Rg#tdD4qohrNf4lm>}QvR?FJ|5P1nlryR^EJW+5dio9epAw4SYwZeGh2 zrZ-NGf}Vq_h#IQVeW{|CGDBPN?i8)<7aKS}R8yt=ncs5fBUvvj@ef`29T17xRk6!T z2}cUBjKHtUI4yX(@?bn zQwn;WD>)z$b5MA=lIw4U zBJo_%kagyx`am3Ezf}Fw9WD$)OOb2APpB{ct21UmXO{Oby?yD-F;Y9x{hocOfX27TkzaJ z;*(NP4k#u~ABYl*+P4MVS33MiA0A$t7JnF!gQ0R^rdD*|vqup)Vbk#yaf!9Dee|2T zErAsPJ`)tYKcBlT?KP^6aRcI|gOP0e#el10-jS4OPy^H)!Y|@XTD|If<0VS97k~C^ z80;C50s!tlN184Y8UB@POBjWRxTK;-FE7Kl13Jg9@Wa{0a!%IM^LR0LTG@!#`1^2g z`VW@yE|@?KJ~`+}F;T|*g0$A(tg2%>)566=>X<@-s$@cinQ)%k?p|+JjSrcJ=;P15 zt{UMUAfq1v>XhutlXV2sKav-L_U`wk&_&)@(et%SiA3m<36NM7gnBST$iNX=p5NCD zS3M4h@!zdk(TgoH`BQAVE;eBb*) z^1H&VSn_rzKr&^z3x2iNGaLdN;dfa13X0jor34^Hcc`?hycu|zR{uaBD=42zE{qH9 zxRBcp$@FMjU)udAL=vV=cv2Z1wgtb~KxG6tGj|w#MwQm7AypOKOmZIw6=bQu&b5iXY5a=Iji4IBN-0ddURBE1Q^9{-lggQDT(o9oAZ{E;F6HUH;!c687g%h^G<)!I3uRA}h(32Kc4^r{;7M zV#}sEce{my2PZ(bR@?fb_VyyTaOku$(l$z?i}9b=h?)yDX2rGfANJ-L;6hSEA)F6m zI|Bn+nW6)SPD?`6F(wo@_DMR%n+*gyw;b7|dd=y|ZDnD0xTFt{q^|7!4c*ZHRwYs4 zKIR!**Mt|a?J2D6k14(fj-&*)g|rxj&j5r*yBY4EY;ZE`{uyW%lRcs^)ee1E3`Oiu z8t)wF-jn2#Vt+To@vQTwxWFlj+^9Lm*lu>CSc*G5zID>Y5)Y?C?~ z5gIO)QQ>M?Da5Tg`Ca1`vTnX<@A-0nyQ8>bQo^7kO{Cg%4u-7#b*`8mvOf0(ZMERE zwl-~l;KC+;V+RBVyD1^054}zQB3&DxzA&`~9Zb3;ms|5xVa6SaK8aIA%tS*q)Q7ZE zvZ(}vG7i1MgOpM1=@xEMRTTas(vyz+dLuEbjUjH4+PT5Fc6$c0$M(0p!@^$<7et|4 z7)BGCq^(4*4QkjfrP$hnHixu=knIO%m+{F65Xg7HI@8M57lYA=6R`YDJU`n69XaB| zm+y8|W=^r;rd6a}F9jGq7sm#dGF^~@t8n^JsS1NGN9z$`1;d`9tg3De)Sjk#=KI0h zm+v{NeTEJm)(YKiUHi^9^oT4V(guL6uT+cLE7P6E?cfU?D|!JYwnS)F6U}&@gK^GY zl^hf*0bYHPCk|Tt09cR;uV@dG+UFZDd*Xb-pbsZYn&YR*9IQGq#zdu=djH9s&?+`m ziSdINby3iql1*TN!HZANB0VSvC2Ze?11>m^36^+ByH~nWdMS|}Epc7bi^j|IcrYMb zJ2jjwf(>R9cF(|r0eRY|lS`ekU&02P%!twofpHGtCmB~hbsWL;u4GEDBBhaf+AK|` zRzen~%iW^m=p2(&jgFM&+o4HzfJ%7*_#S@n>bpM|dYO|2qJ^z$=5y7Fo!ShRH1x?N z0d~A75iq}5y&uyaX|$LuNbR*qt2X^Nv9k2)9Hl{A{5$5vKa_I0@q#oKTT# z`_CgiL`g)mQ-46K-x@5=ge-iMDTiSIP_4F3O#b~A=*UklNbmAzc>R?MWFCsloxxMG z^W%tf6nJMNrVCay_zqzjpXXfC;O&~U9$>Bg=biZ3ZGio68M=71_iF2jWls#aMEzk~ z1(h}tQIX`G{-FBe;%aTmyQw=?5kP8EhwvqTb|;ZC<2~_d`7`nA>!*cVflhK67=VtI zc8O^JN-tLgq~l3cd_XX`)w;g7(6+{OhP4oJ2q;gnn(H3BKiCJhT`gxMJ;KI|V>7Mi zKJ{@uUv`+tjXTa%dxbF+D2vCkDr2G=Jf>Rt^-c9vV+vter=HW~sfEkDI>AWkfAQfh zHITx;MCrQNSo)^i>qngj68rsFiyTh|G|b;h!d3SM;?U_mV`9x(X#9dYz2>xmtLV@d zd(k;r!~x#{%=*hd6f+hsn#xX9pz_IaYZ_y-puzt;dFq(fPRiSZAbcRpzT_T7LI5{R zfLlc2TDyU<1BRw-*SoWNfL1Tia>Muu&|WH$%W-zaww7(n6qk-M$c8|>Z};+e43??O(>D`6PrWIchOh)A}7#@mEn(*^Ctw75N?#% zIi>^A?XtUhmsu$pMuoLs&BxpbT$@~RZU!71@H|Dq@}lT*w(h$Mp|hKlvmw3tk4b0} zWDUCtG3yOro1e8blPJ?`=skeck+7fo;G#Hzp9AOpa&k-{fL(6>$<-2 zwp~{)?I}p#+u+rKCe`IpNV29);HkIhyCF;0%WB88eY3|vu;#pe4UtOF{yMw5mmi;o zl-+9&f#igWM#rUO}7 zR745YWIUO#VOKttxq@^wRU6s$h_P6jaO?M8PyRDUZ3Q~qOk|k`>K>UC!FMJltOpHf z2XkbK_zcM-$2MO9Hv&-aMCv$Zy9%1~(lxG8d9LNyZ!q?6{it|28Lds~8_=g_qey(aQ89xowQW3%H>fXHt$X*KhK^gd$0}MkGNpz5TJp@gt^p=V4xV6Xu>$K7xb9!A*mF{39=j zp~`(`s?47MTJMxr(61s~id1jQO&ZDXXEqn0Fb9q=Zq}$lx63?pZ=?{HRz?TUr3~=y z)KNACPW%<4DHy#LuljB1k&8!|c1i_>WB;@-m$hLt?p!EA`w;G=(tQ6iRyoy|fN4=A zp%=K7o{y!-2XJ!3JiqlOOc&nQBq=Yn? zJm!-Mnxvnwe}da?R5w9d-r+cb1l%4okJ)6v{dz?Hw~8j481OtsK9W9Ktg7)NPgATW zdvkFWw$h!|3E+I7bVioH!a9AjQzk{!_4>v3_CBMX?j8B&>n2yvYEpb3#vp6BDAISw zfO*XKsUdl)3QZRB^@100Ai*Bcf;|Yih;vH7jixw7KYQt^h~|FxvmZAO*;_Y@G%Xx> zxCBr$+b*KXzP35z(YM5wid7ur9}(2B2~T(B^~wl)fUb$jYMMz~ZpGKP0Fo^mMWOdh z195$7==8GkZvxWzu6=K>>T1UJ@lzN76?YZH<%12Nqoqt5vx7|KU=I_px6npaW|sN)AB&1; zSLPKiB@&gSX>gB_7t*APJcvIX9Bt&q`B&k9V=o$tOpgI=VgXrF2a?Bdn%|Kd_NI@h zH@!HxSoE$k!9a<74v<&hev86aj&D)U6hOjLNd`!QbqV+_3+w2NBaNneXN-k|PPHBr zfK#9w)pf)XJ`!y@LIP-&euDz=UEW8S1@r0*zDTmm!13b?`zM`_~)xjhembz z?AofMWnlHov>Ad8Lb{|x0~Uc22f^Dn0*Kmk*l=ZC6sfZ|m^~^NRztR*GFj4ym6${~ zjSh2*i%G>pmBt!*1-7vzSp#yf2t@~|cW!=FE38F0{RlkwEfD;qHiAmj-W568-2VI> zVTBuy!O5Z$Vg2Tj3-VsUZ`MCcSrJxPtdm#?R4w_%Qe=B+EKL6MJ)?nj9syi(x6Ui= zzVvBr(#Y-sT|0?~|HS-4i%C&i_!=9WkpfJ#*FX%;p??t1ircT9~ivcyU*PgrdZFIxoaHQ0j=@9JN)YZ zDG)c7)tmG`>O^6*m436%;7C}8Hea9DZB8bRwlVHSvga>4cRLq8$*3%+{+{!AcN<1A_t_0X0ryzSthrvjwiO9NWXa{@bHi#;rNb_0bxREE2D zR=J9Ji$1AW=$`o+=0e05!{&@_X@Q@SJDJ-citq~CgcnAZr~TK)I!ncjBdlW_=2o!; zc8h@sM|XvZ?nJ=NF#HHTOTc|Gpi`6cU?;ZZ^-43NM_KQ*5)Hg66)Lczng3jCvLJHw z_XicPnp1dZHErRy-%{m*DTrd487okkvAhs^a-C$d-tQ^&?(`C%#vJ79EN?!N@3SM9 zG2rbjfRQu&2|Y`j9U*8!UZmk1dZdR}De*h)MU%~S@>D2u;!eTFo6oV~&lx10oz0-^ zHqcvVjpop*X~g5;!mJ3t^m1q*71z(%FJ-JM5qvhy*Ic5377s(%cgIw?(2HNZxO6+B z+f;#9IAnqX785@nZ7r))@hjGx=ZDwr!f~yjg@*ObGEFlN1soo=FiAxXG5m;ah$xJE zaTwf4RA2e?eEU|w1Ks4YP^c*V$(u5jQ(B`2AZL8JimhvKJo_M?t^5{w*(jL-keFWw zysPDbQN=3ue8VF5(d5!)lhFVOsO_O@Q2j+?YQjE@GwQ?ITxZbd+|wSkXQ-@^nR=ZA4r$9<6<5vWkLkzIl{5&hQKoI+4`oFHCT17S&-@%iW?y z(`9c#(4X@<1p)nnQD_Y2*f9}*>V;L0Z~x=s9MTSm>cd%A^&~8JTcjP%mjT*ofWwOm z2*a(1lfEB-iLB1^p{=&wUUK{H)5fh%!K-YGGS`?k;8af z*M%uiz{Hy`P;-V1HD?X5C0j`|?@x96s2%o2AWgrWmB+2iJ$+_fmW6$iG(Mm~)Ace% zmS16$Ce1Ur)>B1XrjQ0r#upb+MR#&HjXj#ywtWdtB7jD^?ge>OS|fOO?)cYDY3K@45g+jPa>OoeRik$cOB>~IuBm#lD0}t= znMs6|Z0kn`KPEMl+&peO6I|E+v3UcTVVG4uKQl^pHpktFaBO=z0A@?$!!X$eM-m#* zbj9x$*MxBuAJa-Hzj%U_jJNk`7EI0fP#>$E3AX=JcX9L~P~c>nv;lNO40>qpg8f@g zL0B+ueQqB1(uxrNR-(QS@4!^W^dbamU zP9!{O&bKZy!;IYFC)pu^P5q}UEd8eBB*9G|;lwZogsx7<+#zic{{7!3VI*-5)04{) zGaV#>4L%4u7^{7XPJCrPKIV^0I_dJ?Dkn<`uHZAGNO|2EXcIY( zC6~8;?0?JWP~F0z73x{;8a%;lRem_kp8YMx74w z<7>tPZvK%6r4wq}VL58aD3V#6SzHPBroq$Ss2K!;<)V@<2TIy+H0`@{sP`_=+ z{DJb>`SZFOz1FgHD)R?Vir(8zFX&%)cy5eigA(8`U1gk~mRp4~N7_l)BHLxt1 za#SZ9WyQ1TnzvjEBbzjy-%yVy)C4!l#%p(B&o(;6Odc_yRa?gJLz%U#J#c0veok^p zhh`2%RbQX1-FA|)Yjcp%jKrwT2eVLi9u#;58@6VjqKC~-P{)_8!rNqB^DL`8f6?*r^+fBD0o%ro zd9Hp+tAsFPV)sWUEA{C_MXIA8pShJbVdl9)?{b@K+a{~ibfr|QfQ?a|ck}Rl!)^jL zb3((pA%FZedc!xdjkjL*?e=Rsop*72c@4LQdcJStD{im)Px{WA6I!ca5FQv1RbW2RWapZZtKf9+et$F=Lq2WkZQ z##UR!y=+@f6`I5Kd)=F3R7LpBz8$8&OIMy;FcU(*9qnT;(CNQo(_m{pm$j$eK&MS2nyLHx4GfIZ2{O@$_Ao+JCseVrP~h^?Oo zgf3PmC?nsD&g^EBIxvSBoUzbQsm&Sei|?fukU7}1?KZKecTv8X+}se&RCEY9h$am@ zFL;mQR|}ep({Z0FpQMU?;5-7=nD7tmtREkja~an$!&|7b^OK%g*?S|~UD=@ia_5(Y z#9w?{*>UgTb z?oKGknP|+;uXejh94%9AR^lEJSANmYJL^2a5Pxc$6zjb(6{I!(h51-(?&h*!?FP7Vc6y{33pRCxCx4kRS4#Y2bFY@5!h#YKWcFTwe32C6v;X9Wj4})~TjbxJH5T zBrwiC9x7)XUY=Q!Es_&Uf3E%9%i_a|>23u9@@#C> zLaItSYC4cp&gq_@PEDn)AK5x41razf%?*0D_&ea2Fctg?p-w7f6{kUNW@hn2vwuowh;Y*2QKFaCwgOxDxUwThvosY+SNm5m7ZWHK}#Y zEXxPp06Ob3y3qc}c#X*1hkH@w=$_Ll(t-BuOL46o*Pr6rLxzm{W~5_p9Gw3b)cGVa z56h4=y`eV;zn*txuuk1YjbGCQni7d0bHIfE1qVnq&ING~*G% zP2icIrmfly%TF^9a8evJ6|$ZdrY-ZPQLxh?^?i?AYxIXSEoD-@KW5D;({yF(^S1)VO zdNiZd7n>u+8@IYM`!ytTxvFNp)*q5g6a8X^z~RT?RJHrkz2Z;kls|5DZTNASRzQSU z)7dN1z*Bcm$vyUYsvoD-1OBhUop(FxW8)mT_L0%B$`Y)I2|rStwD!XSFT-C!Ue3po zjD0KRD#_ffmGG%C7;)Yd={F)oyD;Ny*@RXN@zX)uvx=G*2Cf+gx4lTcOfTK~_h*2j zDH4T*eF9ofxv=>o>wbSAtawP?-Nw3rn4)mi*6pJ(%#!#5)rjgOUacYOB}sytc5b;4 zEQfJ=EH}IkPpuR1w2`O7wdSt7Rv-0WOk741ZvFNX>G`qJ!GYYD*@lPhAUj6mZ_h}- zhPcokyy2NZ81qU;Tg)aGa)n#d^lS#b>;O@w8#8bHo*>^BnQMF&pa1*)qelsO_vfJ; z;wT_rsA`CLg!a*oz@7RsjerQc({*Jh$%8jLU&BpPwai&WL_0%%t2^O&NvCXg=&@JM z(0Yj60SI+Gfgi_bt5wIWrRM>M%%r?-FmMBtjdxrG;sMckpl6K33Cg`5i0SM{K3b( zM7!jO__xZMxey`(R64~_#28daiy$!z#1LBw&diV!NqkJAW}afE=(>P`tT;3pWI*C2 z@EGCXQJl@*0lgHF9t+93qp`V_Kx^*ENBxE62@>pkb<=P7MXhgYcx5Hi@GBsww2@_= zAgX4>cM}jN?2?j|{DDip7#R-*;?rgMQyhnGwuV`x?O^3$_1=>43ivfO7ZS=jxn`(W zDfm8!R-@+qboUeeA5&59K5QcVzJsV+_02rrUdMA;e!Klt&Yn)pgz36Aa8$-!@`kzO zzzX@8`7~f9QENMN{WJBh#E$fCvLC|xE?PUo^gt!2oFH_#qigEAviBt*;Ov@?T@oK) z^L(K7Q(|N_-K%I)spd6}tR66ItRXD>(Za-JXdj_E9Z*O(`{+}0Xl48hUpmu<>!&v! zvp`_4DYs-bSOnZ2O}6jjdRN{c(0_@WX7hv%J61i>21bjyO%d3Q%ILbtYKVcFqfF}P z-t5`B$hO2;Lldt!Zot-dSJf8oeD20)Ps09eg#d>Rh5C~ed_CcxhM0G6%;KyBIknY0 zPjfi6IL!qZ8^*5QT!7sonn+(@jm}}8(ZO-1A~okOckQ?h+{K*>ed7$hXc5`X-CpdB z6QQwKn9^=tjZ4p9Y4*Ll6R<0p=l%(uv7_%R^gW%OA9rbQ3q;YxyrAVqO5&fzH_^@2 zrpvw*UXwKzvbBaNi4jzG*m@u#!?G4T(RsAw5(17FH_iy4!CuK zvupbuQo8dDL(_Z3XDH|~@s2~2tnC=@j@Vr2j$GEeAQ}EI&3q9zoP6dUME6wL`3mso ztgV+OBN-eFx;UvD47EgkqC?8Hxo*v-ap^+CtW~>zfM)JaV9iAr`E2;{6g%(MTM3Y@zp!45Ob$n~sr z2{1E8AgAMTBdFM#({G{_=24xm?>*gYekKiHJJcN%TJ`dbMCuUAr)5nEOnf@VCA9Yw zwm9>3ihQ43&SGqsp}r&GKg)h5d0Bei1i;3q3CI??^Lt@1fCw#~uzwgRgQc>j3TP?Q zkH%T*1yAl#N(wpA@lm}QgGUq)*HqYwe>lTLu(=q?8>mXdB|Hiu1C7J2M_xP$v8=d; z=oC!S^-P*%+P~hw3|-shHLTY?Nx*Nsyur*3l%RY%v-8Y5-GhN$Lqfrbx}9R6;;}Nt z81y4;1)3XJg#EwPAcfTa(+ttigmII)9aT1Ef3bBNKw;G{XAA_kh8^Ll%5N(B*KdVB zhtM@`Pu&{rEGH6TJ8QVP={sH-(slhXh&J%)iPj}M%K!((mId`KESZwa+F28Y}lRc|A|?-AC6fxdgy7h#N9xkwlYjFSG>LYE zm-ENN63Ed_kAf~QqlmmMoaaFeBy~UCtJHKKHAmK^|5iF``WgQ_u-|x27Ja`kZXc)? z-vTZN+S##b3SYt8??n+FhNE@j>_=*bjT?V!0a2`79b@=bNIR8N$4salmEq#J$mL+Z3V!`%{EPEsh{5D^Z+pi}cArG+0m`%O@jKs*F*`p?%;*j070rc)-p-Rw2fU+k(HDbQ z_?MqUSLOE4shrtv=~N2k&r^)Dh!p?eyo_H{SVitTZZr3|8Rq0})X}Ql-U$kk)ZKW5 zM#ZmO@F&aM`WDXlcvJstnfR$jCt|}zAO}7HBEj2+51O$Q*7Oh?@f)Ha&uR}rXHkhB zc7fBMwS(Wel@R&QsVQm$%upY89$G;R#k2FDe;hiewyv}$+g;&2idS|E^_)gES)lUfo|Wo&XME#vSZ=1iMP+7H^x}Y2JVJz}*mgGAj4U?i+#7Y;R=u zmog_&MKPLlPvc?`ALEqVE4s(PH?bk3pq-mKi(74X;0Faze_H-|?0N3XV%w6Ru%Ah6 znRts-Vdiwod4cJB)Cy$YrV)Rr3^+xwKI7;xb9`rGd&=y|TBOG1)^06SQwMeQ%b+^e zV;(N2G1RfDjA`>o7#*YZ$-=`kriOAt)N%n+-dq|``WSye2c*| zw^(gJ)M9Ty9elElT_p?Kh;avs<+NyMq zWtkJ-)@Vuo*Z~Kz7GbI1T0s5@l89a1rA_uy_sd>KpVG$Vk*6wwdbVAn-bR?-bNh36 z(5L{LaSk#?(aI4KB905q0zT_I%^YX_WdE|SWXmjoUH201sq0@Rni}LF^OSvRC3T9G-!{T-f1Hs>NT<@<*X&8V=8OsC-4-MOUrW?s__k7RYyLLb z)uctyzC}Cc>cuK({P^xZ+n77Udl6h^sl+Le2HeYZKM+s`zJc9c7&T4SPcaWrQd9wL z66Vw&~J~OmYn(%QKSY|6)1Z$XkI7 zMunMTZnVOhi$^|=;~$HgHRE@jw_{(T@fy&{@0Rfn^$f0}JEv`gTgD&9oZJP-PK+v{ zU(CE7Lt@)QxaE$;Le@_QBJ?*X?umY!60Ey-Lb>Ot$xXFJwet&v0P&=)Q&d*zle^jv zRfpo*X#AjDiH!x?%{4bvh}JfH!2)R@%VAZ4aLD$}-SqhKZGBXM`w|4NzAF+S$;;g6 zn*fju*8dip$@s* z_xLa^sqxIx@EHQ<_LSjfTT^6BDv2jnt7t{MFJ z-nT-@$e0M!E(*?yN zsqDmfu)WBX)zxpBhCed?Uqro!Bh~NwKaL`iRYtN>ku6!-C4@4v*Rf8vL-sgMQdS9N zJGP8$I*z?EGmc}#;c)EDu^lshPrcrs@9!UYj{Cmu>v~+*^|&6l$sdpfjxPox@D@tt zd!@)oCKKQk>nPKVb!=X(6$6Onl0rFRv+S1W10nyw>JF0G`y?EWI5r5IzJNvd_(s8Hn~%AU%(>zO5!T7UmN?Bt@f~mk{i!zBccz7 zY`$6Jr%xAKCmG3;V5+A8mx0W=(qv+vvsu|>I^X0Xj)Z2l<9ndUP9`f}fC_I(wj z4}%Ur|L;uXsNtEpln;Yan$M-1T5hybXivVgxw4<<8nOA5)*-5Xb`s-1{*>cwj=OV=t}E&pTnlb6kVmJwUh`rB6t6OChfAz4*|z zfBc^A|DoFl7ADK_GhYrxpyaF_V+n)Dn4|i^>Z0;KKjMI?K{Uk(t!YMVz~Z0A5><;b1L7&*~$Ih>nwH#OEe3Yz7>(d5$DqL?PJl{C@ChjY&x zjl{jRve|*GcfK(1y5xlXBu3iBJphuWV5E(#v{a*^5+YICVC)8QZ zRvKC|=YH6-J_WhMn?rZp95pL8Ux6k_HRY;4eztW*u$tJ$A4!pe8Q1oZVfa9A@R^t2 znccmVH7gF*#7>KPF{TY3u@s(iN)8|#mC_Mpx7;FNn~4`PO*|KI9PxoY8tD6%3}J_~ zO>~SUQ1rVJpnCnrEJh2@uc8%{QGF&_=klwj$8{j`XgYJ|fgMwK{@bix!WYeF)shKY zB!NC>r+C2?s7YLXIgK*U!xLq9he6->>O~m0Z%2$LAj+=gb~dsiIj~W&V;A zOY_FBHu)V=ppp3NgJ{9h*P7>@qWxj^BCqWkxtTUx>gE_n0EM2KNM{bjYWu9%+U@EaD+EP4 z#emX);KTtfMPgq^7Ts=cU7JUd#@@F~Ofg#mMI99fM4T>OnEy-j9#FwmKKlUq)zwMc z_F5T|j28`0Mi!{L0m4KGYtPD?Y(WNhrqh$R0->I|gHop23r?M6w&^EyT1ah=q`R3+NPfK#5iYBMP+87o_2gV4dg@YE6ESx8rW>yr zC+!XJ)10H&U$CLWYV6|JQe=&rZ29YZz%T`)^yK(dDhtO zxx%`0+qY)ISEo-|_gr*E8mO~=uhwFJ6%Lp`*SG(f3=v3e{(=i10Osa(&7gg98&ar) zIU5$4CZVB?j^1#!#bl&K&Gkv)z!tkjnwsGmt;>AVAx&tpJ)b7%yPq7&+685_Og6t- zE-<<-3EAO{iKaDqUB}WnL0-Y=#l!dVw*N_h^ru-5kub){%eRxyD$TYL6;0KUH4vM1 z6*kca{FbKJXj@_6#SV^mey|2Q1g{-hK(m{Ym=hwn=bHRyXv4Y zic2Ek1F|}^*#1bsC5O>b8nT03&_=mKeIYgljl>LhJ}qzt3qn&lQA`&C^~4i)$Z>}o zl5y>iIyDxzZ>QYc2`FXQD;yBY;uAA=mj2CKKCtl^wW-WSFxz}Io+660+$D+a*1#}j z|Mw=vf|BuPoJD+ZL2&oUHJm15lApP{0<-`}Bp`tvJl#;Syl~ zX#{Al@%O3~ggJ5bMA3`9!SZBpR^q?EeFW4bMVAR8rgKkrJ9rMa-6?um_2C^*4Z)wK z1DYdT-dFbWW)}-v`k4I-C7^UVu6@diGEd+M{ybw3@D2vk5`~JfYfN-<0y9#IU24N8 zV+)qiM?&60+W5Klu8?)+|K4H**L?Y~a09%Qs`Soq*Ml4Cy?ir4s#b2w4=|LY`40$< zVn@^y)Qb_!kIEJy`+_iaev? zd@A-jrT;BoI1%t0SM(1>JknK~#;P`v5Ow!=8=5N^^gWI1$Qg%r+hmmVdc;&AO7SAK zFH0G`7G1_$dr*S!$>ysZE3|x5t1-cJxdO#TcGH@pTxn23;NW)^K1gj&o)8S$9A$-4}x@iOK3d|8H zlyLIDY*Yq^$eGx@8nJzM<2|L(;&|lF7EE}l*B_gz=K}6(=h}6N9Tcn1Pc4I?Pby6v zuxdmXDfqyg46_DNv3ZmO>o(y zsJ-{5qI@Ohc3n5o$BJPrY=+MJ)xxA}lLH73^$yycsPJY>uT{g%ZEx7VxDV{sxAxVW zYIh8$W?sZimLgPR6rr7yKp8OJR;qWEo>ABQQ4ZEu(xFV|&ad+Mx0ZUX#=nD<)_^nn zZd18%>`Ez-t0gg(+lN|pF90u9^$`ha2MWvQ>+(+0RdVwF%!HS?T198o~^qx8N435FWq+wtrgw%DK5VujIR6=7 z4jterfRgc4-a@Fm$%yf50%2m zil2I~#Ax9bARzEs@D$F}3$nj-uXipA=QEi}3G${@TjO+YAkQOeH1}rq_T{*N!9b;f z1V9WR?>tR{tUOsDRWN=jfH}SgQRTVN!tyRh1j8G~vjnWhcI>bYD_Ke_^F>8UBepTs zax)a$WU)jV5=^?cNfCMth;UBv(aR?Su>Vf+cX5)V@PkbBfK>mOL0m`PC++eOzwv|RzFIajf{vAQLNMNA?!uQ{H z`6W>glnyvwcXhF*MCC!ic$w((%oimrDIzT&e!^xL&|rrTl<2w!d+F!1mjh{f*36OiBetB)cY&q5aqP#mlNF|)3Th*% z>=g@)(J150YDHXVzz%l{5BX-Avy)0Ff2#fO;a4AoI3)OLPt7ncE}bSx6(DUV zcjSoBp4OjE$*jh|NFzIPa~cnwFeA2h&u@pOV!8ERztb#?E>io1+IvGKSG=|&?o3nJ zJ4R9~kbqUHYf(hp7f^c1MZe#HwArvi=e8nF{>7%>B)qT6a=-vm8l7o1Q!inD7NoWr z%>kTVKY+3QK9qG>bIdpawo^;uE+JtHdyOzVUbFW{6lhKDe`Yrgn4Q<8-B_QzZNJ)YpH2+@`c$8WwtYgU zc+sC&N1;breEFNVu`&L%f%8-4jsq%h?G4d|&*(Aob04@ex-dS-hlg3Y`z!d|$mp?*78xr6G+r zzvlCMBL14t+7}pTBx!TC@n^+%{m;KT8u6jVh)XR`GeFOYO*HY8P$ODTW+={U8E1W^ zkc|aKpAND1^ChSqUwNl@{{DNE%4JfVz7QaF&*{XQ1Hq_HspEtuF9aMB1?Gp2mW$Ie zFibH(TP-o9a$p8*k>lV>kc6n2;0VSXekpbeWMe`_#cKMcw^rGTA@jfF-*ieH?2 z`X+o}CnVL?{dNaf)x)uE_h$f-_p3{TxSWSq;{wWZJjdmc%2|NL6?7l?W4iw?#GKBf zjX&fg1ZuX0LmUx5Z`5D~Mi?VGuf=Dn?sz2<_RD*|I~kE;8HT3TolG{F=&o=B;AAk( z-V*%`C-eB!h&)-**T6D5zjxa?7}m*u8Rxq{k9y@6o_@iu&Zb#AsSHrXNO>g~D`Ad~ z)osek_;mb=AI@96sMMtuWo`Y@_K<(Y5%IOF>XXv4Xyj}0^gqC?38tK)vNwk%(}6^8 zu&uBtO1rn;tEg}3wQm*kKg?p>?YG9ufJ8RU0t0OOz#xfcNCg!N+w_vv~4 zwm?XP{`Bnlf(M@b->cLHE6o!4T;E2#mH|!@`W8sGcgNqwq)?Km?D;RNCPftAn~Hqh zW?_ei7q=s&OC=}|_QZh&^q&`ITHE2-!FCq*yI2yNP>iU;p9(K44&N6z>bCmX_)>-# zLnJdrpFSemx>+L~m_I`I&j-cOp4x;|u1vuCOw4CwG%6q5KO7JUa~jjvsUeH^zbRLO zidWBNPDRUxR_;lA8w1$~*>~->0{Wt#IsvaVC=QI`#GJvW>5W17kBm<58RwH=Zv_EQ zG#bLI;0hIdxAj4+4IvaA_Furb8MnKyBjJ-_1^k-EDR(XdhFR*Gos@$2x75*4T?+DO zyYu?U==}a7lp>Y8PO&uKYvlN2f0rD7C?GM#U&$gZrg3ZKfZm8}l#VewmvBb4vLteO zc8h5b%DcY*^WKi?R_YG~d0e+8o^MwE_0YU&@l*|8r!gAaN|mCcHJ4xY1{L~-3;#w2 zL}r|CryZI!mxs+3>3CGm%geQKGx|#LZXc<=#wOJWnFjm%#4i&`^E(&vq^E2b4J7sN zarYwQ?`6!6A4de;|L2dCl-d3)aLvQ|s(*EdvO>hSuEaH4K%XAyo~n;5x3~go z3*X}u5z4>D_$*3}F7`f%g*Z6;c4*wq+aeZQAUcxqIB(F}8`pf@;_||$^^oGp#)-=T zU)0LE(22f8TI~MQ!)ReQy7*Ziu6&v-jZ|U_FeiLVeNgZ$>_LHl5UITglH|$V)Rae| z^JRKMI{#Me&GW2evFw0Y8Y!1%pp(ea{6W}O@|)W4L?fheseD)IYw#nMPzKRJbBykq zMFyI3NT=2S^-Oa;-Ze&L=eN+d57SvQ8$9p}$RLGn!}}1CQ1|4#?!6#8XjdlHfc3F) zrkst=D($c}#FSbsA7ZlNenRWmb6vs>`Z=Qq&Q=_fQ@MOYhNJ6kkbB5B){9SeBJ~nF zebeL>i;aw*o`1qqKAB)8of>1{T4* z<;Mdbwu_IL&VIBF0)hO2Mpm+O4$uS*mCf0xDi~-!(@0b(fp)b3ZNS++%)k0zba1H zC96#>Mp3i?0@U80t4yx#E~np^ojxz^%~kggvf)OmUiSq*vftPPJ--hR28=I!W(`Mm6-y z2&0vuR*q7Z@t#U**;6O1K79JAZlO$De_2y~=8f>O#==$v>R(`Why*^UBp?#NR}%+l zm_J3}figw`3B5=Us1}hTTU*H9Yc2o!vBD<-Ks01QY*{2z8^>qcu^q&nC|>C zkKZb<2-*80%uT8di>DN530=!&e4^>Pyvo18CSzMpA{__`rJoCb{MWvF^-I=lqi4ZBipo{i5 zO&RV$n_n^*si7EK8Hlwu9rMf(zaF_{&u}L1E@qRXqInpNUf9Fo3RHV}Ka2OszO~sno8|#PPuD6pCe5|x{^-58h&Va}_96!A2F&gK0 zn%kI(3;9(Q{ZNDgb(S)9;XH!Vm1(!Iin~%>1~Qd=XMVqt0S;*1(BY=33NDxGQnLLg zqs3+XN^IUa9m>m38WW z+dc=nhS^4ZI{8ax^3dSXis@Skj6~Jj39oXuZ1sHf_BQA4}Wf>0Zg1$mWO6V(I|IQrTJmA3$ku)2~M?zA7+X5qNh}2O5*UPV)YT5nHS0%+k z;aXVah$vwjtB;z_bjDI!efiD{n;AH~D{UbDYC?JTDUxv;)vC**g| zi8E-zw@Lc21*e?Yqx}A#x4#Q``*>gy#;x=Dc6D^}-sLfjxa3$;!7(4)l9`MmIwu#| zS%rFu)Q2Frq+$3XOU|BA*_ASbvwG5mLounWwQTIh%+}KjlX?ZPAaCfaT4%?a&rUll zSh<9DT-{?vDHu^MAm*GNt(H&n(C~hL##UjCs)=M&aU0$z;r~7(^A8mYKKc2%qEBc2 zRa#)m!7i?be#|VO#s6VcTpa{*?=TksGn&W8xmNH!ycoM9n6C>`kM>IQE-bbFsrE3X z%Gbo|lw$wzdeI9z>U%>8d}>atDj%Ep*{G7W2Z8 znT=ocM@sz#aSxst!ZwaFnhgyD%q&iXIC^QF=uUPUHo4z6pAl!oD{R+iGy*{0+1;WG zrQ(-XPus7wDwY#cN8R2~@@c}=7gz3lGQFLdkijOYlw9tWZo1dPzqTFGSCMp>0^Ai<;tQ#L_D%Zu3rCg zDi@z8_W;1KV!xL5QErMWvm`{z-9(u^!lC(8-Wxx)FlnBZtXbvNF;yp$KMZn=_QKH) z;O(a4BnnYvOj!zlgY<41Xvbrz#0%uoxl1VMeae&98)!8iNWuifpj1!`d#x7VTJ_fZ z8zejLeYb8nr2z3vkQ(hmOw-G;{V&`89bnR>VRp<|y-F%Z$7czB?L@KDiJGsrU(TU5 z9T*Iq%=pMXdJcBRC7FD!eB~I8)La~6Mlmvp8$%5COL{iAI7wv+@J@_6cbVZ{87Zr@ z_$_PbchD~a)y+>hX`e(qxa%Cbv*jhukxwF1hI`6@EaH)!m}HJ1$ks>xJ3qBzaxbU< zn!xg~kLBl1lG*&Sym35Z&doo8I$B;VB-YyT^3WVt04Q?9FEUVf$T_8RkUW%%O=%hX zSd$We7gC4L)#7ppdCxh1#r#*RXo!8xcR>NwcMKDv{D<`j>jj~9@AthtvZft)zl7Eb zdA4+~T&2tS`TLHT;7g-pMxW!)DNS8FB?U5tgt%{c; zFxs`W2=WPD`PS)$%5x8-#@>ilbipO{!u?c1=Wy-(p+1M7Muh^BMG~fC32r8;!se=A z2SuTW@4b*P$zPnKO`96dT4EvgH-F}p{;sarK9a7w1~1)jt6B-Di~w#)2^PIM?- zR=3Sf`vahg6mY-yUvXA-NhitrH|wJ5B&iG8AiQEG_dZbK#wFv*`Y=dC3do9N{OR@T zh|fhyCX#vF$YOBpjFS=q-Nij(D^n(9-}^)`$I?#8gk>Rj-^h9d{4U&^F242UZFu@! zLdC#_I6Y&S^Z2@sB|{|zI>7^&(3V)*gqLk^c%J=Rjs;WRSAuU;ju~IH)Duks{T*x3 z`_*!&%u^TM&4MlesmAb9Oq(y8JDtvYXIz!N30H2w%$v5rKoyT?Za82+h@CA8cCV20 zKY7U;q_L_o2uS^koQ&$6&FcP?7y?&Z2aZnszL5g9e~F(xUYBqalQjkm13i{ zedb+sHPNF`8V1-H3>+CqtE0`J^S-*^YdYp@aOLzGeyXgP50nyi zT<6(+c&DIjG?KUEV%c^Wv!5s6;ndV7L)Ry5&6GLbc9)95>Ej#Q~om3ANimzXsB%1}vC#-I7EJoB!T!w$3 zay}$1=Q>~57f@wuR^ew56>kd(R=I2~-${^iME|%|x;4*>vcPg(L}p;q`_FF_TKJIC@55n!~Ni`&*Pk}@JjY|8_P86 zun1?Xb#aZcJ1v$Sk}^m4S1`3#U{9Y!xI+Il-%=10%1Yc50vMRj%`F?vGKkS~(Kc9R zxXg|!6u3Yp%Qut_Ed}|FMN%3?bZ|$OV>XrBrX|In57pB0S6~|P^?Q?Pp)Tf2C(#_D zTe3SM+shrzGxG^A07jFJvGM3>`JY@plPRe~3wb^iADJzX6-~bpt8mSRcaYjtn&=pZND6U(8jgQb}k^idI(!qcw10q*^;>8hS*IT1rLf*Bl?AhNOs+u}nD#cGatvz&M$ez`G?;`WN88>`E#eHz%T;yS4cweyuxkHDkqfz`jV z;u2#gXS`=?y#^|`iZ5E$1WBxMWyPO$XC#4~e4M=ASkjQx?ONDo=pQdki$~q;#btqI zV{2g2TeS4M#;w@0aYsa&A>Ij0irPZz7^*{q7IpNIQE}$eb!Ot>MJi4|`5xrcq$f2h z29yocru50bkR&bcH4OLq+-Qz1auM-CXsSzY^ff6YB0-aSG%|^(lm$(~Q)mWQALxjy zR_i$=RQs5p#OAY|dnWD{^H!^i8ksvRwgwZgHi?J^bX&x%Ii*ngJYTDm%w4Kf`G!3) zjytxgF4jV_gdcteOBS8R-ypKRUfK-n?jlH%`x@^jtT z3=CtTdZ&Nh0FGUZ`Ef|*YRg{S($uy5d4taY)XVO^^^ynZ3<94E)S($%tWKpFGjU3s z@L&iBC9I52Gv57&qCKQw+ZnmKEkGFg2`m0P$B6^IPq$*a62VCZNRw>OET5LJaos)iVIV(+<%ylfu`$y5KS^OtZzgxrQOsu zIYn!*a9Zk4dprsLWwRnVqOd#RI=OvV#Gg}Gt&zL?1fFwi-Z4V4^0@)}7sH=W;oQc& zs-z7YPhyRu5Q9xuC7j zjuI<&1vej+^=uSHkqtb>4x=~7CtK4cBoF&VWYrvCnL;J^a|&F5Wnw*Lf7*s6N2!P< zX5D~O_uVZn=Zm-Gid)v5TVkxUxOPtKwCWpq%n6T@0y;k-wwQ{9x3ycQPXvS25yr!_ z#$QSl>j&fkVk>7!)3{0xUu667)Fj?^ug?jW)KeE2g{2^7aT*>o5Le^52H~T;;9AW% z8_it?d&rEZUsxvs1=CvWTEqd7jb%YVV z5&bl;ohRzfL-lpj$Dm@Hd7Sq(KpkEuGEeCn-}Ic2z?du&Kl+7K+I@6kDHlS2wVnIm zAc#+~v42fnXgz1RgynftlZ%NX6poA^j}wc1nI@N?_AKd%!__c;cjN=1$~rhv7t{FoZpP1ggoDsXH3$E1=cpM*88Wu zXrVNK5jcnsd!e!dTY^UG0OM#iJWp{4-kit`H1wCa4XLEU7fGzIAUp%?y zAcq=}_KDB%6%|?O+%!#553wuK(AtEB*_n==7HZzbeV@=6MgJIbnUyf`BHTwh1I#!J zG1AZ4$BeFsA3Zm)C1S&Ly2(Y4lVLsX4YlqD&X`EZZ%Eo3lc+3aqx13*ki}_Jm5VOl zac89jB1(m#083G$=qI9kJw@?4=kx6492ts%*4Vu_Z&`|X{ir6c2re#LKW&KC0<5`d z>x&0OThb2}pqG}WZS(GsdRxsedO|Q-RY_@q3x1-M7Z7njK|dKbGDqV&OP$lEG#qOK z-B>brAlosQl;B+)P+Ic9gutAs?v2pQXuBtHBavmyV|CB&Cu{d)8S~7K#gSwuu1f8I zC7#MC`gk2@c4umY3R!l|^XK^4fhd>)fxGlPZk-9WAz&M@;Xh78-zR!%MFnI{<(X=( z1N*X*RoD-dcV5DG+m|6mkB#k%#KAP6G5v)lc*Me=Pj9}ln*1q=fxb-wBggj-EQ3IX z`E@GESZUvh)5?-f9o=U=f_HSUqjdaOV-lVhmtZtzH0U$E)Nak~nRWDeIp1H=GvL#q zAi*_#I<<#bek*N7PzsnbV82X!ZKULqpfi_yQTGw)98izDEZQgOsPYRbvo22o$H2*KPGP#C=#30dtMuNloN=nB{Spd_h#d5 z?x#Ql*9UbyyLIa?`)E`}@8O4f{+b932B%!*KL=x(Sl<9$+UB<^dz{2gAhQXk$X(Ge zgnN~LW;t!L^>S(be8%Zo+%eZ-zrg-=!N{R%^L}9Oq>4ln-_}A-f-ZJK^-!Zv>H=EkphgvNHu8DrZ8c#A4kiqmJV>XQ7+Fp_=| zv5zCs6JGA!$7AIBOwVS*4-i?i&e<3ho?D8RUMhDUM(Ob_!Ed%!aIKI3;$xd?SFChe zpt~U^h)jTiR>4{0UII##$73EWV@ry_VG)v@ux{)=XY?*TfDz-q*B6SGOSP^=2D*}P zBpe=| z?>+vtrr=MM zoTaFm1R0P)T3Wf|)Z42Krc?8=yX@5y9C6{{IRfp`7RfqI9grVm-)ldqBR=#;e@-HZ z6(Iu0Wkoi@I5E;NY2syj+`%k+RX=UdiIzSu{Z-W3<1*%-RtaAnk;dd;dquwJ@7IAr zQ!(MEGW$=`X&vrOHn4kt^J1&{d_gIMWE8pdCbQ%Fif!`V>{Ne0RP+{#`q+)H`TY@` zvGR-d>4mZ)Wq{+OroY1ROUFi7H2>4Y4A?XouZ{cL%h>%_THT3Mnz(4F7*4XjjnI&l z%*#)@F1vNK4EZznGqR_g*8C5rL+TTHdNob6_XO$fFr&;YA`NU+B%2SWLT;e0sWZ}H zXp{kP@W3)HQz$VUc!Innu9|Dx$R9`m(4}lnV+H8?>$+PYsIWCX8{WCiXZlwZ26QbM z+tL9G0nB$Z>)XVOCw8?8=k%jZ7-Tni6YO-OBH(R)0;TihV>b;hmL)xnW}>W0`x~4M z6ME!mu&R!IJ@3f=`v{(=S3u;RfPR-PX4N}dFhnr|@FgzSWVAZR99sq9o($<}QOyY! zmTZ9j@S(5K)V%HK$D4HD^xA(C5{lOJZBwdjH?rzy8OJ;?ek!|{iG8%?KeUeDn-J<6 za2}q?Z7IzH8#zt<(BXS352R8o4O%*o!6e0&m{zd8P80`OHjzf%G9j!^{v4LV&q?v| zawoXvlE%EVx{fIj#DvLq&tFCZkls!@2{jA3>N+Zbos|Q zkHRa$4)1fe!%!61wC^V_2#ya#7KHu|?<-l(rJoLFi3#VQR_{oYg09)QtcL<>e0GZD zD8<`tm%7ralEP2x!w=VEM^{Qknoo=#?W`SP@*d7ZDtXk#iJ;9EO0(k)2HA4OHelyv zDvUv1QAE6`b9PhR+D6(gdq&*hsF4!@cLj3&d1F2ROQPL8RQ&YCFIJ5$3yElw`yegF zDc5GR2uiq#@D`o-asn7=7(c@Z-uV@kXoEXb>81XW*Op8R9GvnpW3{vBEHw%`8#v`a zDVP|$p2L)RSwTeIXcfXlSXgvF-Djo)WM~D15J>*K6WfzuI0vbuU!~D9* z{RY~0;<3=2$?T6c=UPq)KXbWjO_Tu!Q}ZtMR{$%y?a;%XcTm{ZRCuf#XVj2W^6$W? zv`=y)hnBdqpu+j}z#hBj`!;>Diy_x}V+s>aTNsz&+zE zq!_SJfIQq;$HY&%LwYBxhgUWQli3IS?Pg;2&~UG zDL zYN}eH3?~1D%L`Bl<9z*|$E%Ob{zdy9@$CWeB!LPVGvd<7Knt6pDZPjn$!}-J^BCS| zVRNUl-z(o1%l1PC1O{%pPnc-oA-nljn?O&xS^UGaf6E>4~7 z{)_pZ6@laTDo}0{Ur#->zaC=MqDaXg3QNR{>BsV=nz9#X5=Z6}Wq(s8i7+`${{OnlFvhy2iafunBH}nz&!= zymH-C(cG6ppUg(xsd>buYrPzN3>J)ERpFb;>#uZ31N`b;ivy5WLHri1!xLnKQK*f; z-^o{#3bh3}chR>Vcx)th$~Kv5M*T=e<}kva-3E^ZDD=8bd#^&W;(vHQ%( zqCU$;b;MJ{k_R>S)loxEWl~Kg!(a$s7Z=f<$xU0Kv=zbJjp>ddV%5#=TGSt^ zS0Y{ipJ#O(=eZYiEyUK!H=od4JOrQg4v+ZMO_HJju4DkV zqZI*bZTRi@U2y&}Y$KI%xVFo1#2CrGvIVgE(!4LxP*cbLU~*1mVV|W}uJJRmGWV2t zTTUR*{chSKzIyj?y<0n4!yy`7^2Kb#cyp`1F8!3fWi0$o*K5ZS+or(tynwJM&hDMf z>({lIh~eBY2e{9*%vRAr3d`tipaB4QEQGQVR8Mafd(}&PiO#!gdhK}ka*%@^h;cRJ zo4|#h?MxaIf9snEo6Ws^{FH9(OAy5PSG?2pUu@!;pN)9aS}cFzUaWE1fWm58rhFh4 zG91-Mjj$bN-~K}H=NoZ(MQs6L2A7}WE_*DPy{xDx3ZM_?nNt-{2)C1wH(SwmUj{HF zasRBe<)EDM{a936sVQ07Yp)pCwIXTgf0+Xf1xgk$35ijb+H{~@dGVY3`6YCQfptJx zRgoJpiiquKT?Ydm!E>_qYONYqeHl*gtQ-}WKX0DQ)+>Y6jCgI?Dy{|IlX?pTk`@jU zj05-6SWms$BwgPnEposRa8)*DogkuiPvW)B(9N~%T>t;23|c+VNk<=TKsJV}B=%T8 zP*~Jx3NT5OF3ZqDx@`sN>srH0XMxm#Y_UOeeFVV9$E$6f5dBh0IMng*Buo&u<&bHrji05Sy{@e^=>c6|L50A z$em2JJ8M-E zk`J4{xb$xt>;X-tVx8~ahxp#3{RZ4XZC@6B0VUMEif!C?mUeK*D=?&cm4%VwAfa~G zf-mYA+xS_p#im`qj+%uv{~of(R{0euC`d7y2Adeo)*;0hmb%g% z`fl~4d-ivWq?YKOk9rO)?kPvXED%XuQxD{5Vs2K`2BsxmsWcKccvF$b{fYv8=D;sY z30(dF9NwL-O7$_X5$3Uw7G8ZJOINVIor2?Ko;5_KF(Jn@JtsQ09Ti*lK2UDYj&2hy zv2JM5y6iM1GJU{WAb4@9&UQ*>RNZD|KWU;GxP&R}TGllv14kzn(?#1hSueTJ_jOCm z`ncV(!UU(VT9ggptLQ*AHyUQ4w4$X`@7wsD&OXYcaIei~4wa|4HtV&7zIH0v>LvoD z84>8b@bwo#X+=#|ZYi)&TBaq3nica8Dt8I2U&>46g(c494L?Z|vAqV*PZHf&_3j(l za)Dhv8=jMscX1N~)TCYjjRVU8F8?mT@FXSARS+f2x5)b}|EeQy9}1g3Kq@bKbqr+> zm56Rxu2-HK>5q9L$Edwwl`fg4i-H@ix%h&Nz;IlP?B6|5Sfr6AWd$f&oHMj*61*qZ zs%y4>eMdy@6n-#-iUV#vG0&wx1<~BoK@p`CgRV_oEv2=P5tAxImC)(=EulRZjd9EJ zp;cdc#oXv-o@cmhwac~%-7v5i`-k>?s~fsr*I#0C?wlA&B>?gOGSMnchg{IE)%$y_J0zz*_$bIZ6|olZwKO|FZz&WPCtj-hMi(opSpTaW&w;W&Zmwh_JZe( zZWFA|v7=Hxx7IxsH+ptNM`QRa_@WJH>R`E56badw8a-O4_w8Rx@rv3Gv>JarK0ev`E0z1CcXnU;=+w`)& z=^E|(yiysEs@R0e&euH%eRTmwr9x1?lUAp`ixuF)-mpk;o2UrZVP4Y>pBQ9S05?kN z#6lQGvMZV{4_ruCOr8F(cQi%vQ1DsqU+T8y`BuGn;BHMTCbeFm*&%QoSmD7GDUy~r z+4?k5-!5Md{{g7bNuR#{=bq}UPii7?69d{?b7h^)+)3<$MPig(WA?pKK-{!UTaQ>R zx2s~C<=mU#2{j+Qh23fVf%{JRCvQSd;`I!WPO)#+{BZBf^S|#IUWP-IRY(p=yXJ9! zq{#5$=<;0NE2gF4=5Rlwr8R!TQWJ`FZ3u1srhRtt0t|zvc#pUGnMa6CK{b~>M59kZ>rnRv?4eS$TF-gHndSy z5a9MhxXVGg%u0Xw@)C!n!shPW{uj00&PAqE$snL)Hg)aXVTWDIgdJci6n|aAde~3p zcJu!6m@@%c40|GtqY0+1ArIo5ggN|Q@wJ<=bii6KFQXa5yt3mbvYU`&FR#IYqm;=i z%)ml(E)pQ5g71c3r)-wNfZS>5K@kcrO$)2G|8o3vn8f$&q0%>igxgMC4nw?sGSTRwLEJ^uPBt*JaUmm7{dj|)0 zTRqh^pJ3bK4|kM9N_I$9d;S+A+4n2fDVd5FwDoIV^+e+u^O=y)Nv`IZC-IpBjinLX z3?g>S5y5xhZ1t$o(d$<5RKufy3UE3Huh`4wV4k56%9eFt6?=aKexb?IG+{_To|WjI zx{s%<^D{gBG}iwdB>W`Jiix&pIRKyzEXrMGpd*(U>hc0qJT!l2t7iJh=SGjWLiFcs zKX)v~xg}@U{sb=Cg@Kv4Jgb-|XieDYL?*Ny*s9}=D7p265juTW6k+&unCLl5dc;=4 zAl$(MxWb*iK3s3O^MNa%XX#3U>E5H3wNRu&v4+^;#%*@br#eY0Sr3yv@G91InZheo zKuRohuMlR}2R^aA@$8*1 zzD4mmuM#l1Guk>BLhuq1W&c$BhnTTKdF!G3>1y?@2m&f}gw(*z`{_HT$D1D%s`jFb zq}SJAazKU0>->-!C{4P!0avy^zF!@^UD`O&!%t+K(3pyn-$;Yq${B4hwq}VbroHFW|}rgSscq28I_Dv6s2?MA*u-u zv6Cz>WO6Y05~~wphfgYfoFd*b6(}V?U15;sh1*^6JVT!3m8G;?0^h>5S4uf7BCufP z+<=IQfuXd!1*M9F4JXO@fg3|TO8JNUMOYW%s+1vk!rBB>7j{XeTQl(s0`a?oC3W(6 z{s>m4!{iP)!gDhgLOX%s1J23i(LT{-|T^bdEjtZ6*$Q*cNokq<=nh_sE z>}o+Pb%hAQxjNtVLCDBBxs%oZ$J14YMcGAL32CIeQBYc>K|o5Rk**=7I|fiv1ZfcI z8A4JThGs}frMrewVt}E$xi8!v^|deTZE`pvc4A9>2>g z)SjB2s8#ZhJfk^nVL8k;XQ^|!I<4{-{Y+N5`lF=I)ny%-Hq=+Pfl3V%RIl?+VT*$w zM>x-h&>iR1>@{5RrgEwb8QK&u_y-1Pb)UkXw{BbRezW=RHm&t966m+8Yaf^ErHcjpOLx=Z_xuY>?hJdU);tS#a#~=7OE}f5my8Z(wI?kt zIlGJS!iCng+q;T+!cR-IcZ|fszIht`j$fY>ar3pmVbaAYWACaExX}?LFwAVLbQGWU zD3;_V>e{A`ZU3oanaWlzhV7`OrjB1-o#kA1wS(u)d->f>WSbzNc~dD2*vr~p5L-XH z{v-o0r>3Ma_Z&<+`@!HNcjX;8C#(+^{-G=ygbx(-`GTeSmR6ObpOTUMQCC$MAA7)g zWw>ws?idbE``anP#R~S@?`Z>X!&1k5&j}u=-pX>qhi)6}_d<`jI!$9-5d4Q&Z=fC` zr&Ii$6~ELYkm3Y8w~1ZePeoueYy~SjoColI8E!XU+=`{Nt1l(^{Nf&M{)#*ZRg|KRmZ*>ehfbc;dLEmJINx zc%88UxeFB>gIO+dWWW%_gwHV%foK3qx;#hChb|CdXxa1W=~x(uZyFp^PE)AkeztJ_ zD8=_|Xpl*#oY}ENGOLm@R-%JWl~OR^u{l_i@+W)OQnqV7NQjL zILn#k2&U!pK~%kFwtzac(B;BkZ3SMg7mv^8s^U9q3pr0OmzJr1^_oT|BQ;OIYPx7Jc7d^|h7?eo=Cx+(x~hnwSdeDYac547Jfczl!1z zL}ASInYj$Y7GSTrx<$Igf6Z41mzN0q<7lEXRE(K%!B{!EKyl~=P+no1QF$PO4gby! z%-hw?cV(?=@6-rPH>oo0h3qEz0(CL%9|I||KWE)vnNRuO;rRY+>B|NZQKp6mLnXI& zu4h>{rbo+$eY8b6wDq0|MeBx5{WZIN(l&U~x#PLg(1tA|@t`^o@{+M#qu9yNpf9AN zJQf!QUS-*GUG*gKwcZ$6FrDGAY`u|N#xSt-qjK?g-6ooz6RetFEGyj=Itkcl!t+nP zjJMAQiuuk`W>QUL`z7YiZ)UHhdgK98*>zU?P#)V^zjKv;B?R{UlxId8WzY5x%HnnF z8j3%RSM!UwByOk0mGhPkXP}`LVh*V~vZ?kJmP?i8^C@@jHxRt8o(u2IvD}x+H+AT* z_q^M3()Xcdhy`H4g?yS^c9$ys*FX3jR2?jchq%3L|nS$(^C+k=wQ#yaUU?SuuOxuazqkEM4`kh?xt6Ofv>xPM%>t*KNljDmM9+p9Sj7@Nhy-||zw6D-(<+!e|K zld4^?woU$C#*DB)$@?8T(H6l|Y~8MWmZ3pXD8Uf#BatFKNis(}N>n3sMYc{wb?+Y& zAS$#_nbW={zoB$k;^%V%4pZ_?`7~NCam@}?xAEYu&2{m0d2YJ4#nSB)CTvq2hp$~4 zBKY&6{He2I4I0TKX;1$v9AVt&`^NY2#Hq?Z!{rbT-ZHtgaye|tYaJ}?sV^G0Do;Mh zjNwy;`)|73FUsveo+oty-i!$c2|ma{p;)Qr=`9_lrKG4mafVXL^O|Oud#glGPJgY= zMLFv`>nV`^4RtiEiDW3N-r3h~UCanc7CeFV*XqNpR+t_IVYYncnG84D;CRK=OVn8M z$zb-j_X35!Rq<*q@bjy9{E>>dAhk<_^Qo(k*nVc~-ZxEZ->jOqerPlxJ6KRVl5TVl z0XKf0?pwq=TCL1sZ&txLN59#d>u)a`H2>^E%=P+b zpezVWj|r#LK673~2)ADb49k|K_S|G+PQ>%BYG9OLn`tG$X{0*n_tkZHH$zk&T z`6c%lDbK*CQZEdBmOuOS`#rQ6yp82ZNg_eL3G!dE-1`PbVhhN7PJJsZeDKvh4b`$> z(cmUK$UflpfCfAH0HT?Y#cO2~n483jZ^F0b4sz|AE#W_ju@bCp9jgDyHdkj29rJZ z1EBMJ-675Me}OboUG>}nv-pPJ$G0~jm5C8x(Zo_T9KMDK1%QOjs|(4ygvasw7Cg|^GlK@Gp%-fYcOCGxYhx|R^V(p9s@m2cRTly^lS(p?Z=*8Z? zr4PGJQRHa`x?kcxv6*bvHQ3&%Qh!30n|O{kh|sX%T0w}vV!yJ~;pJw@jqEZXH|0p% z*Su1JAcH!H?K^>*9)XnXSzx*QZKB9POoUa1AXhh;Ii9zebQA5XVtLPY&RTN&8L!hh zAdxrNqm4Q|en!4`Lx*bePJJnzdTsD>t7KTKXtUHIc*trb0_omNS^3ac)~ws!`L8(? z-XYDgwCWC(BO{6YEL%gEB)t(Ku;uPEhX}d*jsc9l~I0E*m2#Cnc8kd(A>LjW9U;d6toY>?}U# z<5+soZC1d#!=mF3+VtTXaVc-K&`VDbGpmT(Q-nN$2!Ze-oIgC+Yq4)LL||^=Ee|c! zU=q?=>Wy8>eSHn+Su|yH93D1Bz{3_DZ^aYqzS?5l`pV5Dt zn{VGd>&PI7=mm8$J)I3(WjqV)cfRcgz3lcnT(DZLP<7;h(S0cikKTU-8V3 zjuk80pJ}=j`WjVZ)w#^Nb-_Vz3OSZ8(SasY+%Iw3&XR#KjG3LG2o;_}1#-;-Lpz(& zv9B4fTfQ+;WeSj&k9cF-~*W*qLwJu&#EhN)v zvn&#X+9m>T!DQJvckk4E^OvC=Q`hlex!{*=Y&)`?IVruS32SC@t4GOlA&fOrdJOLF z+aqy(W+UmC_N;O2wJ1-Eeu^E*Q?|h8XrBlX6b`=ia{it;w%EqpzUqurH0s%ZOl@I< zKNs4_5j5wc4* z%-}n!9C@kUTkht)ag*+d+o0etGE&KPuKogMn)hcd03NFg3|U;kd8U83fxxBJvQLK9 zaqi!)J!G_qtbn6ZJ*%cxVqy2NJq;)RuQp8?1eB47hs}?d^NOXRBhjIybz*#%-LX{mm8#6&(VOaa!jq3zT->} zwe3?i%UJF`6Tik^8JVhnFRzty3~_Q^k8i^D?=`~+TL1X6oi^xl`asI2=I++4>*a(( z{z%%Og~tikk*PF6@wZyX;)?e%1`F`RZ`&f+z1tDTJ=EX~;_145-4*cimm>535aO@< zGA)k1v*@B#)`LD(qi(MP=3$8*IX;lnM6f?&yCdo%N$JOQ5)Zpie6*Rq-aSR}7D1`h zHROz!+WQYOgPfD;@0|5G?oeT70@5^N51l(jLI8XAX6o?=kbyUkTW^bSTs*9#2Ad~d zRsO?MYs3Au>}|*g#2&h^%sEf!vx4;wf-(gwV4S;&E|Pa_NG&O6p0$$hpG}kAs#wW5 zKkwTCBasca+xhOp9e_vbW1FRzV)g@CTxuEF;heHzJLT#zO}`QYmCOge5(Me5MKaYm zGlT;cOD*g7D&ZSpmF5v1Wrk$lCFd~tm&93B{Ved7S7EN_T+Y2+IH;9v4K z&6hSzaXm$j&(qs04b`<;O^Z3}!KQ{Il!++TnaHPLwQ|o!&-^mvTy9e|eyU!v-#61N z;IPq$vB?9h)33$C3mEDyx}b)Y zYTqCvmpSBP^}mG;r)JZAmWt3l^Ib0gibFy}Nmp-Y`uM8LeiENqV8ZGCH)8jRx_rJd z1ib=?`whX+<)!sC=srak=WYgVRq|NEwo8bIhT~q2VZ`wqFX3;W+n2rnzQM0L7` zv&X)w86q@Oe~qp}wZPMTQmb;fFMpnk85eYHTu9KP?Wf$^2EL2GS33+EH??IYl~zNW zp;Aw#xoE{NP_*Tmm&j3NHUjWVAL=A~o%?+BW$NfVcA!L~V|HCQ<1JStddx6izWTwi z9Z?d^hT<(TK^!c*a;7RU|LH^1`*_B%vTs3QzudKVA=PoO^!^z+w!!I~+Kyz+UYIWX z%#SgEuPZUxR!r~YpNw9QoB>ag3A>o1(6YuqCS44baIeW<-GGt_ax|u_X2iC6z>EWjJM+Fh>FlS}{^vaCrqlT>e&UDlg&$IQo&>4Tb z#werRCFB;w*>yRaEVy7{YzCE~Uu|5>ShGZ%wl_M_W~~P{aL#_XBKFH(Bfn~vd^O*e zwrSOeEO-*Ar(Lq+DZG4pl_TdpXswf%Ga1?MO1}Yuw2M_srbLEvE24#O6_8g!7)HotJY{^L=Zk&9eJLlEjKt{7p8*<+74rd;8B!yAReXo%T1YwYfTnAjq})D`D4&}uoB;#1afc!ty! z0P%>81!R4w8YNo-f4j1I{H=C+7_e*K;yD+}NJCCT``w3p-~SK{*o(MLv-7;?JAZ8- zQZw5>N>GArJ22=t)Hrw2s@`%RN>^6kLJpMdK~Ow+5_{8xP`HUtsUSw zrz>=AU7OOTp%kJ&rFb=Z@*oc_$gfUZqrkB|vovF4{dmovFm)AfpIkw;=TD0A%NtS_P^7Spj{Qn; zCd6fUi^Xlo_!eX$^o`=aT?vp*n{EhOWV^@G3p>M}Wi@x1!h-((NJ`cGYqFB}b#n|m zC5Icbo@@3}6g$VzZP5nhm2_fZ{nOZvf0cNo8l92kGNU}`*U$a3( z;f!!#z)oFDl<5fA*$R0d;p$Lf9evq)gui10dwL|Evc2c2=LXff&WLx~P; zuy&n-d8gWy{W844h4x)7r{_tty@>qTB~39%h3qxmP@cFo60kuKu>X9#;LXK^n4yn;YsY9nY_=f6a@-kk5G1uD{?SJ26)W7n&Y{y_5dgLT1$J4 zleB>1HH3!>;R{XjG^Z}bHvryRYry$6_uXNiH*;zC5$LH5;8<%X}=jR7`6=>dV zBfB3F=%xx5T$4n@Wy1SiN7;vYHoyu>wV2wvezV_RdzLRvmxEd=^$E_=mmulyYd~og za2k?=QRPvE_Dxx3o*z{k8Pa;YjwALsiTy4X>yF}=A3jjlc!_i z&V-D)XUKkZkLWtDnTDlYuL;?p+Ps?$+|I;zT{D@7(q~o|>gJkN1Iw{R>K>XU+$JX7 zjGi&AM+hxGQ4HUoH|+;GXJTXt-@2@8cnA)BT{nZ=;p^0c%vw*tY!Oq*4=mtWu)i-;en=dxYA2Qn6)K`M!}E zkIs-k{%W5N+~U&3IUeP+58&tTn`aMiL1kC+o%K8Dp7^DoncuuxK>Hg5Knj4`d~+;mLz4p6wD zIH|P7Z?<6Vc^nfx=&B(0CYo|M0`A#loN-ij)BfP%4mBnk)`#`e!{FI8f+CUlg5MyN zmIa0rKqvM4zl@p^oF_wiTOTr03#X&6LlG5Yw%%hlZj_0@zKF#szOW_ffzI5>VDb1J zObHfd1B=!FzyOp(PqC1tqgr!R&(Hrjmf=C5%mh^qY+<&44UwJj4o++{86LWs_vXlB zjBzn0UcA8!Df=Z%tv>ea48qH*o65S8^oWZBdxVG2!~Ft$%IQk)vR~*CpJOzCbFum_ zCb)ATM_-0C*f@Id)Y?TgCkWS~M9h+H)aia1{+pdcFXdH7^r8b1$u?sgV}7%*%Dv9t^qbx%Wz;z9$7>R98YJ{!I884qS!r8 z7C_y-U;A)0u9Wy<^BUH!*pMq=L%9}gb|}xSP7bVnh6*Lz^=iupY64eRml_l8#QzR+ll_(q?jVV9KUW{rj+~G z2Xoz9Yq@J1WUw(7kUHg$5t>S0QT&9t^9c?ujlVy$$r<57Bwd>bbov`RY_m$^{Pm|) zw!=zXangoSyeemal#7d^Tz00dMahjxnGn7T@OmPEMtk%w!mR`t;%@BipF!2f);Znq zQnJf`%4BRo+imFuo>?2Z-_n!Apth`^ksX6uWW5a0EH7Zu9pc9b0pPLG{Rcj_LJBR9 zZ|78kj`FW%%A6N*jk4{eYtJPYlxUT$-vX7=FwxY#@B3CGKj~*;ntv1Haf=@7w$N$W zVGUv0qFl%}5QjAnS6Wi#3XD=(FE?<(bX|LdmkPU6-l$O5r742|48_>lh-Pm}QOJ4ycKPch;jqgwVYVIMHteB=<^mh_ zHlbHO>OS_FN`di3(q#?eEkE2np_(p~vF^(Y?CU1>RGr`!ub%@17Qw9z@H+z>9>Fhv zVt+J=7AGF@;JatNuhb}bhzWhoSn`m6z-P0&0cUPd$+9u9sMY%!>_hj_^>L7vg5Dq# z)e>tfNeKghy5g5r@Z)LcR`0g6E1a=!pJpCCb@3SN0vxWhFECU9uwR~4H}l>8NgVFe z)R+PWy*JG+%h66Gd0VDv7ZU%%v?lCO<#kc^Gi|h5E0RXru$z$fms~a75rQWTn z5aku+^t6_AJrMCU*hokIo*CgTftHuHeD&Ho&^5UM|jD4>t!%ZsMa06fOOm751VSk@z zA#j}pX|+x}N4DN1X<`94`cq-K`KHaiq@wEpTw5jE^<-yNo1ooE0={9WSb%%B*XwWa z5|cHylPIRzG{&%MU@TnhKc>TX+dM5PY10kbqkT(`AbQsvJ*Z6U%FahR412@!6(_@k zlcZ0d!_S1Ed^2R`s+9>qpwGEQtEZZ$n_aRq8XZ*OPG-99K&|rW^6Mf!JrA~0VspZ4 za@?SNOyhTcH66p3AihUUz>Wm(YjClP8;7t8opo z^QB@CMS}Rw{{f>o*&yfnlu=^?y@S@>@6GDYeyuN0z=uGlxm;}b$o72 zc!-g3g%x&lPR<|X;A0yWlMk*Wy`r)&b4}fZG1VK*?$Q7u2hc99!Uq9}dMx0EDcz0> z?n$(hX$ISUx!xTmFFCl$l57L0{9=cjB;;GgNBMcuaY!JM-|{-Wk^Z7L^O|>JG`;lV z3KJjvM}Tr`)z8wBlG&05OFCCFS#jJb(f?1iI`MY-DB2BpF;i*GWd?m<%*bcmaFMb^{X<39e~$T?{`R<_zK; z=Nk8}&si<_I2(I7K{rqq@RypWaUTut9=nRXW+nL(TzK#XD4@Ko6k4S@1e79^Z34dE ze_JdU%ZafE%tNcSqLg**(i!0)WsfxQBHp&*t#X`XUyA0h7l^q%w#w=)9WwFj1rz<_ zyZwtWd}600KvCr%p_S+8DwGFWL;tUIlY z?mlLGcbJ=3!E$;o<~Q8D?&oiC=lS4Mrq)~T#CJzF?(CgD)2K>m`aNSxL))1&fW`i2 zv`aJG$PVIv(%uE|(V1xMS@G^dCJ}xcs(}g%kvZ1E)Ky!$z%O%D?l>)J$4GFSzOm(Y z9?gUSGzqnua-kOV@~lc>e&(}uH+pRvhanF68w0Mlz^joVyoDZX&^V z%b^)uL(H+O4RNCw`NG{*rVCxeiqHj28ml^*eDE=Hu8^;@MPyT;6Zj*AwZeU5Ki&;e z28cF3+EptX`6DCG==7 zORLe?;|Zh>{=aCeB7P^S<|g+5jTtJ+q)n+UH)b{W#L$=>ecu-TePGyKIldq+W14DV z$Xa3+aUG$A9hF46%VxSqZ+u=DT4NJFQT%cL7g7qVIwy8sp!23aY6Pcwylg=48#Ibz zg)G6LzDj9Pjay!VwG!9mokv?0EwF;Z^e9!yF|0^~cAo44?pQYYKAJ}Kt zM5=|z|rz5st6QHTD5JqEZ&E ztGpYd1Upx!p?^>m2o#oE^_pjGH3?F~#LQwh`)gUl@72ySUdqQdee~58S&82W#-^gy zEU@u;f%dnle;6pb@Kq!}$bl*fNYBhSSiN@wly1msCwbF+s+5od|8^elbv^NJ*b;VE zAGK{-*@+Qk94TB7>V+S#vK%D&^xtPm7xYQ<-j%*kVVBRhHq-zJ%RIYtr(>3hm!FND zTE^c#fe1PC7^*5+0~TeuCk!i|b)n5DrEh0iVlH1NatVV#$_GqNW@jf3vkGtm;85x60Z&$^oo-=~iY0*2YQm)K0u zm))RbQe!}s@0CW0p{%YC0pOmzd$wMW0L+WZLB=4?b|~yb>@CK+gD-B8`lo7 z_UvKF=qG3^W?Ie1IukY9GzN#+D{8MIp5BxUE|d&ewtaTPmsl#LujB}|c?n=6p0lM! zg{Lk4V@ANhfWGTl+R}%n%ts2AQ)}|u#6Si^j6Y8PqwZ-+)M^ET<=;8*Kl~q8`3#&z z)>c9je$d^7X;5ErEt7L+#Fgijl}p^YSTkZJLjD;VhsM*A#)gA?|GB>}AS)$<%+1O* zx9RoxkA;1HTkNHc4{4#cuhxVXdB+}`R%BZKW|`pJb074R0$M7EqMeIPE*_LaJOq2W2JwC(O61 znXvEq)*fKN4$kv4W4&s+6%6%ITf)M-*Uvx<%K;nGXLGmX!?QaZ72vhTf)Ti(oL!;u zJ|7;)s-H*CJ^uWDWGVaBAZ6iW)-00S=NL5*E97JIP1h+Ge^J|X^iA+1Tmn2&yiXAB zR-99vUm~%Zj|_v*#DX6E`pQ1Wv&DAF%*-E41H*b6^X8o97Pnr4 zs?9nnbbs%BDG%FIr9E(!*OtG=$_9CkMo;qhZ(!VFP1@Z4`7O`SP^vDEK=cI>w;w%J zy88+xQok#%AYp6fX=AMs|G;XmALk65XwtBgCFPyqu>A-#qHA>aM{HgX5+`4ZDn!~! z=_9x1=lS0*W?RXt&Xf%d4ryBJtK*dZ>kzL!bXPEWtIJTEm#dy#!{OFX6n)PVuXLGp zB1VSE@)P-JLZ+kk3=4s=J&++3Dp9BWdu9j%`{r zcFMGy1fPH>XWWQ%X+FRfR&l@#eqI`Duhia2-KuSp=Abq1I-Rf;D?H=;vSxgp_H2nUQO-89yG`4WdqVTtRtFUM}b{o{35MAXN`--s{34W88`s})8OJhl5O$*oSpjS zBEKrX+n|7L$z~YNJKcya0hC8<>C)mX`qL4d5tq!7$<*{Op!>_CD~(Jsy~p}QK`)5R zUaXRbR!mH@I|q}#x_gvNxR#gp_bEuY5b_=4T=U-?!_CJfSya0XgmJqq=5WTYRw?dk z$2y{XBt4Fp(&b7;r{K|Wy4!GN{zy8r7gSySXOD)ce9vn6M)%Y^f+`oQ`2y7%@=pv) z)JU%yT9wWrQ_-(Wmbywf8mfj3E8J%)6V{9^?WJ(h-x3!f>Q)gVHJx1h{Peot}QV1Bo!v<^?Ce(h_0avo>H=%nNj zS!Y*&UqJVhC+;U|-9Qk;GuNnph_pg^7UqRmajw2k72D35j{MMqxdCXs{`611zR^8G z{wmPN2^sxX;X-n62@E*<2;e*|YyP4uf|v9CktB65IfG6@MZgJp-TAV@92$#lG%j9d zrtliOgmXy0y2J|b3;Oz4^SSbh%1KJ z7pVTeVa@nj%KnpcxU&9PJ6u0!PrAY9Rw!2j-(XP6!+GQsr!?74R~AxQ$eyQ_s!#)O zeeCqKGlm(5{SZ8^@g991Q3T;4+Kgj?J>eL#iwCXnB$=bCliti^Z-KpXK3KiItd1#t zcm~3?{-8t?fxIj?VGMP#wJ0-+{o~o4ADA)+=@l3B?S&V(`>{gb)TAVHM7 zW7qRsLw}R!q_5se4i8+n4y&2tdtKI`kg~RP%4dcbYeh}mg~(6*7F;a!ey8JJmyA=I z*I&iwY^XxiT{H{L-;)zCPSdc;0_eerjPaB^c&n4hkXojR}oW4CYS z8UIrpx9VSLN~658_AqV2 z0`ZJduih!9I!{>7&PeWoYInmBn*{O<O%~s zG?UwG8X|LM-s-|%;o`{}6KERR#%rR_OD!IfdaZk2br7Fsw0@C1bb3P#Ew7J+eOM)~ z8U8G_Ef%}}v7ZuVov?lX9FxtCR{{~9cL+02EAGRmy8$gS}D zduz*`kFLA&6=ab;$sLlflK6udn}yF3Lua{0`i(W#Zi56ps+&4sQ$kGnwI3DReA+^7 zGdBhe1}w=*RrB;(jm$W^CaIC2oSl4QHZD2a(tvcaBiME;ABL5UZKWm|=kEdF_oJhFUqb|u`a zoR+(u(;ONHv=AIyft66XLVul>b~b)F;!yLgd7Y*v!KW8|#mPgjCc0Cc>#b{8*=W0D z_GfyF27kbX9b@9azX+lW=u(ZCu@v=h)+SKWRwTnI0z+>CgqKCkCb+t=xr3?j?<*3W zZJ?UUkGvIR%<{R&elTAsM|mi>eP#^50UByl?H&yE zV*aLqZG+#B0o!KH9B5ilAM3<}xzu3nSl6Ysnk7 zfFYNOI$V~dYgQc48+`iZH>Yp>-ZWY>bzAH(H7`Wi>Zd?OxxwVS){?GvKomo=jYBk3 z*U7jcN?zWpyqsCg&*)f^o~0F<@ZL&z{dGz_TdS!Y_AR8b`=a%}P9yz9s9EhHl<@#dHB8;y(uc46 z?f`93k?-qxEI&*c9|t6A96oY8RH*;5A!jlWe&EAYGbBrr2T!qQ$6*;`Lw!m>%ixPFVUgUd9#kDf1YP*ezEVcdS-caKw ze3&215E+`vBHnBhPMJ0&C2sX4Kj&Db8nl~Qs@z6@E(lf}!+@THO(1E1012iH48P^; zcF-A?%fL_FUm_%L3^d|Mt?PX2TP)7S=s2-Hb%1U-)Y4YMv$^V}Yy)m$H$8`9K3(sk zi&}J2Fp=MXCnAVfCdTZ$*k%$O@^dEo!LPQbQ#5CTTc?%ymEYNfbLER^nnyEcUNmlR z_y|v^#_s|;E6b+WtE?P%Hj~1?^bwQFg>&R=8J|gIOQ`dBLlZS8w={e0@koX+Sxmgr zTczLN+DqZuwefazexmHDktiCn`0BI(f_-6Pqw_gH-X=@g9=^)EV>}@c{i}2+)&3no zHN?CilA)4ho7Yu>QE1HNT=5gTL&#ShRvue}sS*?1|cSMyAKRU&~6_0x~#>n+;SC(8PJD>sihv=!gZ} z$|+VSImHTTvVxfzLhEhy&%LA~#Q0aWw|Xmdte`IU3Cv+N&iP*Ea)n||cOl#8$tObE zp)cRcY;snMA=HW3eEl)33pCu?)2YU|pJ*ld9axg)y|n~Z z4vpxRu^yj>)o_%Utj3s8+($7%=#rRmcsD!i|M79&_jcbfJ6QdD5~f%2@@E3egzng& zuDN#9JpL8)Gdq9kFT{LpNiI9G^@cQK1f8VA_0|ykS2xuvBO3Mhs?J{ZhEw75VV~$j zWEncC)wH}Vi7{DTe<~`gQG7w-90HAPjj%Z!m6H^}?m%6nhLKC~stCs&N<$qZj@mD4 ziz}mrLwe?N&z7{ecYh&Yd^yO-rrbaNoa9Iz>bBW=a&C&iC{hba?-9;Fih=Wf#CR}6 zP=HsHS-Qq`M}-XpY=M3ryFMN(>lgYgBe_68s^#Yb4vTJeVSeQtVNQ%TF=h@oMiS6= zDS8!mJ&V}sXXkyAA`&9zMl>Z|x!Yz8>Qwmic9Dn`^XkPTn~>yqWq%Y;At%qEJ=2%FKs#qGATC3Am=YDk6J109WIPxjtt#Nbh2fIJAZn*I4RQq-J`8Aj$mf@f& zHiW#&Yio6j-19su{TILpeYjEKh=Aq`rm4H3dMZq9LmLQjt_K0;x!^tL!ll8Pj`43K!@x4w;3!rwz}^QyPm&n$o!M9B6u}DGZ^;LHl#uo2T~DW zDnm@p(QkN%#fh;iG)Vm#<|hO1tdBjX-tw8oDpV2PTX8+vV+VXZC3I{mRBY%fBlDF- z?|)!t0}B8<_Lj@yE&A6YYKk?wJ+*i%&34mWMX6P#xrW-|t$X^yz1e}*)|(}El>N6` zc#=Cd)?ZipL}VD28%Kmq=CW*}FJApLq!?DOXfKJ<;WZ5<#)Leai+B%6f4s-g=S4K@ zJ}_#I&@kj4gM5=ik9zmflwT(X+U~v7t>%Avb4>}vL^OB*l)?uDAu2}`nR-*?o1Lu! z80A5tT|h;ThOcZQYqayHGN%QK>;Z}m>ia<;{A@365CmN(C+F;TYswfr>rw}-@*<`* z$=2jq7Za?Qqb!+ruD?VFK|H5YSp}oPBc^QL@L_Zlc>7<4a~zf zbYfGK->=gy%U@+S<=g*xOIN^%V1DqTA9%xTIt@RQ4)gjFO(Azi7dkLyUdnK5pK)%d z+Jt%w3;|~{6By$DDAvpgk*Nz-$)q83=)q7+J$K}vC5HX0_R9NlFcnyu=$t}&&Q7Qq zFjS~R7HpEFQ44~MV}b?*$wD;`+)1J`(Kt~%BnQHr&DIm>w737}Nw#S##Y&dv9Di>t zuz{6@pG5quWqFrflV(4T+(8#z{T2eCd^#N!GR$A1?_Fr3vtQ;Y*}t`OJ!<%qh49;CJVdxnkL3bvb zxLeu@xc8xAcJ#U7YCM)`u26o+GfWn3;?OgiobGSZZ%$9*GY6qd^#_OdN{U4VUz-JS3U# z7p(cH=szG_)6(cIgm7ByQ*Q!=@YkoBojJ(j%yKSLld*TpEQbQ@KZzRIU3hSLD~hKR z_2z4=&~gqj5i;Oeg&c4;FW}f!x?3$PwpV#SO59~Q15(k?IjgvcKkwOe&kdOv>Kp#v zTQV0)*>YH%T~z(bxcY1=pwo`z3N&aLQ5;9A63;)M7A5)X=kaJrvav&9H^MrD$ zBFbg}*PCYBqwlKP5e`>W*)r{vA=r!=LF262iSig2A~-xvDu~~Xr~DKWwdXqBi)?)D zvXQaIvT9dRjBWjx6B#TOa z<4GpII!BQX^>zrX3?3YYO%c4mPA79wOgr6ryDY}A?xTEx6%cauT0ivO5Tf;CI#rxa z4sY`MLfxMBtp1z4H54j$cVXR?IV~qtg8214xF|HJ$0Vb9>xp{%CmW zQ|)P&%<%G5NubrULF{FmsMc2)v|Srqnu&gk^Q$TT5x%{9)ncjVkQbEZ#Y|;Ya!ZO6lB$;+!BgbQCQ}z4864vDk4ZjLJ*U?v~$t3W$ zWi7;!wc8wz6~Es3u7BGt#nv7g!q;i2{b~U*uC0%^r#%@C)ee;YaBZDt(Z09uyH)C7 zU&J{xAPALjlE8{<=Pq1dP>rE_q1aHBUZMC2zmt=aFnqIQViK2r3 z_$1yFE{pJ+$Po9F<=NR33O+4TJ4x-0t7oJFe7)qnryw^U^Aqa0l@_^mino`i`e;Z7 z&lD#V8$B24Bs~*HgNg_*o)qX~xtb%IGrq0bCy4$0i-}EDL1-=zoMP{sqHPMzgh6Na zhbjgdU;Ar~Z_Yi6*?E3sn%>`@Tyc4YEs%o@Ut;Fql}@KgaW-!<9*}Y@Zc0cl0Gka( z5%qZ}zI6TF??28|Ks-6(@Dp?tJ9MI)qI^&1|+L9RphQ-_Xmn%DDOE+s-qbCtuI zXbcjsIhK&b7p6z4!`nHyvdBnf!DikeU%Q>)iq1>Wr&b?34M9hlsZAm{3xo}K=ajiU zFy&LE4lPM2wE^!UHT+g5MP;zz)n-nG+3&kJ^7Cv9sV|c~ft%VZb$HUQ*Q}duBDxHo zVj_lC@X1`B&t+U>o#IzBW&_q4HVZiR;#_L?AYv!h;+4CaEyjW()l^)ECm%mk>quEj z3^=9t1lsbw(AP33>WhE|9|cU-?aj|KJVcW~S{OzWY_2aBr&2}8VKtD74bLohI$aGN zw&yAQ?;B%~e#^-DLw?i9!Z}8u-8v}P{5HNGLf!yAndcmv)uPp;QWmr+CLJ6PL)xWz zReHR~b~#nfC$JS6EuaH`Gkz!I*Y@LD+iX0J@KaPeo9OD>5%*u~j|o6K4CSjiz98 zDOx|>%eh*L{^5|-6Ct*UDhr=~>TN&rkYP&&o`_AbE~R;gnAj|2wI87>Gg0@(gR;gw zG%u|?BOV}QyYijYU0BZ;UdS8&+&Q0E#-W}mcaU*;Y+(t!&>g><7ee@IcB}Q%M?cG2 zAFQUSMOKA5&G}`z(p$Ty69n^A!>VI%g9M)YN0I*U=Nv1FuZ-OR>6{#=U3iay%onA6 zbtC&K6qs;jsfrx@kVWIMo;v2?Ck+m%nCIy>11F!uUtpgJtbKgh6Fl{G_fZ`c%IKr& zmZ!}V&_BQMv&`q>t4=fwG!pVO7vdd`O+@okr|pV2wZ7TXSa-_(LUVlaj0!On5o#wlpacv7< z4RtsN)eLwlrrZ3uf`BvweH@Gd5gA`HwzbQ5sTqp((xtD&Q;ROjIZDXGY#WvjKT!-m0~k zXOjF3NFN9oE!^~o)%Y#Sy@VY3-o7?7-OG)`z)m~11J9m&x{5svqaqypYKOIV1u5`7 z3?)=_KNT_tD)vz_#v>`CcpR2L!3hNG1JVjN!n%iiThT zbiNqv1iQQwDS39r%eA^R4zfN8SvG-I{k+NJvAcg0?Fz--l#>{}CMyvzZ+7LD0UBm>~d+y`*pWi#)&7WvK z&Ovpr83j457u8n}&9@x!Dhpm|ivNYARS#8@Ke>WF7TBy9+WYhLInJ~JMOwobJpVY3 zUz1@tMPUN^12Dqtr5+P$FvHk2#}qw!A>kf9TbiUiCb5Mi+;!fuL!!ecSQ_oF3)LP( zmR!)N=mV|5lidM)_x_JhppV4dw30lhO3TW43o=93q)ytIoD_s#yKOI$WPlXSA`4~_ z%2tHjWZb?ySmf6c`5&IX!mXI&6eJ`Bq%YDTE!`m9&80)6FGx3+?nb&(x*Mds zq`Mn_=ktA^=lu`%nX~uAT5D!5*~PraTRXjH_L!2{cJ}(7o)=bN5JmiW3UwnFeazqM z07^&vF+?}_EYh3lr+Hk} zMJ1f!{)qEt4I9>on_xbJ)UZ(H{nw*Xz_j`ZcV*}b{Kl?9sgx*oRRqA^nwAT)1V@^) z1`m~IgEJ?!$uUGmXZ^GQS)-uc@Vhx$F}-+K!3!_RJML2c z(?C*RSGe@6ydxot^(3I~H4I7?uN}~cvKHgC@vODb;XK-$g%AW-a-A|vm7%3b-E|U> zTh%KJp-gYGCew-_QfB7;j1ShmT`P$0N^meA@lAA6C0|EU7y()PgnLfeMhvr&vU;z( zt#jt^Te5>|u3scz4%EGY#wyAP_c! zMEaN;`rs;9u4n)K5(^G2+^b_nW5KDhOr)t=ul(fqF8=gEcgd$7p$j>PzN4FcQzOaw zLvrb7Gy~kila!o(u*q=}nCD|=ZeRe%Q6s9<3~_={gSF=I6Fh*t$ZdJf8R)tA<`4b7 zBSNg}!>CvKbjv~s*Sg;HN0_%nZsEg>=M%;dpS8@l+!XT&r(*z1QrqNe(Nx9jUm+IK zTf*xDu8G(K_Q*9aY3{9@@{bzjEKQ5_FFR;2LS#5}-pFm+%q z%9d|>lt{!1`6^5%tg(N~0b$Pq9G&}Ks|2C8 zJOm>_@PZ^m35FjFB4q*T(YB2+fFcyjKM=dVfjOJsCB)`zUn~26k`k{YVe$VjXS&bw ztiB$&T+_Jwyi7H|!Jx;H|GTp3YdMIT(xMxc0{`r4V94N7Q$83dZ)gcAYBPX;qrrJa zH6m9VtTiPUeBdeLi=Akx0jMJxTj*0=hmsmXShfFbQ1D@&1)h5yB{kheH(`(48r60z zJ}_YDU5n}cYlISw9fmPrDMJ?N%zw0X;P8D5S{kT4%y8>H!T7Q)kA+A@v$V!0d(i** z?|xhAclfx_ip1($g;agYAcv0l9ic#ujtEW5#3G`jfU5Tl+3(uQ{spU)ZBpma`|x@P zF7Y<3qW@q6(58=qV;1w&Bh9Ni?Oscwrx z)zWpvf&&hb<)F-zDEthVwtFa$4W}fap+a^PVcY8a?jPg;<+Efj;w12(@Y>&Jxp46 z3fLA9{(MG9X6`wYebt=}-dUzs?&_~b?Baf;?>Z)>hm{Yv#A4HYFB{TX5=BNqaV z59CvOnte|K>@G+m`v~kz)Y0WxT~NziycS1GU|R5#?dNlVdMR*V^Bb)aX~gSnV~>pH zss^{*r~LYfq1@ns(lBE-ve!tJ-fU@-Gs2mguRc{~Yi*V?I7)VJQH*j{bFW`CeRq+P zFPk+>r!DRoo@QHT|M6ogHh257xY!K;J*ETl+rUxkBHe?%o&KArKyiY%L|4ejKMmqe6y2?bYW~jlVQx_}Q39A_9+gBNOmqN@J zPAMK<>7+n_S)N6uF=eX`e^G4>A#8; z;9RA39&3DUv$v-zAZ?`~yH#F1XTNK)$g=Xnke2-ElF_%wQY`^<*TTR*4&T|MWFE(UsWX zeL2P+Q-;}`b1YnyIgc2fN?Usf%!%yvn*SX?%6^v*(tb_7)#mThizx>R_PXwY<`Mj6 z^=I;({RPRclc95}b1?iKk+KZ79jN8?r^AbVn;)5hZ~ZD%1v~L#%1D<$uf-Aab3z~c zt(DNwl{9bvFND=EFLA&a(lCNZSB&dt(Zu{V$p!d2lHr(Zf7nBPsH^d{(v{x4jOzrO zs*q_^i_Zw4s)@Op1_T}y&O-)3?S2(xfg4zSuJxCp$K;d6@7AU#AJ-=}Zb~P}&G??+ zH=XuRd1P)MP|acB*Rw>>f8<8;6$LbEvqdmEo=()xm`ilJT5dAYs6g}@?C%A4RIrHp z%DLI8ll|Y2TF$mX5}HC5ArVSbTk9~d`;SMY^Xur~zxZ3!_Yw|>EiT(Sy?Owet|e0X zP1#?}K6iIXN!rqYb2>r^VjAJx!{>GA%vGr0JX$f1T=<_^ z}=8Xwipbk%#Et~LAjasZD z0Ma$tIpmL+JpcR*2q?}ob81mV&jZ`re2IS z3#!H&uCB4cVRkI*Jg-zbkN-SKM@}<@k4}NCFBig}B zLC7qHIqvV6Wf#|Dx*5Gu$3gw6_0Sxgv*f>>Ad?+A;`6I5i|2*OMFc8KNQPbd4QLvJ zfr6Y|CXoa>!YLbK-m~ORma+w?sQGG?G9_|woYD}di*ffHL_K%TSTCmggB}IPmt+=X ztjz7lhiL4rEloB-haq4yzVOM4p*Ri%X_3+Nw&?$G2?B$%;gyAGmthO zjyPPQo%E6d1Mj2uOz~jC(Vq3(49IL+WCxdH1{5YV`fT<}Rm}*@I4VEljCO)OBUjF*U+6 zt1LAI?!8-HbK4Kh>0myMe$P&+KHsh!e-N5zOrXG6(}6`HLu*W+n*@lf=-XahFoD>-cna5AR2wbMvzSGS7jl@ON$|O^-xcKti z+5z9~f$R)**xi0_f~Vs>ep}gLJC&EF5JO^q+v_|`yd121DRM!D2XBENxPfB!pxu`< zU7HZOf_f2F5&k@cveMe{K5fxl3k}(OQ1B<_e>vS$|KSGslnMM0>H38^$?Q#Riot1^ zH3_VV`+Ir)___D`oAo*5glKXOee0@c|7t<*Z^8sanR#zy$gR}8!TQ$()05Ny)#4y2 zH?5;%IQwjbI=$z1E>fBpXy;_K;W5=p1+LAv$Tlh@{kuS;DK9F-;96Os z+1`OV*Bft#2{Q*jc_WIFNMPh&vHQ*kwV*hAH(%3PyL1rTT7CuxPIw^HtYH+p*1Jjc z>m9GnNAaCb@0BqI)K!dh_QmNFT-r?VuHyw21u{}t7 zr;ovD5CJ*?aY2#&Ji@|8r2?`y-cxbTMZbq|d*c}U{NhWivkgtF4i>&Hu!A4&#L{r; z<&H;*Y}6t00_~nCpz#u$xp8WvqjPbtU}dw&(oN)>i{CQ15)%V%0VRt1uH*6qMuTE^ zj=uDdFVjqy^8P~r<>tFM>1<~G>EB*0(ub!e$Rt|JT@%9fdSQgaZUFK3db#aCCoOTQ z)D83NjZ~BmEHV#5LLv^46%1t(bz;EU-+2Zi46Peo2sR)8y=qH!IHrS6ez9#gx8rBy zn~-fGI(j4CI*xex-%ES8M6MZ2XdgrC>PIzpldECTp#Ci<-$6dw&o-IFJb)QRiraSv z%F|sl{1dQG6ADV7bE;2J71_Ra1C|;ZX==i_qR-H+ z*nn!$PQzTF)@na}^5yKrx%&~h$Bm|*wc98O$5F|$8$czV#O%T?SyYOCxy3wbXEexi zOX}YgesNOksGWCkRx}AOAQAv9^; zVSNrg`GJ86?L_(R6s#2U)QHR54x-#ehT&qJ8;AYSj_~d$Td!MDvqf zAdlc+a+}Eo!{Ejbp&l9$YNEy2#kV=y7+8?KI}(0W$%U_uV~ap#Cs~X^%A5zE{*Br4pwK6=^J^v@uyrtU0c=+$~LI zL7|$KLN#CiifS4DaVb}ohtN|AyCF7DhO0dQHyKQR+%3X4M;i#O!kC9Jhs?dUglXpq>0IJweG)i`P`8cs- z3tE16>P=YaMV?04+npP7`$3IsiQE6lWm<#?4iK^pt-r&CoMRfMp>( zIZ@JwEWmR%loKSiV`y9a0W*Fu784KKG{Q&dA|v6}djE!SFSbFo>h%6ePAN0WkHomb zC6CzQgyZX&(OvN;o_v>5TdLxtIz?`w#@8|uBk0DA&v*sc^+fk&eYDn*QR zW$ZuHb>;uIH742@rkUzKH%9f1DFusz7Baz!G)90%d_aL|!d9B^*3sY2$GpqeNp0$? zMdUsw$zp~H-9qS)b$OU`+*>+!I>p@C?(eOxc>H7f*v>Y*SwMxC0+n14eee}UF2~f` zS6*V^xkpy($U*HQdQUMk+0XeH>9dDDXV`uJ&NFejMI{6-Gwb~fq)Oj$ab`|7(%@Mh zNAB}otLf0kX2M>&zE}m0*mQw@GF)!F$WPdvYZ0>zb*6ePmd*($ zvNVB;mOdt6*;8z{IXhLtUm%0HhD2$tj=mH-d$beG3~-?==PAoe2ebbO(WVkMg75b) zR<}xU-Q0e@Xn!J|c!nj%KCmwwQPt?SIC^-mi4(o!F_@~KGblk)_T~8tw>kw^s|q?*I-UgEgFO29@(-8E?2`G*YD$!vZHo-mQ9d-0N)E|g&g=m z3p#bH)}do&7X)~?|9wX9q!wb1t7!5X4Ax_cmGR zXLunKmxV)l{t{LvcpSW1e3sE?~o<; zS0Jhb#-EMZ$K}|ijj2f~3Cm2_iKaGbxfrHe34m|&?LT?34mqxBQ{2OJfUIL8o+yPD zocd~^K~IdkiGB=O3tygG3Bn1%z4ij31Nf|^Q~}`c_-Q{!Et3br&dIxYcE*nQ*Ga7f zaQ=GGyWHdn*|-NNR5vJt?m%-u|3U^XxHyvgUCZ!SKj|6nHs3loKM>g$S}Ri-43cf zahRdz*)?M<6GoL32E6@dZZy-QBrm^&Z`R~2A{Xfjd=A=c7OiT3v5HtiFa?Cnz59Zb z;m@w{A9;0uTK_qC=#_oCgZqMN)+C>F)67+p#68R=WZ;|Anp{KWLQ&^g%zF|-3M7FbdGS4RxrmA5^B2J;BSq_VX21e0$KW7Y*H_hjHVWA_LPr{Rt?EGgK+x(REHn< zcW3u{)fn8en*L;l;~CBb;3<-_u_Ret%dGJ4NOC?gpG#qmFXntv!$ydX5we^G-bmFX z(mcXVdiW1QOhLQA38KODx={8*?T5_BFFCJdOM8-P7b)b7FnxPZhVZIwDSO2w6w5zJ z=)9D?1_yw9RqYSBG-uI^WNwvKURgtobHNx;srbl`DQ>JQ~%ye+X;ng?ee@J1PA1FH1g zvknG6;LjOeH~!f0+6m4@xH&xKuhAr2)u?@UIZo1C#;8XP(dwgbZmCtMtFnB7Uq=g> zmY7~J3PH&pho+OvFoi;>o}XmjUL%%sQ<#l?=n+Lw&<_F{-Vbr2hpXSoCcU=83yAfC zD74H*BbAZv(C4_BPWf647Epa2R$aaZp-SpXEtBwNzQdiVU6R-wRfE}}Y;oUtRrX0oE1<_Xb|3onplCRn69 zw&JV_Us_WjlENh^&Kt(Egm~x?!XgM?SdGtlPp-keGMvAICeQV~bC9ylv|PYnNz3c4 zbyw>5-@rP0rWb_55|ylvBBCC8-0r-$qMD%Lzo+QTmc?|9+SwP>z~^Svc-$eOA>zG(99`;B53>-L@H z!Fq?*qk9s^7=j4)T#je<3)T4tXtFt9Y3HY2N|fM|@k61*2k(GWTTJi#vaT=UBv!`2 zy3oDCKS4IQP)iFN`>b3H*DTv$^?jr}y&g40WB>x$lfI~Y_+Op@1ZYCcW%AD9QhXIF zKfdwCg}_>bdLy0c@9qrK7?fAuJu0}&P&uXC#g^#VzU&+pkSOBtYU`_K8K5>_rxsct z97-i!oS?e-5$xvJ@?w!*oo?lZG__`X66^8Mu>sRK1cJd0zHCp5C)%GJ-9MySm)^Rd4qQdL(d{JvRcwM{ z76b^TKaS%bQqLNG-nz!``cEs*d@5Mei(-DVjxx(zNS4(_CQ(%dgG5RlxoB|v4n7 zPw_K`k{U$^MTFCH<#2IcFGq=E?9lF;aTwhDstf4}T`;~t&R%$4EgWj2EL)f$4U|?y z5QOE3_wCa{Q852gh5TOxq|EnrNuTcP1H78A&(@um4UbeBw1^M{RdK2zh7g#$S<=uP zEN$C68aFxcxVxXblJ|sZk9`td?oSH!3idjWK3YNOcF(S}fH=tz3(1D>S4qg5NnID2 zbHf;|+3g`7E>K3A8t<1u3=y+*$t#tfdx4n;si7kxGx>H1*uC*qiK^DMv96ZWb6A5h zGqhD_+2WwePfT5&lEoX6F9N8We?LWi?c8SWmlh5foeyR0q8Rw+WB~H>t@Bba=wmP# zphcodjQn<-gS2pko7XkDHLu_#|5HFvXm>%Z*ci7o>ytp(Qbw}Q)S|Uuu6=UWYfNm2(T7Gncjn651$IpzvRjG3W#9aZhKO2 zE>8Xm2>1LV(hG`D_L=ac-yC)Q-5E29lSQ{iL;?BWa`tWl0%t%~l;#}7pko{bh`O)x z@09>^DSBnWkvF>Sa+n2U>SE;6(Ghkl$#T-sD_Z}OXp-F_aToABQk}`;5;;kb$ErLL z%)v$i+F8UVCtG)k*7FqunbI?o@bxe8AIW)PE60gmH+xb!OzM?ymyd*Lr{%B_y2#nD zMevroW|3GVdO>&#j50^u`yf0)bif-Vm9puSi$Bc^mHG5633H*<#^})KHU7x&G>Fa)B zc~8<9vtTR@Y8c>8c-`#WM}WJ`LO8m;hO}=Y5pGuIJlx#RS(B-#BP6$}-lxbjur;n{ z>idHC0=9(hwUDs`X}uhr%eJd#Ym=HegzV~YM@i7AfTjb_YS-Ta)ScN9@VDF&Zfm+}rz>0G&i<5d! zdVP-$bgE0ah|A@A_?W5Q^D8+aXEzetTe)HqGoj{6kHR;hE%B_uVOOH`C`DtT%U=#j*Y6dXWmXVDR)ifFH- z+P=ys|M_2e#}gu?JLLW2v4Q%b*xGy`%+|=Cg%KX_Zfb;^HvX9qnqifXyv%tkAfB97QvFD9_sZ-4$ z1P*|c8dWi+?+5=YJaNFSJQ^y`fnrP0yb>lxp)Zwn?Eb+qR*8oB3>rx?oR~}<58gAc z$9}gUXTJPjZiMr0eo(vXEUHX92MqQ@vA;F2Uasw1Y2XfwqrlpAW2tYKU#8{60g_*| z+Y}gJL-e+A&fd)+CFpBUDLTdhCYfbmgmb6x=$L0WuIFip&N^G<6Q!4iPLJ(P0&z?V z)nb{R2Y4CqKpYEPx_@jDwmTVBuMA8gY)-Q z4*Rg`JHR(SmEdj>87M-+9?o6kYX{9DNmF2Y5~<;KOCyQ`-SV{N6D*%23$BJ_7cdJk z+yPBG3cCC^&Xa)M)*f{wn){bi44eyF910HG{!Trbk8U3XXLNsOu(j4vwCNInb)Pax z<^dxDyxz*IrzGztMkf9ni7=OohDhp+L}8Hiyj?65*}bZcAteIz$tn1h?T>W?AS{l=!ZCO(}j3b6jUYl^u=r)Dxy zvljpYy8;k1wVrc&bG`xvXETM-M!;J>M);N%y-9;Vt4|!c4A0eXK<-UbtRjpYsLXCn z(9#inc7LhRl;4>i$=>$5)Spg4Kymp$fPtg^F^;^^X|4t5FJ8}fu}qL2eAhf8_rU&c zJ>URgYl0@^un0OiyS}-~iG)Bf)KRx#8I|Yvk^@+}3$aMsSB71kjOIvZ0J^3W(qEdw%8a17!(0hoz#QVxJ*(prTr5Vk|Z$u%KK(YLtOZ1OT}F-~Gc~V+NJqf=ZA6Spg}=iF`yf?R(WSTZ9(1Tt}rV4~lF^ z((V4P5bz$e`%)WZxY4-pS<=4@5zF~0%SIK2$G>}9oadDi zWx5mbOnda6M7RrNv^)JPcriLpt{?`@p_QBi_tV20B~?|*Q@qLM(YaWVe>V-%+O+k= z-a@!9zPAC`+EPkrf5*<5Q8=2@YN?~43;wJFyYv%X>cOrS7v=};86Eha1mYk){YOlr zYYV-6u|~CXC>L`55IM)WWY^xV4xv$Uww4*^NT|&v({I}BBUZ|5h zL>9)kSg>32w8Aa!&YhjDaMy2>!%d4lH_|#vn4Ro2L($r%o?+hhoG2b&>ivHU;ULQJ zEZeop@oew)1((lz;PD0d%081a-+*kkR;)fxGj)w2oTz$8GAC;}^}GHSH|gm8GDBN% zMmg>yVmWMl(686h++l~8^{ck<8Z@YVZ>Vpc24`G^B)%cJE?q*xJdleR}U8G zz?wemJYH5>5#iEpkHwuZx22%X?9*jrLzprnBFI>{arf2|kW-qlM7eYLK>gfN*=}yK z)Ia0n^8TXHn#==Rq2c5zwh+k>Pq%A$Wq7{0myljKF26i*kdAk=ZkQ(9OD<9h}{ z@w*A7({0B7`#1ex*A>aRo#|ujdFc*Zd;gEiDy6jTEB#$`pNx85obapS0AWv?(>cMc z@IplH(8xP}wcs*hBsyAQD=qt$wt5i+*`RJYJ`gOq<8S8>PFKht8GAIIPbcNz!ZqCg z@vfC``4YZ8)Ep*@hvXNKPHiL`2LL98uXQ)N{lKukz*qe~1$e+raA3>!SbVeZ^5>(| zRwS!EwjX#8Q?C2&e}_f=y!L+1X=9~JHc{Y7`!5Dd|A!v~Hs#t{R=FfDKIOFy3mtN| z-5^$XXj`;xRd5Ny+on626m4{Vxh*OlaEJJk5JM&j>X@&v0ULfo(n|O7~~{mtU8W>v5Nn<=CZ`h0@AX4ri14q*!<~fu5C; zoq8?Q#>Z9O=y32N^=d5+4rpCJb1_3X}-EQAma zr;wzsc6w#T<^-*_ZOn_H$m>HAU_sijup@c)c9!+~jHAoQiU7k_nPO2nbtg6IZKb~2 z$+LKtdEzI}^0djM9L3~`T)HB?4pS0Q!n8CtfW^|FW4nsWBBXG#1oHVR+;#C9y5KV;+oMphe@O2o5vFNStuCBsll9er2k z8X3N^yRsa4OT!<__x;X4=t|_3ebOh^B)|F;tCwW|Jm>n*KOa*}tCR0?)~1C&A$r(I zFv4G@=+(AM_*)yz#qW(oCvAV5GrOITWOdY#tDc)xse924$4;~xVAyH9Qw*`z6Qc(F zmd65zKC`j^D04NfYn-yp6W@l}Q?xp!eUI$DKqC70OMnD6oJ5k{pJ+5psOCIVJBkIJ zG#)X}_mM&~RT#Z9E^f0_Sg)a7+$i-6_R`O8%0mM-EG}5<QSpGHKf*lFxNZ%QZ09mHYNqKW5dizx*k8!b1e2SCgs1*d~>^2qQ)J;Mb zccpxRjx&yMbzcYec)nTJoz0P9;}2b|NJ^hR%|B9+8@2-15}J7QGyU4!P)9BS2bTc7 zc9XCW=M4<$7B+vvaRoQ z1-EYhLsF#am*R4w@av;}#Ya0ibS1o=0i8l{a71ZwI#eT1-}v)HvIX0FmsT>9C<;#k zqJPkLgE+>9Axq&Dcnzz2=nOJ3oLbG5^0>#lr(24f5o*=2E@6K86WZj(;E;YFrp8Y zwQ_??Jm27GwS$6Kg#SVj2n-2p92x@9pjTfYoFWfg%MOz72;1veClfv-=89{rX36=^ zZbHVk(#?l~c|8b2Zz@1lMkd4@9BuzH^2@>eaT=?-5$D<{AjPQT))CSY#f&ac4Yee* zJ1|Im;)MU6-}5tP5|(2F#`p7|KuJm6c@D)Kdq*r~HTHHni+lUr2**cHu|3?rCBctq zXhM^*-Y(d6Rg0{*M8n+eR6C@NaUUfY>D-jJ7U7p}Uc?E%{z=4d0(ALUV3u_?=^REr zlg~5mpdPS986QoPXAyGo-Zm^ZCZx~v=ul`v8Ip2)My?AiN&6|ZgFcL!MZ=3|wPOOblV@Dw7E02aEw( z5IGSOOco6&3f9>?9(8gt1-##1FJJX9qVq+rd)%D~{@eG&tB2dk!2htF+THyW@Zg>7 zt>Zm*wjF(Pis!#PKmHwmVrc>7dLk6**BW@$jGRniqp%=p8r4cD>^fA{$YP5(Oz7wl zodmz4fof^?(t*hMxh}%nxnD87V^{jYAFcbRm!qD5&kjFVZ;^zp_hslWlgAjd!s=$? zcjvpI7|r4U!}|jvh1dpy{iU>UgsdI|QQ((Hfb6ENxz@%vzu1CcWBo59!|Dx-BXPoa zr0{!}>_^i7CH#DWrI!)FreDS*+eaxjPffEt)cN~=(;m)#qkeL)IJKfzn8q;vEvtX2yZ!M6Y&dMGQF+?2=jr zKU=J~&+37GM-ia3d{hjk*qMdr}ucdBq85`B8qY)cR{l|g=Kxge8P?uyS0{& zf${x#!jHL|;#TjKFsM3-$(`UKUV{Ty@0&-1l%T9CD3Dnw%8%<|-v!+&umUdc?jM_W zvlJ^iGz-))K%I!kkCMAmH?!|&0rUK;-ZHGQCmf8S6^Z7$ z5@;(u3Y|an+#KC~C4U^`eU^X>4_-ZJDST%gwsyS6H2+nzbJd!A;G>uHu5ADedjfH4 zm?wzl*`dZ64{W)wnibZ4(9=POhU>pCWT4(l3e0NTNaXOqFkfVb1!V0Xy?N zDIgDXKW0AQyyqRxu~QMaGPB>uYc1Bd01J13uaA~!S9lrlH|3r@>y_MyXfaQW-@IK8 z;5iBQ8w3UBA+h11SDl^g!wN89LzzjkjRCwSq;-IC z@GSAwnvQ_|Zz_Y4itFQX9z<0zYw1s6uwdG(S%X%l==z4x(czz6*2j;jdQ*QIQ=(H8 zKc=EWCUL_2PEvB${VyZik>G=Y@hNjO8{877Q+z+^H_OHbn;SUR+)(eD2bD;ig+O0X zziQJvdz9-vrh?VB2b)9DSg!0cFZ3^b2{+}6qp;%ow(H+aOdK69LgmGu?*H(l40axF zx3R}~q^iWwl(;Xl%?whAU~5y0Fqgy9{QW6Q!QY)%+HRf-)Q35OQ-4AY|Me)~r-qw< zR6>PNqP%+m;<ie|xIY#PorV%UN^zPnHxk2X`kVsW*{;AaAq+h2t1IB}^|yd2cYDqbk2<7-Q$ zjsBkBc^g1e3xoF%Vh>|Hz7O!qtGT5Ny_)IKPb~OHFIaiW58sfis(xRK{E2~TOtSn9 zE&{_lq_h^P!}f|wpya&P0IulW_>PGph+=>S1!9=o?Y`WMxd>!*_CPA)73m;bAab8p zs6-4jl$LCztYkSwD4A{Q>aprIRLYCeyEcUi`HW={)O_`}`j$~E7(ZYkS;vZD zbK$7ItFQBfnshf^m{SUdAl!`G{C8diM-L-FyCX|4VsRBqXMxF*$gA{GT>)acy#7ozd@>5G)iaY~AcJ+(@mG zVfNj`%4Nz>)TYBU3m{$Vl{1y&VS11#46SqB%pnhLOA?Xm4{e+5D3K{2 z@+-acyr{RW6}{!%m$)o|JYp$tzvnp;sGiRBfy^4U`pb)vvcR+%i5V(b5^%m{gJ1gB z@65kGdCwhgsqh@-ao~(R;w>NB>>jRgMXtIIkXH$D+(V^wF9F+j(`mae8z zewQ^8`c+k(Qx?^}rzRk5cui8_J7fdSN;cN9jV$OL_1mvy)4C%lVW1Lm&h3NLeG<<$ zXo;?*lp>?vtNMS!2ZhqNidZ?2(i3Go9?%kb%-t!Rmx;z#`rygM;Lw7ciG>?xRC6tu z%<5e^XeiX)cERkF965q@%i;N@j=z=Z8|%!-48I1JDhKmmr9stkE@c}uMIPHY_k6Z_ z1+GtM6xb_F>5V#+6qDX4Q2g};M!7cpa;KQX41(&WjQME6xjbTi&ngqClvO=0)C%U9 zxgWV_KgtHBmzYynXStH9f7H!%5Bea|WY{*AM;$QX53=)}!vmmGn0pX<9`48NG3HSd z3kz%6AIUHivahxwX+weytXvE}v&I$QNOwqrfe~OXEv^Luc_HSaatl6SkebpQ>To9E zFuOQvWX|}P7qUX<Kh;YM-}&IY9Xc#+G^8ptSFyRnHQAz3Fmi6oAbnL|B>X& zXFRx`GslQGQ6Zk@!OaRwaXr%kUF8Sp(13Q#3R#pnGotzdjEm-joWNR8&%o@?=cBa_ zE(wt4XmyeVuSuwgCW{j8>ER#ztEoRJC2rx4a9 zY9rVP`^_38I%%MaQn&a?J0$T4Zb&h_QHf+fcF%EBsk$0gJNvxn{GEu3?@=5-B#9xj z1|^Tg!Q_#r&xDY*@dbA+bW#Fpt2Xf)++tC^snNVNeGDTXA{K)Q`oDEfgqlR(nT~$& zEJ$MCo*aNNgD1nWLrRdvwJRagtoBq8z|jThOTnh%?-qX-_zuJx76Gwo z!26D)CbF$^RReUh+WG9JwE#k1xmq4>A}eJ!_c}-IQSD`#D%x7e^EIE%$t9i5N#efS z;m`;RN~}_drA8{?h{h}WYAq5+xMds)JDAqf`03vgOfyo90$ci7=?z-jtizKUq?P=w za?mWOXWHAO?RTk$&q4JcPDDc`br#M0ZmLI)QC)W#{!?mkhb@e%&X;KAmk~+kq$)YQWZCz? zpb?vI%8y;fN{K+5Y#qZTXzCHwr8{Sjyn>w+EVN3Ugi-*sw9!Fo;tm0Qwt3AEwWOg zqR_tZG@+NZaC_4njncH}Zp${@MJ-dw#qx@Tmb0SPG7W|NtiO>rODgBHBULV8@%{@a zUbd57`{W(4(FE@!r4p^eD%T4Z~`pmGhL?cb%v*x0?I!AX& zO?l-aBO!2G{h-mnO%(+24@-N}tAPSvr@tFaLO+H+btc)ovIfcjBX5+b#rU!*E^eLU z@0i+YSv<^vW;dwZMGe7*2ea7oGSVL*ROdA+tMl-)8t(V3{YrZ^FQT=->|;L`({W8BEmtA&BGZ>>dF5Ftiv^=k4yynQamxc+wv6$k$;*MqO)9D1^`b_xY(U}5K6wx>CnPEa6 zOA!VA4K$V-F^Ozqo-~`QC3>%A?$BDP6=v;&N0PER0kvT487+D>i*4Ws)L~Yh9VLWpz`{d7~f9XTzQTs_5k=QcUVEcLg&Lw`a{ zIvAkl%4)6Omy)p*D);q92P@34$1N}vs98ajy^71Ex!)Kbl~y!q$!wDBq4fg>!>6BA zHpscPEU0eFFHyY(qnmM(9_dAxksj&c0o{@R45ip=u&XzUn-YmMi=`|ly!)cLEAU^* zTE`#rB5#Epx~bhd#(6yLoPLOY=OG#ki%x+FF7P$7e~K>aLmrrJp}S-^P4Q1v`>J;Y z>!a)3laIvB{z8r+IND44&w+`7TGUURX9uAVrat|EyrtV(lx3D@(1Il|~x!#hU~d(N?XdfRxfp(IUj>_AWMAZvo=vph%~2U|D?Rn$;?25=vENdwjpXs#Rk8PLtt5!ZicpObw=lwoMWcf9> z4P*M3laWi*^9jahudy~!_Mk-@#?rD7HXDQUBrR66xg+Ox)7ozuz<`3r!Ng&1Ax*)_ zxkP*DWyGt>06M*vh512F35hQ5dOcarZ4cFL|77ku0e9QTQm5JPUSLKt%|vxl>C(O;LRjwd(Vhrw6}e@ze`1jKe3M56ONOMvg$!Lb|x_ zBdl{tpiy>AfSZ`EP)e-Jb!q9Y{aF}GrDY|Gf?vHj>#ua3^8@87nDL0oyFsm;oodN% zX~XIe7Fq^!#!&hQES1F@cT--j!!9K`nQWhE7&|F1wXNm7ZMZBP7AEY({Qm)t%|V=s z4fu?9od@ocD2}fGBkC)|q6)jNMM4mi5|CEuj)5U0q`OPHoEd89loXIIC5H|P0jYrj zK~h3uKsqI*yBoga^FHtUUDx?PbFOpWd+)XOUTgDEzt+=$<53K>P7u zjZ4G_hQ}Dh>P6EOWC8O+AFPJiNHRVo=V{}=VkslWkl6V7CW#85s={UrO0{EQX|rxU z?-VLX2f4*39{@weh)SMO;igV?etLJ!!;0tVqxnbC`9V*{f_F-M5kB`2<87z+nlL)MkYgfH*QfMmFNym8t zZr4jO{_s7f3Zfcoe%?Th;RaZ<2JbTk_Vt9taeK#Yt0H^q0?MLTR|;4Kzu$pSB;L`~ z6~w#6z_LFM!wEJOO99i#-EL{J(#GHHYKojVbX{*W{~De5{*po^OJli_vX3AbFh zzk>w72#u}mpA#iXf~OTY*wDiZ!G_NUr4JdNxTXzSw)`E-ZlRJCLB|F`3fw?q2n}OLJZ{4!{eB)V|BR_|C7{ zFLAzDd7El$vf~7GFE|fS4*W~VUcTV5%e{RUoF$J0*vVpd~%h8%hmlZIrGV)CW!7F|@^M5oI`o z--zSGse>U{AkC+#ZZqgB`?8U+e)t!zVO9Fs&?A>Y^mSP#ReW^(#fwY21tDkmb{&(o zZZXG`Sq4-zv}Gpjy>#41Jq@+w7Pk+dxeM7LfSuMCngWXuh?c|U!t7gvQ_DX1OStE) z*Wuw~Zc5igj|pfO{=zRUNWjo+MUMIB|HNMk$7Mg9uhB=6dYL>$`I(Y3YH1wWsq6bC zBQXJ1uR2F0Kj%jrTH^^Gf;rTx!hhVGX^$7B#gP;_t^b8#H>Z~FBP>3kN|zNUrk`Mz z;-yvt$RP>CdwArs|1tCm=36^ETdrgdBVG4&G1H;6EaL_I?iA7k!u7s(vvl1jw`$z2 z-%PbpViCH0cc0jX6-|=|d}AS@A2!?LTXK2^7U%nPE@=D=eI>p+^(>TmL!qSpV815+ zt?5a1D*Zw*^-K7mT2VSKRWKKSQnRbFFE}y){q9p~uiiLWz%E8D2I$J3DN)kJ+V zw5n-8N0Rf|;I0#eFYi4|*r4TyTGo7mgENm=o{OJFC%$80IzS@Pa-uu;MQuL5D+N4zZ+|jF{RCQN!u+%p1Gz zMR(t;!NRJ#Aw?f~$?377a)M*Cj%j;kv2DqmQC|^;&C*|1B=l5%`!0zd*HfIpYk7=0CokD+eC<+NdvNjN+lS{Cvy7mJW)063RT!&~ zj|^W7-*=RyJtgVW(uwEJX}H-3S1nl&Rko(6Q~{QK$t7!#50!eP=ucy^azFbts(%Jt z=LLvXgjMtae=;_cY~f!5A@7-})ROw{NRsKk7u<>5r}PN`dnp`r^^LBSBYTn!Z4Dm~ zKMDR#01JNVD}*B(mX{9Z0q?aBjNEQ(8-7yDvd9r1pbX+Y)jpS{HqLbB@NN0 zE^sr*Db1UU`k5FAXQ(1DP!NRFjXxSE;fYPF?bk&DTHPeG`^^y6HPWlA@>1RRkuy4~ z-`TEN4`(`8i#OR{wPRC1lthHk6jjjD!{tl^9^Qah=}OF?9EV?H(=N`j z^T1^_BWcVh+-ou1+|Nx-5;P#;qd1>!*I1D0tCW*kUz}ZpR$M=Sq8|b>#V51g4t=~F zSr8h7-MRqZ5XQDm9cS=Tf5{<+WYD2`LJb?Fi3nb=Z7No`Wtl~Lpb+0epC?X3%jVZ5 zNY8+&C+r2)yQFoTK}PSOveo0NLt=0;jNoNILDDzD7XxctknAKllYmT7e7c1{tGz{J zz@sNa{|QOb{wESvrk;SxY9U`vkk20*jeB}SGn}Ot_HH=~_10iSQ{t11ZgWlkV& zzMB}zkA8D1_&Ri&{@eX0R4}jrCscD?hv=bI`g-Q72u~0DYOPR~KUZ#K#2S(LL(WKQ2=bDMoAh5;ap0*N>LT-jzPwq7-?cMfCB5~?Si(}ek?DhliE!P(~B}YjyHi0ks zdR^I@_o>yF$mA(^{wA=rF_|d8$*<>Zv5V&VR8-QO$9-G^8gG2h;jdN!j;)v&mZ>Y) zVh0e4MCPL!RMFx@)ktAgeb&%{Owvv32g&IJOw%l2{lsGar2I|>Xj(l9%(>CHs0K_lxR#_{MFl*+{2^O79*;&jnpk(t zH0aW9m-;?q?+-ToEBut8Ryw;QfROH~#hg}qxeB+e>8=%hLwvd!(}A$McG44Cm$?po zc}y}QA}mP1XofU(LPpi1rsBQ%TD)z@TRG$x9gb`wQlmH5x3|82M-v%0Yp0VJuKY{y z1g!Q-ewc1379nzKZ*K;1@L-jzG?H5`bv*kdL@E19qmSn0Bc)%0+A3tE@nJ9LSJYxk zoKB{n4ZMkDgwI-=_JWUZry%bY2`;q`7Y;gqQ+_0O=4%G;1GWJAF8+TW!8265LqEmp zt#9(0R(|KgDGz8-1-p>N@by`weQkl5vINOKD`3PAjH_%NtZcQyRe$CPk{4g$!`4k< zQc806q*7klC#WyK#TAJ1A)0Lmw9G{*)VsBE#0!e|enA=Qu^g3-4e-}?Rerc%w=*K*y z`&E7cVV>uh)*oJ{ibB|COCP=NSqJ1Z?-@zeaLFdc(I~!sCX+d|@EtTK+Luyp(k$n} zS&T8BAYfqnx}9Ifl)lxhb!|s`e#6a{@hXA!_k_vX79~d&3oyLMaFa~tLHc5Sy-NY7 z>;P}D>Z+8C-Yw$DG~LqWp~FuR?G*URj2C|tRKUd@`}cx17v(HP`}5|5NpI+SIipIF z;@M&&mNj`>8n&-PS2;zw5_?&f&jZy}CbU zo8_D!i4FdZJrQXG3)v&*N&y&?r3?#{;-`+TKQRT88*XPtgFn{y-^P-R`no=1%D#N@ zHmSW%gOf#Ksl0r6eMWe|=KjwXKswJ(Lz!8PF_23 z_uyk)`E?{dTJD&FfKmv91;|ssB$Z|Dd`I%@<52D>;&p$EFh0>sQ4z`>K_3P1<-rS5 z-S^Fy@dzF{k3dPcYBp{|`x~p{R8ko4$;XN2j)U^P927gGyud}jbd0l#pQo$oUt#>g!LR3f66HF}zP#Qm#D zV3vZF_pQgrnf0&{I%RJU+pQYsltSK}pFX&^w5~VAXm!4v-9Vhp){mF>zYko1Ni=0w z@N-}}!S>}h{8#Dk(l2{BtB&Y_Y%}y2#~l4@@D(!O_2!9yQ`CO*pveipaX5F~a#>~d z(<=}cJ`A2hznMpa2fs?SqCmH0Hq^y%-`hwV2+N=qR)yaU4t?0C6h;DXG%{+vqA>S! zp{up8p|4ffk#Cq2EDQL{UJmV+S=c`?R}O&S?U<%o%z@qpYnAHYrPJBP`x6S%UN@F= zlJ*J1tL$3mR<&bqv$tH<7>-vL@h63B{un`(eyH3v2`;1xDiDQ|3sVz#H?|J#(@88Y zv>t<7eJ_HFA6>g7yX_o>{nCkg!;elu#F41a4~qCV^*H>E z`|iziF3Zw{0(K+Y8Sq2WnSILVzUH7RYHwS1^?W-A?Y@=eg@X@yNc@y)aMv?>5C$Ek zq;p(rzFcze%7crsi8oXh%aI!^Ei^i$C*J)dXUos|Zl8I&KEJq%!#A_EYE5xza$ms< z&@er+`=Oi)8kENrmN@2lVbMZ!nz3}YRu1^H3xxfh^o+A786V|T4PRsaoR2%9#erK9 z!A+`W=EH;M&;1X9IIVv%01yc1JrCxP7_hzxvu}4g6a_J0rul7QIdR$guK#aBE136T`zvrU0&qrcd_-d? z;_6oVZjk6t_a!Q~2tgTqGuEa#yAukpyj0L&o@3cW_y`jK&#?h(6(yDE%Q$?fUOW2~6x|4oOOFC2Wmr!nLP!Cz`!&Al=9nRc_n z3=`?v4ekX8CIbK}PyS2`P{5#7AI3}j=S)s)?a`3wMaWVex_fXJh+;; zP$vp~kygycQb5eY0GTU1zWk+R_xRB-M(xVRZ}(l=UH*Pl;W z3s4?E_t!>e;;E#S&h;4Q&iKwWulG<&Hm&uB#>bWY$NK2y(%`R0@i1MA;-L?i0grDY zKM>=RR~=1}(HrY3yXk%j)fj7zg3Gp+cXSu^!G_B6W3#@4J;g(F*3-oqnU1H=!VV5{jl;Ra482~V=7h3ViNmnT5kc4m4!g8#N`vfBT zv4+HTtH5<=h70QF?)L?jPc^&cLbQxi6W>iOkb&uJEHjx~(t8AHE^qxh2%p4C^Tu#Z zc3E>MjPv}Z3pnjBeXT`M(K^FP=7dz*;STu2qKR)b$xum?P+WSlTvBGsCw=mcwW(mS zXy1@p+`CCS%eE<+5_U_c3ft;8t_AfZ_qArip?ovKm*;I>JGAD2m{Dlvmn?^$OVVR= z(0-at5s)N-r}w|9L=4yRnRyRfdr?sLYXVOd@_xY9T$rt2VvDL4L8+IFQI@lfx{kDU zotpudIggu{qmKuxR+=VO>D6|)xJx7`GBK?IvxW|HmWAa>9Ql{eJ10J00fDRZ+=_JZ zTz^nAtLXYCA3(f-h4dJ1NYMNP<23Uxv!SIbC)y3A-xuTgpF>NX5Kiu0w)13ud}z`! z_o|Tez9HOx9K4T>*DKtQVFeg8Id#UdPH+v7TA1-q{#E&L6e}z9eL&awV^%*z6|ihd zbqW2nQ{zjfwZZ0@FCQ(F>cSxKepf@Vzdc;I`-*< znXGS5Pvrzc&U!{tY}Q@3>Y36%hz#$Lth$%DnsR@jWoEp2b^*dHAR-{qFG4_vwuZ}w z-9HOI$WDK*_{5=j?>Z?zJO7n#=(oRyg2S9j7JghQ5V~0vkB@B$8*K_FR9RwTa<*G7 zJ4;RKlc7jPt&VBiXhMr>wKV1Ln@(%NT@FZ{#kj&_zsJ4!tbS~*&2L2G-99R&js9_r zm!<}00iIC5GJ2UG{oYC(L{#C#)H^Ib|hvf@korxih)W z`HWBR;pe2IwOr{^O&th)hNj%c7kcD6{^-YJ$8RC(4VPKxQLU@Ze`jy%K77Ir<8Apu z4wRXF*r50T5l=0KbIV|%m+5sMcb_ElGy|KyzCc`EpKzuBdT97?#YCC+N;Z>wc>Ka4 z-To6ap89Yg3H*C}@|$f}Vg(+|r$|}Q?26|1zP7;VIn!j-5}mz@=V z4Rd#qk~nQ|qbSv6l-Tc^wft|Eag@5h%$)D1jKr7W`su{bOQ8zQ`nW~$SW1|>>d(dQ zQn<}pNYLa&Q|sH|pI`tud-Q;p97Kv66Dk5(R*Jh=Zul?Bhn~d9@&?6<74(qDU2b75 z%AgRDO17%6hu?66b(>P+%~LSea@+~~3DfiISCLQn8%D#gF^LDTEJ^X~qFTdA9Q+~~ zaEVEE9OE)17F&2Xq}Gm&Ajsk^QSBsGyH9_eQttj>C+iboxy!&sS4bBd}ilm}i~bHQvE5EqG}gE#WC)KZ~C)_nxD|;4|w7hn{1S7-=uuT|OGK zK&8!Y&tX)m#x5BCiIMjQ_vn;-AaWY--K=gOP5m_VY38@GtA8_axT_6)po$|}vpBB@ z8)`72RT>`dUq93$H@Mx1(J1Zzl2XIIA_ez;>hB?zZfnurL?mi8gIA%jByMDy%bH5= zB&sH+|HO83y`*?ew3cjzDEpx>7%*jYXHwo%WxS&YOo0Hgq7$!1cNL^c9hm4fxKq+F}n8ZPVD zd#EBjo0oq4HJrcP|GDpMGkOM?pNpbAd-zf&5%$k8!$22JM?nwO{1bFyT$*&KLFVr-Yrr^SxjVNF2egRtFAgBX|_w{a0cHu zr!d2F(qjzzZem}c&6=P4)q3db{6fVWJXlmuS8FPNtc1n;bV&g}v98ioo?_GZ)LxGD z8p|KsXkF@jMA^&;O71&Y(PID2DJOMjE#5P%c*=)fTAqEVuVwJpMNb^m#E9 zm`N_VCc5IBIfa3Dv~~Ip1a#AshI^BzSR5LDsB5;AJ3#{@u+St@lND zf^smwNWXeC|3PK0RDBFW#q;n1`NaX7A!qCw{aw zU7P?0gy))uHvF+{4*EZLqnrV+{uSZh*7}74N@25)<~^sAG+v761t#xsOGQM#Djf^< zeoOv4p#E5t=e_R$>34I~r-1l&332B^?cyJ{7~tO?7~hx_TLl} zkgTpW2(0+0bu$$@(}IH)~DQG5aGkeR$ohcsw}JTp1&9D9SN!vGmQ`Rj!R!x>Ed8|0|+$ zBc&>4kK-oj?0l)ZM&+hoDW#)LDxvp>`U06)q9o2bz{$p_Jop)EOJ-Tn64zR%EJ6^t?;!+Ul0ED{~42INu@R1b4snr^b zemrQ+jWun?#ZmJ9P3}dgLTt|~-R{3fSEeC7jh3_cLKxYGBFA

b0TFdez9F#FV(zQU}Lg6x&AY#RRf?Pw}=ee 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

Date: Wed, 4 Oct 2023 12:12:12 -0600 Subject: [PATCH 30/55] remove unnecessary font sizes on /wallets --- src/pages-conditional/wallets.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages-conditional/wallets.tsx b/src/pages-conditional/wallets.tsx index f441b978e7f..cdb648e7a9c 100644 --- a/src/pages-conditional/wallets.tsx +++ b/src/pages-conditional/wallets.tsx @@ -400,7 +400,7 @@ const WalletsPage = ({

- + @@ -446,7 +446,7 @@ const WalletsPage = ({

- + From f814aa37e535bb41bb94271103b7515485b96778 Mon Sep 17 00:00:00 2001 From: Shiva-Sai-ssb Date: Thu, 5 Oct 2023 12:51:33 +0530 Subject: [PATCH 31/55] Update community-events.json --- src/data/community-events.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/community-events.json b/src/data/community-events.json index f4fdc3ae7fd..bbb76b4a7ca 100644 --- a/src/data/community-events.json +++ b/src/data/community-events.json @@ -123,7 +123,7 @@ "location": "Remote", "description": "ETHGlobal's biggest global online event will happen again this October with hundreds of projects and weekly summits!", "startDate": "2023-10-06", - "endDate": "2023-10-25" + "endDate": "2023-10-27" }, { "title": "ETHSafari", From 76e227fdd93fe8e627bcbd61677f08e3a6127a43 Mon Sep 17 00:00:00 2001 From: Shiva-Sai-ssb Date: Thu, 5 Oct 2023 13:07:07 +0530 Subject: [PATCH 32/55] remove past events --- src/data/community-events.json | 216 --------------------------------- 1 file changed, 216 deletions(-) diff --git a/src/data/community-events.json b/src/data/community-events.json index f4fdc3ae7fd..f3c967c63bf 100644 --- a/src/data/community-events.json +++ b/src/data/community-events.json @@ -44,42 +44,6 @@ "startDate": "2023-10-27", "endDate": "2023-10-29" }, - { - "title": "Kyiv Ethereum", - "to": "https://kyivethereum.com/", - "sponsor": null, - "location": "Kyiv, Ukraine", - "description": "ETH Community in Ukraine to build, learn and share together. We are doing regular meetups and workshops - you can check on the website", - "startDate": "2023-06-24", - "endDate": "2023-06-24" - }, - { - "title": "ETHPrague", - "to": "https://ethprague.com/", - "sponsor": null, - "location": "Prague, Czech Republic", - "description": "ETHPrague is focusing on exploring solarpunk visions, solving sustainability issues, and addressing societal challenges by utilizing Ethereum, and discovering potential concepts or applications that do not yet exist.", - "startDate": "2023-06-09", - "endDate": "2023-06-11" - }, - { - "title": "ETHBrussels", - "to": "https://ethbrussels.com/", - "sponsor": null, - "location": "Brussels, Belgium", - "description": "ETHBrussels is a cozy hackathon in the capital of Europe. As part of the Brussels Blockchain Week, dozens of coders learn and devise local solutions on the Ethereum stack. Located in a coding school on top of the Brussels Central Station.", - "startDate": "2023-06-09", - "endDate": "2023-06-11" - }, - { - "title": "ETHGlobal Paris", - "to": "https://ethglobal.com/events/paris2023", - "sponsor": null, - "location": "Paris, France", - "description": "ETHGlobal is coming to Paris this summer! Join thousands of developers and creatives in one of the coolest cities in Europe this July, paired with ETHCC.", - "startDate": "2023-07-21", - "endDate": "2023-07-23" - }, { "title": "AB-Summit", "to": "https://blockchainsummit.africa", @@ -89,15 +53,6 @@ "startDate": "2023-10-27", "endDate": "2023-10-28" }, - { - "title": "ETHGlobal New York", - "to": "https://ethglobal.com/events/newyork2023", - "sponsor": null, - "location": "New York City, USA", - "description": "ETHGlobal returns to New York City for the first time since 2019.", - "startDate": "2023-09-22", - "endDate": "2023-09-24" - }, { "title": "ETHVenice", "to": "https://ethvenice.com/", @@ -107,15 +62,6 @@ "startDate": "2023-10-20", "endDate": "2023-10-22" }, - { - "title": "Ethereum Singapore", - "to": "https://www.ethereumsingapore.com/", - "sponsor": null, - "location": "Singapore, Singapore", - "description": "Ethereum Singapore is taking flight -- this meetup (supported by over 9000 members!) that was founded in 2016 is coming back in 2023 with both a hackathon to tackle real-life challenge statements curated from Singaporean non-profits and social enterprises, as well as a conference featuring curated community hubs.", - "startDate": "2023-09-10", - "endDate": "2023-09-12" - }, { "title": "ETHOnline", "to": "https://ethglobal.com/events/ethonline2023", @@ -125,96 +71,6 @@ "startDate": "2023-10-06", "endDate": "2023-10-25" }, - { - "title": "ETHSafari", - "to": "https://ethsafari.xyz/", - "sponsor": null, - "location": "Nairobi & Kilifi, Kenya", - "description": "Welcome to the latest greatest Ethereum event happening in Africa! Join the BlockTrain from Nairobi to celebrate an ETH-festival held underneath ancient Boabab trees in Kilifi.", - "startDate": "2023-09-18", - "endDate": "2023-09-24" - }, - { - "title": "ETHMobile Miami", - "to": "https://www.ethmiami.ooo/", - "sponsor": null, - "location": "Miami", - "description": "We are the first Ethereum festival expanding the global ecosystem through the mobile experience.", - "startDate": "2023-09-15", - "endDate": "2023-09-17" - }, - { - "title": "ETHcon Korea", - "to": "https://ethcon.kr/", - "sponsor": null, - "location": "Seoul, Korea", - "description": "Ethereum Developer Conference Run by Community Volunteers", - "startDate": "2023-09-01", - "endDate": "2023-09-03" - }, - { - "title": "ETHGlobal Waterloo", - "to": "https://ethglobal.com/events/waterloo2023", - "sponsor": null, - "location": "Waterloo, Canada", - "description": "ETHGlobal is heading back to Waterloo, where it all began. This humble city on the outskirts of Toronto is home to both Ethereum and ETHGlobal.", - "startDate": "2023-06-23", - "endDate": "2023-06-25" - }, - { - "title": "ETHMilan", - "to": "https://ethmilan.xyz/", - "sponsor": null, - "location": "Milan, Italy", - "description": "The conference will take place in the heart of Milan, in a location rich in history and culture. Join us to discuss all things Ethereum, DeFi, Account Abstraction, DAOs & NFTs.", - "startDate": "2023-10-05", - "endDate": "2023-10-06" - }, - { - "title": "ETHToronto", - "to": "https://www.ethtoronto.ca/", - "sponsor": null, - "location": "Toronto, Canada", - "description": "2nd annual ETHToronto, in the birthplace of Ethereum. Official Hackathon of Blockchain Futurist Conference.", - "startDate": "2023-08-13", - "endDate": "2023-08-16" - }, - { - "title": "Web3FC", - "to": "https://web3fc.xyz/", - "sponsor": null, - "location": "Barcelona, Spain", - "description": "Web3FC is a chain-agnostic conference with activities such as Talks, Panels, Workshops & Public Debates.", - "startDate": "2023-09-22", - "endDate": "2023-09-23" - }, - { - "title": "ETHAccra", - "to": "https://www.ethaccra.xyz/", - "sponsor": null, - "location": "Ghana, Accra", - "description": "ETHAccra is a 3-day hackathon striving to educate young generations of web3 developers and builders.", - "startDate": "2023-09-07", - "endDate": "2023-09-09" - }, - { - "title": "Protocol Berg", - "to": "https://protocol.berlin/", - "sponsor": null, - "location": "Berlin, Germany", - "description": "The decentralized protocol and infrastructure conference. Protocol Berg is a one-day technical conference for protocol/system/network engineers, decentralized-infrastructure administrators, researchers, and other curious minds from different ecosystems.", - "startDate": "2023-09-15", - "endDate": "2023-09-15" - }, - { - "title": "EthereumSP 23", - "to": "https://www.ethereumbrasil.com/ethereum-sp23", - "sponsor": null, - "location": "Campus USP, São Paulo, Brazil", - "description": "EthereumSP 2023 is a four-day event to educate and boost the Brazilian Web3 community. Participants will have free access to advanced workshops, bootcamps, and an international Hackathon.", - "startDate": "2023-06-22", - "endDate": "2023-06-25" - }, { "title": "ETHGlobal Istanbul", "to": "https://ethglobal.com/events/istanbul", @@ -242,51 +98,6 @@ "startDate": "2023-10-27", "endDate": "2023-10-29" }, - { - "title": "ETHGlobal Pragma", - "to": "https://ethglobal.com/events/pragma-waterloo", - "sponsor": null, - "location": "Waterloo, Canada", - "description": "ETHGlobal Pragma is an in-person summit for builders and leaders in the web3 ecosystem", - "startDate": "2023-06-22", - "endDate": "2023-06-22" - }, - { - "title": "ETHGlobal Pragma", - "to": "https://ethglobal.com/events/pragma-paris", - "sponsor": null, - "location": "Paris, France", - "description": "ETHGlobal Pragma is an in-person summit for builders and leaders in the web3 ecosystem", - "startDate": "2023-07-20", - "endDate": "2023-07-20" - }, - { - "title": "ETHMunich", - "to": "https://ethmunich.de/", - "sponsor": null, - "location": "Munich, Germany", - "description": "ETHMunich is a first-time Ethereum Hackathon in Munich, organized by the local web3 developer community PretzelDAO.", - "startDate": "2023-08-11", - "endDate": "2023-08-13" - }, - { - "title": "EthCC 6", - "to": "https://www.ethcc.io/", - "sponsor": null, - "location": "Paris, France", - "description": "The Ethereum Community Conference (EthCC) is the largest annual European Ethereum event focused on technology and community. Four intense days of conferences, networking and learning.", - "startDate": "2023-07-17", - "endDate": "2023-07-20" - }, - { - "title": "Not Another Virtual Hackathon (NAVH)", - "to": "https://navhackathon.consensys.io/", - "sponsor": null, - "location": "Virtual (Global)", - "description": "Consensys' annual virtual global hackathon aimed to scale Ethereum.", - "startDate": "2023-07-06", - "endDate": "2023-09-06" - }, { "title": "ETHLisbon 2023", "to": "https://www.ethlisbon.org/", @@ -296,24 +107,6 @@ "startDate": "2023-11-03", "endDate": "2023-11-05" }, - { - "title": "TUM Blockchain Conference", - "to": "https://www.tum-blockchain.com/conference", - "sponsor": null, - "location": "Munich, Germany", - "description": "Join us at Germany's leading student-run conference in order to explore the frontiers of blockchain technology during the Octoberfest!", - "startDate": "2023-9-22", - "endDate": "2023-9-23" - }, - { - "title": "ETHChicago 2023", - "to": "https://ethchicago.xyz", - "sponsor": null, - "location": "Chicago, Illinois, USA", - "description": "Three days of building bridges between web3 builders, creators, traditional businesses, financial experts, and policymakers.", - "startDate": "2023-9-15", - "endDate": "2023-9-17" - }, { "title": "ETH LONDON Hackathon 2023", "to": "https://www.encode.club/eth-london", @@ -368,15 +161,6 @@ "startDate": "2023-09-20", "endDate": "2023-10-03" }, - { - "title": "Pragma New York", - "to": "https://ethglobal.com/events/pragma-newyork", - "sponsor": null, - "location": "New York, New York", - "description": "Pragma New York is an in-person summit for builders and leaders in the web3 ecosystem", - "startDate": "2023-09-21", - "endDate": "2023-09-21" - }, { "title": "Pragma Istanbul", "to": "https://ethglobal.com/events/pragma-istanbul", From 540ede08c9b666a2fa176a5909dc33f9d1487670 Mon Sep 17 00:00:00 2001 From: Shiva-Sai-ssb Date: Thu, 5 Oct 2023 16:22:54 +0530 Subject: [PATCH 33/55] Updated community-events.json --- src/data/community-events.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/data/community-events.json b/src/data/community-events.json index f3c967c63bf..21830c059cd 100644 --- a/src/data/community-events.json +++ b/src/data/community-events.json @@ -152,15 +152,6 @@ "startDate": "2023-10-13", "endDate": "2023-10-15" }, - { - "title": "Consensys Fellowship", - "to": "https://consensys.io/fellowship", - "sponsor": null, - "location": "Global", - "description": "Join us on a 12-week program for web3 innovators! We're supporting early stage web3 founders with workshops, mentorship, and networking. Plus access to a $1.5M fund of potential follow-on investment set aside by Consensys Mesh and Tachyon! Don't miss this opportunity! Apply from Sep 20th — Oct 3rd.", - "startDate": "2023-09-20", - "endDate": "2023-10-03" - }, { "title": "Pragma Istanbul", "to": "https://ethglobal.com/events/pragma-istanbul", From ca16641bb3ee7fdaa1658bae3600aa8790a256c4 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 6 Oct 2023 10:38:22 +0100 Subject: [PATCH 34/55] new colors --- src/@chakra-ui/gatsby-plugin/foundations/colors.ts | 2 ++ src/@chakra-ui/gatsby-plugin/semanticTokens.ts | 8 ++++---- src/@chakra-ui/gatsby-plugin/styles.ts | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/@chakra-ui/gatsby-plugin/foundations/colors.ts b/src/@chakra-ui/gatsby-plugin/foundations/colors.ts index 08fb0d387f8..40232ef3f86 100644 --- a/src/@chakra-ui/gatsby-plugin/foundations/colors.ts +++ b/src/@chakra-ui/gatsby-plugin/foundations/colors.ts @@ -9,6 +9,7 @@ const colors = { 500: "#646464", 600: "#333333", 700: "#222222", + 800: "#1B1B1B", 900: "#141414", }, blue: { @@ -30,6 +31,7 @@ const colors = { 300: "#FFB185", 400: "#FF985C", 500: "#FF7324", + 550: "#DF5A0E", 600: "#B84300", 700: "#7A2D00", 800: "#521E00", diff --git a/src/@chakra-ui/gatsby-plugin/semanticTokens.ts b/src/@chakra-ui/gatsby-plugin/semanticTokens.ts index 8c31019a1f8..0ad504d64f3 100644 --- a/src/@chakra-ui/gatsby-plugin/semanticTokens.ts +++ b/src/@chakra-ui/gatsby-plugin/semanticTokens.ts @@ -41,7 +41,7 @@ const semanticTokens = { highContrast: { _light: "blue.800", _dark: "orange.100" }, lowContrast: { _light: "blue.100", _dark: "orange.900" }, hover: { _light: "blue.400", _dark: "orange.400" }, - visited: { _light: "blue.700", _dark: "orange.400" }, + visited: { _light: "blue.700", _dark: "orange.550" }, // ! Deprecating primary.light light: { _light: "blue.100", _dark: "orange.100" }, // ! Deprecating primary.dark @@ -50,14 +50,14 @@ const semanticTokens = { pressed: { _light: "blue.400", _dark: "orange.800" }, }, body: { - base: { _light: "gray.700", _dark: "gray.100" }, + base: { _light: "gray.800", _dark: "gray.100" }, medium: { _light: "gray.500", _dark: "gray.300" }, light: { _light: "gray.200", _dark: "gray.600" }, // ! Deprecating body.inverted - inverted: { _light: "gray.100", _dark: "gray.700" }, + inverted: { _light: "gray.100", _dark: "gray.800" }, }, background: { - base: { _light: "white", _dark: "gray.700" }, + base: { _light: "white", _dark: "gray.800" }, highlight: { _light: "gray.100", _dark: "gray.900" }, }, disabled: { _light: "gray.400", _dark: "gray.500" }, diff --git a/src/@chakra-ui/gatsby-plugin/styles.ts b/src/@chakra-ui/gatsby-plugin/styles.ts index acb82579dd5..a359730fc36 100644 --- a/src/@chakra-ui/gatsby-plugin/styles.ts +++ b/src/@chakra-ui/gatsby-plugin/styles.ts @@ -14,7 +14,7 @@ const styles = { body: { // TODO: when we have Chakra v2, this should be done by overriding the // native Chakra semantic tokens - bg: mode("white", "gray.700")(props), + bg: mode("white", "gray.800")(props), lineHeight: "base", fontSize: "md", }, From 714d5ac44b5a94e1301b7a551ea53f26fcccc5a5 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 6 Oct 2023 11:22:05 +0100 Subject: [PATCH 35/55] changing the contrast for lowContrast --- src/@chakra-ui/gatsby-plugin/semanticTokens.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/@chakra-ui/gatsby-plugin/semanticTokens.ts b/src/@chakra-ui/gatsby-plugin/semanticTokens.ts index 0ad504d64f3..4dca22e0c21 100644 --- a/src/@chakra-ui/gatsby-plugin/semanticTokens.ts +++ b/src/@chakra-ui/gatsby-plugin/semanticTokens.ts @@ -39,7 +39,7 @@ const semanticTokens = { primary: { base: { _light: "blue.500", _dark: "orange.500" }, highContrast: { _light: "blue.800", _dark: "orange.100" }, - lowContrast: { _light: "blue.100", _dark: "orange.900" }, + lowContrast: { _light: "blue.100", _dark: "orange.800" }, hover: { _light: "blue.400", _dark: "orange.400" }, visited: { _light: "blue.700", _dark: "orange.550" }, // ! Deprecating primary.light From 197fdf187d5b3b2458a1c16c9e5a2d2248af51e4 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Sat, 7 Oct 2023 11:17:06 -0700 Subject: [PATCH 36/55] move divider to end of numerical h2 --- src/content/glossary/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/glossary/index.md b/src/content/glossary/index.md index 8e2c9d1a66c..15ff9265197 100644 --- a/src/content/glossary/index.md +++ b/src/content/glossary/index.md @@ -6,12 +6,12 @@ lang: en # Glossary {#ethereum-glossary} - - ## \# {#section-numbers} + + ## A {#section-a} From 6849d395fa98a18b65afbff085fc83aa9a6fa6d1 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sun, 8 Oct 2023 01:17:57 +0000 Subject: [PATCH 37/55] Update Crowdin contributors --- src/data/crowdin/combined-translators.json | 1889 ++++++++++++++++- src/data/crowdin/file-ids.json | 2 +- .../crowdin/translation-buckets-dirs.json | 2 +- 3 files changed, 1850 insertions(+), 43 deletions(-) diff --git a/src/data/crowdin/combined-translators.json b/src/data/crowdin/combined-translators.json index 7352c1e42de..cace42d50d7 100644 --- a/src/data/crowdin/combined-translators.json +++ b/src/data/crowdin/combined-translators.json @@ -458,6 +458,149 @@ { "fileId": "2680", "contributors": [] + }, + { + "fileId": "5559", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 1357.44, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "7316", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 2182.61, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "5561", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 3106.76, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "7461", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 1670.54, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "5565", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 1124.13, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "8035", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 1194.83, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "6440", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 718.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "7314", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 1333.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "7919", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 1321.08, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "6518", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 863.55, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "6524", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 958.49, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "6526", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 2071.51, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] + }, + { + "fileId": "7591", + "contributors": [ + { + "id": 15954257, + "username": "arifulone", + "totalCosts": 2029.09, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" + } + ] } ] }, @@ -540,18 +683,18 @@ { "fileId": "5559", "contributors": [ + { + "id": 15344526, + "username": "Joanmacat", + "totalCosts": 495.91, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15344526/medium/9c82a079035424edd8b43ca59a8dcb3f.jpg" + }, { "id": 14643068, "username": "egelizo", "totalCosts": 337.34, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14643068/medium/f6f25b4f0e429a11e235ade8d866b314.jpeg" }, - { - "id": 15344526, - "username": "Joanmacat", - "totalCosts": 148.47, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15344526/medium/9c82a079035424edd8b43ca59a8dcb3f.jpg" - }, { "id": 15743107, "username": "samuel.sole", @@ -1451,9 +1594,9 @@ }, { "id": 15082843, - "username": "merceasy7", + "username": "StevenR73", "totalCosts": 116.15, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/8bed2246335ec6e776196d05d80018a8.png" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/9bd744aeb105dfeb6c55c0a7bb68a51e.jpeg" }, { "id": 15123193, @@ -1609,9 +1752,9 @@ }, { "id": 15082843, - "username": "merceasy7", + "username": "StevenR73", "totalCosts": 4.04, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/8bed2246335ec6e776196d05d80018a8.png" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/9bd744aeb105dfeb6c55c0a7bb68a51e.jpeg" }, { "id": 15123193, @@ -1764,18 +1907,18 @@ "totalCosts": 285.83, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15471540/medium/77d451813919ef4c15f0a698102f7f46.png" }, + { + "id": 15123193, + "username": "Coram_Deo", + "totalCosts": 198.97, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" + }, { "id": 15707609, "username": "RvonRoit", "totalCosts": 147.46, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15707609/medium/79e71a64e2766240d93e42ed8730852d_default.png" }, - { - "id": 15123193, - "username": "Coram_Deo", - "totalCosts": 140.39, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" - }, { "id": 15185884, "username": "carmen1912", @@ -1943,9 +2086,9 @@ }, { "id": 15082843, - "username": "merceasy7", + "username": "StevenR73", "totalCosts": 14.14, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/8bed2246335ec6e776196d05d80018a8.png" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/9bd744aeb105dfeb6c55c0a7bb68a51e.jpeg" }, { "id": 14920111, @@ -2007,9 +2150,9 @@ }, { "id": 15082843, - "username": "merceasy7", + "username": "StevenR73", "totalCosts": 19.19, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/8bed2246335ec6e776196d05d80018a8.png" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/9bd744aeb105dfeb6c55c0a7bb68a51e.jpeg" }, { "id": 14920111, @@ -2236,6 +2379,12 @@ { "fileId": "2876", "contributors": [ + { + "id": 15123193, + "username": "Coram_Deo", + "totalCosts": 442.38, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" + }, { "id": 15185884, "username": "carmen1912", @@ -2436,9 +2585,9 @@ }, { "id": 15082843, - "username": "merceasy7", + "username": "StevenR73", "totalCosts": 9.09, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/8bed2246335ec6e776196d05d80018a8.png" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/9bd744aeb105dfeb6c55c0a7bb68a51e.jpeg" }, { "id": 14920111, @@ -2453,9 +2602,9 @@ "contributors": [ { "id": 15082843, - "username": "merceasy7", + "username": "StevenR73", "totalCosts": 241.39, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/8bed2246335ec6e776196d05d80018a8.png" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/9bd744aeb105dfeb6c55c0a7bb68a51e.jpeg" }, { "id": 15221766, @@ -2817,6 +2966,12 @@ { "fileId": "2848", "contributors": [ + { + "id": 15123193, + "username": "Coram_Deo", + "totalCosts": 190.89, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" + }, { "id": 13959389, "username": "inlak16", @@ -3221,9 +3376,9 @@ }, { "id": 15082843, - "username": "merceasy7", + "username": "StevenR73", "totalCosts": 176.75, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/8bed2246335ec6e776196d05d80018a8.png" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/9bd744aeb105dfeb6c55c0a7bb68a51e.jpeg" }, { "id": 15181418, @@ -3442,6 +3597,12 @@ "totalCosts": 274.72, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13959389/medium/8163669279ee4bd20f4b7db97f6000fa.png" }, + { + "id": 15123193, + "username": "Coram_Deo", + "totalCosts": 20.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" + }, { "id": 15455500, "username": "SebastianSupreme", @@ -3884,9 +4045,9 @@ }, { "id": 15082843, - "username": "merceasy7", + "username": "StevenR73", "totalCosts": 34.34, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/8bed2246335ec6e776196d05d80018a8.png" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/9bd744aeb105dfeb6c55c0a7bb68a51e.jpeg" }, { "id": 15264510, @@ -3948,9 +4109,9 @@ }, { "id": 15082843, - "username": "merceasy7", + "username": "StevenR73", "totalCosts": 10.1, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/8bed2246335ec6e776196d05d80018a8.png" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082843/medium/9bd744aeb105dfeb6c55c0a7bb68a51e.jpeg" } ] }, @@ -4029,7 +4190,7 @@ { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 552.47, + "totalCosts": 780.73, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, { @@ -12760,6 +12921,12 @@ "totalCosts": 337.34, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15109017/medium/40931e6324a057568f57519eb7706fc9.png" }, + { + "id": 17361, + "username": "plamarque", + "totalCosts": 79.79, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/17361/medium/fecfafa7716ac9d6838b43c31f48f6b9.png" + }, { "id": 12844463, "username": "MATsxm", @@ -19149,6 +19316,179 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956379/medium/435901b02d5b5f77c10fc06ff2c1c3e6.png" } ] + }, + { + "fileId": "5559", + "contributors": [ + { + "id": 15213342, + "username": "morusalba", + "totalCosts": 450.46, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15213342/medium/c045e810f7dcfbf8e7bdc7c5ee684b98.jpeg" + }, + { + "id": 15201298, + "username": "kaushalnsapariya", + "totalCosts": 343.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15201298/medium/17cd6b73331135338dfaed96c991a4a9.png" + }, + { + "id": 15529791, + "username": "ritesh07raj", + "totalCosts": 23.23, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15529791/medium/bd08afe4a446de2367dc5b765dbc3794_default.png" + }, + { + "id": 15382832, + "username": "knight95", + "totalCosts": 4.04, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15382832/medium/fd0651d3b4cff1e404f79e09f5ba6ca1_default.png" + }, + { + "id": 15070393, + "username": "arjun.shiroya132", + "totalCosts": 4.04, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15070393/medium/776b395f707cbf3ccc0021d1faf5a907.jpeg" + } + ] + }, + { + "fileId": "7316", + "contributors": [ + { + "id": 15363678, + "username": "Dawyer", + "totalCosts": 1168.57, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15363678/medium/50e493deacc1ae7d512f2b38aab07d00.png" + }, + { + "id": 15956379, + "username": "bhangbuddy", + "totalCosts": 855.47, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956379/medium/435901b02d5b5f77c10fc06ff2c1c3e6.png" + }, + { + "id": 15950093, + "username": "WholesomeBruh", + "totalCosts": 286.84, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15950093/medium/0ca7566575ffb3df8169a24c985fc2f8_default.png" + } + ] + }, + { + "fileId": "5561", + "contributors": [ + { + "id": 15956379, + "username": "bhangbuddy", + "totalCosts": 1479.65, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956379/medium/435901b02d5b5f77c10fc06ff2c1c3e6.png" + }, + { + "id": 15967185, + "username": "waseemnaik", + "totalCosts": 1080.7, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967185/medium/8544c16b7d24e687e63334d42c70d6dd.png" + }, + { + "id": 15201298, + "username": "kaushalnsapariya", + "totalCosts": 457.53, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15201298/medium/17cd6b73331135338dfaed96c991a4a9.png" + }, + { + "id": 15950093, + "username": "WholesomeBruh", + "totalCosts": 62.62, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15950093/medium/0ca7566575ffb3df8169a24c985fc2f8_default.png" + } + ] + }, + { + "fileId": "7461", + "contributors": [ + { + "id": 15967185, + "username": "waseemnaik", + "totalCosts": 1251.39, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967185/medium/8544c16b7d24e687e63334d42c70d6dd.png" + }, + { + "id": 15956379, + "username": "bhangbuddy", + "totalCosts": 232.3, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956379/medium/435901b02d5b5f77c10fc06ff2c1c3e6.png" + }, + { + "id": 15950093, + "username": "WholesomeBruh", + "totalCosts": 208.06, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15950093/medium/0ca7566575ffb3df8169a24c985fc2f8_default.png" + }, + { + "id": 15363678, + "username": "Dawyer", + "totalCosts": 19.19, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15363678/medium/50e493deacc1ae7d512f2b38aab07d00.png" + } + ] + }, + { + "fileId": "8035", + "contributors": [ + { + "id": 15363678, + "username": "Dawyer", + "totalCosts": 1149.38, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15363678/medium/50e493deacc1ae7d512f2b38aab07d00.png" + }, + { + "id": 15950093, + "username": "WholesomeBruh", + "totalCosts": 48.48, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15950093/medium/0ca7566575ffb3df8169a24c985fc2f8_default.png" + } + ] + }, + { + "fileId": "6440", + "contributors": [ + { + "id": 15950093, + "username": "WholesomeBruh", + "totalCosts": 716.09, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15950093/medium/0ca7566575ffb3df8169a24c985fc2f8_default.png" + }, + { + "id": 15363678, + "username": "Dawyer", + "totalCosts": 2.02, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15363678/medium/50e493deacc1ae7d512f2b38aab07d00.png" + } + ] + }, + { + "fileId": "7314", + "contributors": [ + { + "id": 15950093, + "username": "WholesomeBruh", + "totalCosts": 1275.63, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15950093/medium/0ca7566575ffb3df8169a24c985fc2f8_default.png" + }, + { + "id": 15956379, + "username": "bhangbuddy", + "totalCosts": 51.51, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956379/medium/435901b02d5b5f77c10fc06ff2c1c3e6.png" + }, + { + "id": 15411768, + "username": "Ipankaj07", + "totalCosts": 16.16, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15411768/medium/b22612126608d6ba66f381b4527ffb17.jpeg" + } + ] } ] }, @@ -22661,6 +23001,12 @@ "username": "RahayuRafika_12", "totalCosts": 234.32, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" + }, + { + "id": 13869465, + "username": "Debika_CKS_P", + "totalCosts": 26.26, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13869465/medium/dac50233f4f1f19a42d3ad24568cbfbf_default.png" } ] }, @@ -24008,7 +24354,7 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 1065.55, + "totalCosts": 1079.69, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { @@ -31365,7 +31711,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 418.14, + "totalCosts": 437.33, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -31382,7 +31728,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 2136.15, + "totalCosts": 2150.29, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" } ] @@ -35080,18 +35426,18 @@ "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", "totalCosts": 1335.22, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15284800/medium/a5707bdd7287b30379bd9c3cb122ef9b.png" }, - { - "id": 15894449, - "username": "wosek_", - "totalCosts": 1104.94, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15894449/medium/a1d92e3a822252a09f842a8a5451c403.jpg" - }, { "id": 14802836, "username": "Ryeore", @@ -41972,6 +42318,12 @@ "totalCosts": 14.14, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15049205/medium/0be15eb751f0359262535f9dfed66c95.jpeg" }, + { + "id": 16041772, + "username": "merchantiskam", + "totalCosts": 8.08, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16041772/medium/fa169700ad14f27bdb85e5e6b2590e7b.png" + }, { "id": 14514124, "username": "ViktorOn", @@ -42748,6 +43100,257 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" } ] + }, + { + "fileId": "7320", + "contributors": [ + { + "id": 15619839, + "username": "mediaquest", + "totalCosts": 591.86, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15619839/medium/99c14ce4e8161f6b077fa0849ac4c5b0.png" + }, + { + "id": 15967233, + "username": "jasminesprout", + "totalCosts": 570.65, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" + }, + { + "id": 14492630, + "username": "freonesuka", + "totalCosts": 141.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14492630/medium/0feb2d78f45cfdcb6f92f5061ffc44e8.jpg" + }, + { + "id": 15509510, + "username": "shikkiy", + "totalCosts": 77.77, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15509510/medium/04d6afce57425f67a3a25630fa08441c_default.png" + }, + { + "id": 15966973, + "username": "omsify", + "totalCosts": 12.12, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966973/medium/8f0d37e232177100b09297d6f095fbfa_default.png" + }, + { + "id": 15912649, + "username": "tnnnnnnnn2", + "totalCosts": 10.1, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15912649/medium/6e4c7a7de3ed6449814e0c7de673dc30.png" + } + ] + }, + { + "fileId": "7919", + "contributors": [ + { + "id": 15967233, + "username": "jasminesprout", + "totalCosts": 735.28, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" + }, + { + "id": 15918939, + "username": "gowros.lexa", + "totalCosts": 475.71, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15918939/medium/a217137220f396f5a175e8fe256627a4.png" + }, + { + "id": 13233961, + "username": "AshMurrey", + "totalCosts": 71.71, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13233961/medium/2a4a3441394f56d2880c869561ee1bc4_default.png" + }, + { + "id": 15904933, + "username": "Zumrud.I", + "totalCosts": 53.53, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15904933/medium/ce660fe41e2369fe77bcb152090a99d5.png" + }, + { + "id": 13440487, + "username": "annuska2902", + "totalCosts": 11.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13440487/medium/673f0937920d5419069d2e9fb004e6f2.jpg" + } + ] + }, + { + "fileId": "6518", + "contributors": [ + { + "id": 15509510, + "username": "shikkiy", + "totalCosts": 388.85, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15509510/medium/04d6afce57425f67a3a25630fa08441c_default.png" + }, + { + "id": 15967233, + "username": "jasminesprout", + "totalCosts": 264.62, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" + }, + { + "id": 15763855, + "username": "dovbyshbgd", + "totalCosts": 182.81, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" + }, + { + "id": 15199956, + "username": "zhooookova", + "totalCosts": 94.94, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15199956/medium/74aea56a748b12af52448b2ecf7ca2ac.png" + }, + { + "id": 15429966, + "username": "tossia", + "totalCosts": 78.78, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15429966/medium/59e83c095fb0ab300a31e7496c7b0929_default.png" + }, + { + "id": 15469152, + "username": "Prikolota_Michael", + "totalCosts": 12.12, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15469152/medium/0e91415ae161c5baef1379edbe8252ed.jpeg" + } + ] + }, + { + "fileId": "6524", + "contributors": [ + { + "id": 15967233, + "username": "jasminesprout", + "totalCosts": 651.45, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" + }, + { + "id": 15619839, + "username": "mediaquest", + "totalCosts": 172.71, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15619839/medium/99c14ce4e8161f6b077fa0849ac4c5b0.png" + }, + { + "id": 15429966, + "username": "tossia", + "totalCosts": 84.84, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15429966/medium/59e83c095fb0ab300a31e7496c7b0929_default.png" + }, + { + "id": 15643351, + "username": "danieldzhonson", + "totalCosts": 44.44, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15643351/medium/32d577981b88a4c7bc62ea86cf836708.jpeg" + }, + { + "id": 15199956, + "username": "zhooookova", + "totalCosts": 43.43, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15199956/medium/74aea56a748b12af52448b2ecf7ca2ac.png" + }, + { + "id": 15947515, + "username": "blockson", + "totalCosts": 13.13, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15947515/medium/52b0b3490fcf6940d9027ef2f32a424b.jpeg" + } + ] + }, + { + "fileId": "6526", + "contributors": [ + { + "id": 15967233, + "username": "jasminesprout", + "totalCosts": 1816.99, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" + }, + { + "id": 15763855, + "username": "dovbyshbgd", + "totalCosts": 99.99, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" + }, + { + "id": 15429966, + "username": "tossia", + "totalCosts": 58.58, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15429966/medium/59e83c095fb0ab300a31e7496c7b0929_default.png" + }, + { + "id": 15199956, + "username": "zhooookova", + "totalCosts": 57.57, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15199956/medium/74aea56a748b12af52448b2ecf7ca2ac.png" + }, + { + "id": 14492630, + "username": "freonesuka", + "totalCosts": 47.47, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14492630/medium/0feb2d78f45cfdcb6f92f5061ffc44e8.jpg" + }, + { + "id": 15899207, + "username": "kalmikov.bagrat94", + "totalCosts": 37.37, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15899207/medium/577c5417e2717c13168130995a61839b.jpeg" + }, + { + "id": 14514124, + "username": "ViktorOn", + "totalCosts": 34.34, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14514124/medium/fa0297b182b72fbcf006daba457ef1a3.png" + }, + { + "id": 15509510, + "username": "shikkiy", + "totalCosts": 15.15, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15509510/medium/04d6afce57425f67a3a25630fa08441c_default.png" + } + ] + }, + { + "fileId": "7591", + "contributors": [ + { + "id": 15967233, + "username": "jasminesprout", + "totalCosts": 1927.08, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" + }, + { + "id": 15763855, + "username": "dovbyshbgd", + "totalCosts": 69.69, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" + }, + { + "id": 15966973, + "username": "omsify", + "totalCosts": 22.22, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966973/medium/8f0d37e232177100b09297d6f095fbfa_default.png" + } + ] + }, + { + "fileId": "7465", + "contributors": [ + { + "id": 15763855, + "username": "dovbyshbgd", + "totalCosts": 3226.95, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" + }, + { + "id": 15619839, + "username": "mediaquest", + "totalCosts": 12.12, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15619839/medium/99c14ce4e8161f6b077fa0849ac4c5b0.png" + } + ] } ] }, @@ -57966,6 +58569,122 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15904987/medium/e244ed0a7efcd919389d457f8bea4225_default.png" } ] + }, + { + "fileId": "7609", + "contributors": [ + { + "id": 15623859, + "username": "w33d", + "totalCosts": 1086.76, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15623859/medium/1b48569cd42fdf8a9e5af38841b58d4f.jpeg" + } + ] + }, + { + "fileId": "7617", + "contributors": [ + { + "id": 15809315, + "username": "dtsukokotoi809", + "totalCosts": 194.93, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15809315/medium/eb2e497890b6ff1c4bfc506136a6cfcc.png" + }, + { + "id": 15895151, + "username": "ChaosGod", + "totalCosts": 169.68, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15895151/medium/036c2782ecab9a148c4e15869251276c.png" + }, + { + "id": 15871701, + "username": "maxwellcotto", + "totalCosts": 131.3, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15871701/medium/211aaa985795803b88e9fa89069ed517.png" + }, + { + "id": 15810439, + "username": "wky32768", + "totalCosts": 12.12, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15810439/medium/bad663f0f7e2b1cec4a5da863ead6caa.jpeg" + } + ] + }, + { + "fileId": "7619", + "contributors": [ + { + "id": 15871701, + "username": "maxwellcotto", + "totalCosts": 1301.89, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15871701/medium/211aaa985795803b88e9fa89069ed517.png" + }, + { + "id": 15917907, + "username": "Serein5", + "totalCosts": 1045.35, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15917907/medium/f06e750eace178a6fde1f936a0d717b8_default.png" + }, + { + "id": 15381970, + "username": "tzbkk", + "totalCosts": 163.62, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15381970/medium/b43b331e365346453668db293656f269.jpeg" + }, + { + "id": 14829178, + "username": "EffectChen", + "totalCosts": 154.53, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14829178/medium/39ff70d1cbcdbad8e9056cb4aa4ee789.jpg" + }, + { + "id": 15927645, + "username": "HHHH123435", + "totalCosts": 92.92, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927645/medium/a11631fe44db308999c8ca5b6f620eea_default.png" + }, + { + "id": 15810439, + "username": "wky32768", + "totalCosts": 34.34, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15810439/medium/bad663f0f7e2b1cec4a5da863ead6caa.jpeg" + } + ] + }, + { + "fileId": "7621", + "contributors": [ + { + "id": 15381970, + "username": "tzbkk", + "totalCosts": 590.85, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15381970/medium/b43b331e365346453668db293656f269.jpeg" + }, + { + "id": 15871701, + "username": "maxwellcotto", + "totalCosts": 552.47, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15871701/medium/211aaa985795803b88e9fa89069ed517.png" + }, + { + "id": 15797367, + "username": "RichardBP", + "totalCosts": 172.71, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15797367/medium/362de1e1381b26a44885c7136579edbe_default.png" + }, + { + "id": 15777897, + "username": "setsuna.21", + "totalCosts": 7.07, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15777897/medium/cfda4c3fe5ef77177da5a2b1244b91a7.png" + }, + { + "id": 15917907, + "username": "Serein5", + "totalCosts": 4.04, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15917907/medium/f06e750eace178a6fde1f936a0d717b8_default.png" + } + ] } ] }, @@ -58671,6 +59390,959 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14829178/medium/39ff70d1cbcdbad8e9056cb4aa4ee789.jpg" } ] + }, + { + "fileId": "7320", + "contributors": [ + { + "id": 15201846, + "username": "boyinlee", + "totalCosts": 1255.43, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15201846/medium/3d9d29022427094faeb700ddbd5c078a.jpeg" + }, + { + "id": 15550507, + "username": "Jimbo_L", + "totalCosts": 726.19, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15550507/medium/2aaa6dc51fbb57d36b6b8106d06c85fe.jpeg" + }, + { + "id": 15871701, + "username": "maxwellcotto", + "totalCosts": 142.41, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15871701/medium/211aaa985795803b88e9fa89069ed517.png" + }, + { + "id": 15242372, + "username": "billwang", + "totalCosts": 35.35, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15242372/medium/23bf740e9d096ee0b3de7b9f5528c8c9.JPG" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 24.24, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + } + ] + }, + { + "fileId": "8019", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 545.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + } + ] + }, + { + "fileId": "6161", + "contributors": [ + { + "id": 14817838, + "username": "Tadashi1024", + "totalCosts": 158.57, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14817838/medium/e8bbda9fb55464b5d13482f3f1bef0d4.jpg" + }, + { + "id": 15841839, + "username": "ekc9399", + "totalCosts": 158.57, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15841839/medium/0a25585c566bb1f7be4cba84b02e8561_default.png" + }, + { + "id": 15247752, + "username": "18349693112mingdong", + "totalCosts": 30.3, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15247752/medium/6040b92390942af3589d4671ae199975.png" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 30.3, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + } + ] + }, + { + "fileId": "6163", + "contributors": [ + { + "id": 15222542, + "username": "Jcys", + "totalCosts": 243.41, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15222542/medium/c4b538278714558f9a5430c0cef783de.JPG" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 161.6, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15955263, + "username": "Heyhei", + "totalCosts": 145.44, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15955263/medium/51ba4f008f63f1b37ac900269bcaccc0_default.png" + }, + { + "id": 14298362, + "username": "chtyozi88", + "totalCosts": 121.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14298362/medium/faa58e5522ded9b4f4fe7628c5352a59.png" + }, + { + "id": 15174096, + "username": "13u22", + "totalCosts": 118.17, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15174096/medium/2c7598abbcf6dc776b41f9443584bf8f.jpeg" + }, + { + "id": 15247752, + "username": "18349693112mingdong", + "totalCosts": 93.93, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15247752/medium/6040b92390942af3589d4671ae199975.png" + }, + { + "id": 15841839, + "username": "ekc9399", + "totalCosts": 91.91, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15841839/medium/0a25585c566bb1f7be4cba84b02e8561_default.png" + }, + { + "id": 15342090, + "username": "tofus7.45", + "totalCosts": 11.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15342090/medium/632bf2a1cd393dd5a6804caa329b295d.jpeg" + } + ] + }, + { + "fileId": "5557", + "contributors": [ + { + "id": 14837806, + "username": "yisosd", + "totalCosts": 240.38, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14837806/medium/a024dfd35587ad67921934a9d6c6410e.png" + }, + { + "id": 15222542, + "username": "Jcys", + "totalCosts": 94.94, + "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" + } + ] + }, + { + "fileId": "6185", + "contributors": [ + { + "id": 15073571, + "username": "wenzhenxiang", + "totalCosts": 357.54, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15073571/medium/875bbb4fda2d4e54f58a6562347e0b00.png" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 105.04, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 14817838, + "username": "Tadashi1024", + "totalCosts": 6.06, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14817838/medium/e8bbda9fb55464b5d13482f3f1bef0d4.jpg" + } + ] + }, + { + "fileId": "6165", + "contributors": [ + { + "id": 15532451, + "username": "hmsc", + "totalCosts": 222.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15532451/medium/1558c22671c8674e0f77412238047eb8_default.png" + }, + { + "id": 15342090, + "username": "tofus7.45", + "totalCosts": 33.33, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15342090/medium/632bf2a1cd393dd5a6804caa329b295d.jpeg" + }, + { + "id": 15952201, + "username": "Eniale", + "totalCosts": 4.04, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15952201/medium/70ddfc80063bd4b296bc3997bd5fd808_default.png" + } + ] + }, + { + "fileId": "8023", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 1997.78, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + } + ] + }, + { + "fileId": "6167", + "contributors": [ + { + "id": 15222542, + "username": "Jcys", + "totalCosts": 528.23, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15222542/medium/c4b538278714558f9a5430c0cef783de.JPG" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 78.78, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + } + ] + }, + { + "fileId": "2950", + "contributors": [ + { + "id": 15550507, + "username": "Jimbo_L", + "totalCosts": 293.91, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15550507/medium/2aaa6dc51fbb57d36b6b8106d06c85fe.jpeg" + }, + { + "id": 14779158, + "username": "K0ue1", + "totalCosts": 141.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14779158/medium/a0145bfd442c7c2b368c5aeae336f176.png" + }, + { + "id": 14715690, + "username": "chrischengdzonglee", + "totalCosts": 101, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14715690/medium/b16e71c8140694d52d36a746d33d78d7.jpeg" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 32.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 14365554, + "username": "hydai", + "totalCosts": 21.21, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14365554/medium/0eaad18aa54e9f87636e0bf3f5d20dc3.jpeg" + }, + { + "id": 15201846, + "username": "boyinlee", + "totalCosts": 9.09, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15201846/medium/3d9d29022427094faeb700ddbd5c078a.jpeg" + }, + { + "id": 15425662, + "username": "Boralin", + "totalCosts": 7.07, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15425662/medium/cbcc33689656efa842f360f532664863.jpeg" + } + ] + }, + { + "fileId": "6183", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 1013.03, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15668579, + "username": "apullo777", + "totalCosts": 48.48, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15668579/medium/dfb9a1aec3c8c710c93a11775a6ba191.jpeg" + }, + { + "id": 15550507, + "username": "Jimbo_L", + "totalCosts": 28.28, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15550507/medium/2aaa6dc51fbb57d36b6b8106d06c85fe.jpeg" + }, + { + "id": 14817838, + "username": "Tadashi1024", + "totalCosts": 13.13, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14817838/medium/e8bbda9fb55464b5d13482f3f1bef0d4.jpg" + }, + { + "id": 15201846, + "username": "boyinlee", + "totalCosts": 10.1, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15201846/medium/3d9d29022427094faeb700ddbd5c078a.jpeg" + }, + { + "id": 15454738, + "username": "Nephia888", + "totalCosts": 5.05, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15454738/medium/b46f804087652192a258e3807e2beeb3.jpeg" + }, + { + "id": 15532451, + "username": "hmsc", + "totalCosts": 3.03, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15532451/medium/1558c22671c8674e0f77412238047eb8_default.png" + } + ] + }, + { + "fileId": "5563", + "contributors": [ + { + "id": 14779158, + "username": "K0ue1", + "totalCosts": 1100.9, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14779158/medium/a0145bfd442c7c2b368c5aeae336f176.png" + }, + { + "id": 14958819, + "username": "C91F37", + "totalCosts": 446.42, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14958819/medium/969ab87657bee77450e67bd3a62c709e.png" + }, + { + "id": 15532451, + "username": "hmsc", + "totalCosts": 130.29, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15532451/medium/1558c22671c8674e0f77412238047eb8_default.png" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 59.59, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15957819, + "username": "ming30650", + "totalCosts": 57.57, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15957819/medium/2baae61ca579f0a04efd89cd210f2c6a_default.png" + }, + { + "id": 15208686, + "username": "genius_Chen", + "totalCosts": 37.37, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208686/medium/691ba69f1abb04f1536fbe8487ef16cf.JPG" + }, + { + "id": 14817838, + "username": "Tadashi1024", + "totalCosts": 31.31, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14817838/medium/e8bbda9fb55464b5d13482f3f1bef0d4.jpg" + } + ] + }, + { + "fileId": "7525", + "contributors": [ + { + "id": 15055487, + "username": "xaviershen1", + "totalCosts": 509.04, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15055487/medium/10522705934133754c3c30644a91e987.png" + }, + { + "id": 15773245, + "username": "Tykoo", + "totalCosts": 204.02, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15773245/medium/68e99c266c13a7685c01896596d05b7d.png" + }, + { + "id": 15532451, + "username": "hmsc", + "totalCosts": 141.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15532451/medium/1558c22671c8674e0f77412238047eb8_default.png" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 13.13, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + } + ] + }, + { + "fileId": "8027", + "contributors": [ + { + "id": 15532451, + "username": "hmsc", + "totalCosts": 959.5, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15532451/medium/1558c22671c8674e0f77412238047eb8_default.png" + }, + { + "id": 15953195, + "username": "finn79426", + "totalCosts": 83.83, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15953195/medium/e3fad6fa513cbf663b9e3398a9606faf.png" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 31.31, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + } + ] + }, + { + "fileId": "7529", + "contributors": [ + { + "id": 15806537, + "username": "Tyou", + "totalCosts": 611.05, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15806537/medium/bcd829ea4cae49b3ec63925ecd75c126.jpeg" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 60.6, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + } + ] + }, + { + "fileId": "7533", + "contributors": [ + { + "id": 15806537, + "username": "Tyou", + "totalCosts": 320.17, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15806537/medium/bcd829ea4cae49b3ec63925ecd75c126.jpeg" + } + ] + }, + { + "fileId": "7537", + "contributors": [ + { + "id": 15957819, + "username": "ming30650", + "totalCosts": 226.24, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15957819/medium/2baae61ca579f0a04efd89cd210f2c6a_default.png" + }, + { + "id": 15954241, + "username": "FoodChain1028", + "totalCosts": 117.16, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954241/medium/a436b3580fe56bf2b5ccab541ae29695.png" + }, + { + "id": 15806537, + "username": "Tyou", + "totalCosts": 28.28, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15806537/medium/bcd829ea4cae49b3ec63925ecd75c126.jpeg" + } + ] + }, + { + "fileId": "7541", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 425.21, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15806537, + "username": "Tyou", + "totalCosts": 310.07, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15806537/medium/bcd829ea4cae49b3ec63925ecd75c126.jpeg" + } + ] + }, + { + "fileId": "7521", + "contributors": [ + { + "id": 15925759, + "username": "Samuelboo", + "totalCosts": 170.69, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15925759/medium/3c1212b8d32888243a63bbea17e0e369_default.png" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 18.18, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + } + ] + }, + { + "fileId": "7713", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 1510.96, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15952201, + "username": "Eniale", + "totalCosts": 900.92, + "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": 15965405, + "username": "LaraWeb3", + "totalCosts": 36.36, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15965405/medium/8eeddd3c27c380aeaca8bf3c9ce55c5f_default.png" + } + ] + }, + { + "fileId": "2946", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 493.89, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 14449556, + "username": "LuckyPigeon", + "totalCosts": 86.86, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14449556/medium/2a538164f71dc2cdbec9b9279eed934e.png" + }, + { + "id": 15201846, + "username": "boyinlee", + "totalCosts": 11.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15201846/medium/3d9d29022427094faeb700ddbd5c078a.jpeg" + }, + { + "id": 15066445, + "username": "tanyeun", + "totalCosts": 11.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15066445/medium/20bd201d087c38f8a96c927fea208225.jpeg" + }, + { + "id": 14598510, + "username": "arshengc", + "totalCosts": 5.05, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14598510/medium/dc5af8c666f76b88f0af685ab8574f16.jpeg" + }, + { + "id": 14779158, + "username": "K0ue1", + "totalCosts": 3.03, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14779158/medium/a0145bfd442c7c2b368c5aeae336f176.png" + }, + { + "id": 14591640, + "username": "malewolf", + "totalCosts": 3.03, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14591640/medium/c801a5424c7eae77cb79685244ee9dee.jpeg" + }, + { + "id": 14678922, + "username": "abc0905075395", + "totalCosts": 3.03, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14678922/medium/615c6a3a6c106fbbd8158ceac038f362.jpg" + }, + { + "id": 14263850, + "username": "pswu11", + "totalCosts": 2.02, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14263850/medium/05b1fe1f2abb5fd9c1b072e25a152aa1.jpg" + }, + { + "id": 14949095, + "username": "goodhat", + "totalCosts": 1.01, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14949095/medium/7952974063e4e7bd0a1fca4ed3f48b3f_default.png" + } + ] + }, + { + "fileId": "7717", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 1663.47, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 13132928, + "username": "ntiunn", + "totalCosts": 156.55, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13132928/medium/7279036c1c0338ff05bbdb649b9b6c56_default.png" + } + ] + }, + { + "fileId": "7721", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 256.54, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15957819, + "username": "ming30650", + "totalCosts": 236.34, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15957819/medium/2baae61ca579f0a04efd89cd210f2c6a_default.png" + } + ] + }, + { + "fileId": "7803", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 848.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15957819, + "username": "ming30650", + "totalCosts": 282.8, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15957819/medium/2baae61ca579f0a04efd89cd210f2c6a_default.png" + } + ] + }, + { + "fileId": "2926", + "contributors": [ + { + "id": 15508914, + "username": "0xycl", + "totalCosts": 1115.04, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15508914/medium/98fd4c1396bf4b16bcf44f291ee28fcc.png" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 1052.42, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 14778478, + "username": "ricky321u", + "totalCosts": 25.25, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14778478/medium/4172614fb3568f84106c89c102f7fb5b_default.png" + }, + { + "id": 15945861, + "username": "vonex0628", + "totalCosts": 20.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15945861/medium/e26711ccd7c5fa04b9283c470b7893fa.jpeg" + }, + { + "id": 15242372, + "username": "billwang", + "totalCosts": 15.15, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15242372/medium/23bf740e9d096ee0b3de7b9f5528c8c9.JPG" + }, + { + "id": 14598510, + "username": "arshengc", + "totalCosts": 3.03, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14598510/medium/dc5af8c666f76b88f0af685ab8574f16.jpeg" + } + ] + }, + { + "fileId": "7515", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 1268.56, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15954379, + "username": "wqqhou", + "totalCosts": 213.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954379/medium/3ece52775e2d2a29f1f9195332d988d9.jpeg" + } + ] + }, + { + "fileId": "7725", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 1055.45, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + } + ] + }, + { + "fileId": "7729", + "contributors": [ + { + "id": 15956019, + "username": "cc03668", + "totalCosts": 666.6, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956019/medium/2db4e1795f6076358b4fc078852af802.png" + } + ] + }, + { + "fileId": "7733", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 710.03, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15955263, + "username": "Heyhei", + "totalCosts": 53.53, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15955263/medium/51ba4f008f63f1b37ac900269bcaccc0_default.png" + }, + { + "id": 15952201, + "username": "Eniale", + "totalCosts": 18.18, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15952201/medium/70ddfc80063bd4b296bc3997bd5fd808_default.png" + } + ] + }, + { + "fileId": "7737", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 672.66, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15055487, + "username": "xaviershen1", + "totalCosts": 130.29, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15055487/medium/10522705934133754c3c30644a91e987.png" + }, + { + "id": 14090051, + "username": "ckykenken", + "totalCosts": 47.47, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14090051/medium/7f731194f98d3e1d19de2ef09f179542_default.png" + } + ] + }, + { + "fileId": "7741", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 1673.57, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 13132928, + "username": "ntiunn", + "totalCosts": 59.59, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13132928/medium/7279036c1c0338ff05bbdb649b9b6c56_default.png" + } + ] + }, + { + "fileId": "7745", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 2035.15, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + } + ] + }, + { + "fileId": "7749", + "contributors": [ + { + "id": 15532451, + "username": "hmsc", + "totalCosts": 483.79, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15532451/medium/1558c22671c8674e0f77412238047eb8_default.png" + }, + { + "id": 15952273, + "username": "Soplayerone", + "totalCosts": 133.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15952273/medium/6e9e5b686eb18071b84f2eaf7273db6e_default.png" + }, + { + "id": 15955263, + "username": "Heyhei", + "totalCosts": 49.49, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15955263/medium/51ba4f008f63f1b37ac900269bcaccc0_default.png" + } + ] + }, + { + "fileId": "7753", + "contributors": [ + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 694.88, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15959673, + "username": "lilyfish", + "totalCosts": 591.86, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15959673/medium/dedb96522598be262af59ee458a8b885.png" + } + ] + }, + { + "fileId": "6187", + "contributors": [ + { + "id": 15242372, + "username": "billwang", + "totalCosts": 643.37, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15242372/medium/23bf740e9d096ee0b3de7b9f5528c8c9.JPG" + }, + { + "id": 15174096, + "username": "13u22", + "totalCosts": 415.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15174096/medium/2c7598abbcf6dc776b41f9443584bf8f.jpeg" + }, + { + "id": 15066445, + "username": "tanyeun", + "totalCosts": 341.38, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15066445/medium/20bd201d087c38f8a96c927fea208225.jpeg" + }, + { + "id": 15224386, + "username": "telebee", + "totalCosts": 243.41, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15224386/medium/52b2ec0ff1b2d2f6893458a3a632a2eb_default.png" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 40.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15218250, + "username": "ganggang0508", + "totalCosts": 23.23, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15218250/medium/ee8923c86477941fead04515451be35e_default.png" + } + ] + }, + { + "fileId": "6428", + "contributors": [ + { + "id": 15251854, + "username": "hippoho328", + "totalCosts": 734.27, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15251854/medium/39e556aa8b3d0ae336aff10f90cb6b49.jpg" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 481.77, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" + }, + { + "id": 15201846, + "username": "boyinlee", + "totalCosts": 147.46, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15201846/medium/3d9d29022427094faeb700ddbd5c078a.jpeg" + }, + { + "id": 15590369, + "username": "antmap", + "totalCosts": 47.47, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15590369/medium/823728f8cc9cf2635dda256398ca0d6b.jpeg" + } + ] + }, + { + "fileId": "7465", + "contributors": [ + { + "id": 15730443, + "username": "shinnku", + "totalCosts": 2227.05, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15730443/medium/66ac38b84d1d3ef0166033202f82e355.png" + }, + { + "id": 15957819, + "username": "ming30650", + "totalCosts": 668.62, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15957819/medium/2baae61ca579f0a04efd89cd210f2c6a_default.png" + }, + { + "id": 14778478, + "username": "ricky321u", + "totalCosts": 238.36, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14778478/medium/4172614fb3568f84106c89c102f7fb5b_default.png" + }, + { + "id": 15508914, + "username": "0xycl", + "totalCosts": 129.28, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15508914/medium/98fd4c1396bf4b16bcf44f291ee28fcc.png" + } + ] } ] }, @@ -59179,7 +60851,142 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15912919/medium/cfb356818ffad4c59d4aea11c3c64c28.png" } ] + }, + { + "fileId": "7316", + "contributors": [ + { + "id": 15885247, + "username": "ct1aic.eth", + "totalCosts": 2133.12, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15885247/medium/cf22113f9226047f8f9868e4774bc4c3.png" + }, + { + "id": 15449494, + "username": "joaoamaral66", + "totalCosts": 101, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15449494/medium/c1e5779761bc1daebe30bf868e6664f6_default.png" + }, + { + "id": 16009153, + "username": "Kuroel", + "totalCosts": 9.09, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16009153/medium/6a4910f3a51034bffd17a5102774f43c_default.png" + } + ] + }, + { + "fileId": "5561", + "contributors": [ + { + "id": 15885247, + "username": "ct1aic.eth", + "totalCosts": 2482.58, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15885247/medium/cf22113f9226047f8f9868e4774bc4c3.png" + }, + { + "id": 15912919, + "username": "KARINE.DAROS", + "totalCosts": 512.07, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15912919/medium/cfb356818ffad4c59d4aea11c3c64c28.png" + }, + { + "id": 15114593, + "username": "RiquinPassaRodo", + "totalCosts": 224.22, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15114593/medium/45a10f0be483ccb1556ea7f51d741677.jpeg" + } + ] + }, + { + "fileId": "7461", + "contributors": [ + { + "id": 15885247, + "username": "ct1aic.eth", + "totalCosts": 1670.54, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15885247/medium/cf22113f9226047f8f9868e4774bc4c3.png" + } + ] + }, + { + "fileId": "8035", + "contributors": [ + { + "id": 15885247, + "username": "ct1aic.eth", + "totalCosts": 760.53, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15885247/medium/cf22113f9226047f8f9868e4774bc4c3.png" + }, + { + "id": 15938189, + "username": "altinocoelho", + "totalCosts": 437.33, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15938189/medium/a94b70c2f9891e65834e1864392d4912.png" + } + ] + }, + { + "fileId": "6440", + "contributors": [ + { + "id": 15938189, + "username": "altinocoelho", + "totalCosts": 306.03, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15938189/medium/a94b70c2f9891e65834e1864392d4912.png" + }, + { + "id": 15885247, + "username": "ct1aic.eth", + "totalCosts": 105.04, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15885247/medium/cf22113f9226047f8f9868e4774bc4c3.png" + } + ] + }, + { + "fileId": "7314", + "contributors": [ + { + "id": 15885247, + "username": "ct1aic.eth", + "totalCosts": 1333.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15885247/medium/cf22113f9226047f8f9868e4774bc4c3.png" + } + ] + } + ] + }, + { + "lang": "sr", + "data": [ + { + "fileId": "5559", + "contributors": [ + { + "id": 15967793, + "username": "TanjaPale", + "totalCosts": 1348.35, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967793/medium/7a23945a1b7ec0fd21d81d4820ba115f_default.png" + } + ] + }, + { + "fileId": "5565", + "contributors": [ + { + "id": 15967793, + "username": "TanjaPale", + "totalCosts": 1112.01, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967793/medium/7a23945a1b7ec0fd21d81d4820ba115f_default.png" + }, + { + "id": 15946075, + "username": "cuma99", + "totalCosts": 35.35, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15946075/medium/08ef5c94dfbb0d36bb5933ce2e5d567c_default.png" + } + ] } ] } -] +] \ No newline at end of file diff --git a/src/data/crowdin/file-ids.json b/src/data/crowdin/file-ids.json index d2942c7e089..2a8dbe1fd98 100644 --- a/src/data/crowdin/file-ids.json +++ b/src/data/crowdin/file-ids.json @@ -1183,4 +1183,4 @@ "id": 7304, "path": "/developers/tutorials/short-abi/index.md" } -] +] \ No newline at end of file diff --git a/src/data/crowdin/translation-buckets-dirs.json b/src/data/crowdin/translation-buckets-dirs.json index 124d2f4701b..c0cc8b247cf 100644 --- a/src/data/crowdin/translation-buckets-dirs.json +++ b/src/data/crowdin/translation-buckets-dirs.json @@ -111,4 +111,4 @@ "id": 7833, "name": "28) Developer Tutorials IV" } -] +] \ No newline at end of file From aedb1bb84192e5124c73862362c17bfee382c096 Mon Sep 17 00:00:00 2001 From: Ikko Eltociear Ashimine Date: Sun, 8 Oct 2023 17:21:47 +0900 Subject: [PATCH 38/55] Update dao/index.md cordinate -> coordinate --- src/content/translations/pcm/dao/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/translations/pcm/dao/index.md b/src/content/translations/pcm/dao/index.md index 3cac4083abd..f9000230a32 100644 --- a/src/content/translations/pcm/dao/index.md +++ b/src/content/translations/pcm/dao/index.md @@ -127,7 +127,7 @@ _Dem dey use am for decentralized development and governance of protocols and da #### Popula eksampol {#reputation-example} -[DXdao](https://DXdao.eth.link) - DXdao na global sovereign collective building and governing decentralized protocols and application since 2019. Dem dey leverage reputation based governance and holographic consensus to cordinate and manage funds, e mean say person no fit buy their way into influencing its future. +[DXdao](https://DXdao.eth.link) - DXdao na global sovereign collective building and governing decentralized protocols and application since 2019. Dem dey leverage reputation based governance and holographic consensus to coordinate and manage funds, e mean say person no fit buy their way into influencing its future. ## Join abi start DAO {#join-start-a-dao} From 45bd73c206e6be346a9a8d1d0535280f75031c7e Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Mon, 9 Oct 2023 17:51:18 +0100 Subject: [PATCH 39/55] Update src/pages-conditional/dapps.tsx --- src/pages-conditional/dapps.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages-conditional/dapps.tsx b/src/pages-conditional/dapps.tsx index a7175e809bf..92ed8602740 100644 --- a/src/pages-conditional/dapps.tsx +++ b/src/pages-conditional/dapps.tsx @@ -702,7 +702,7 @@ const DappsPage = ({ { title: "DODO", description: t("page-dapps-dapp-description-dodo"), - link: "https://dodo.io/", + link: "https://dodoex.io/", image: getImage(data.dodo), alt: t("page-dapps-dodo-logo-alt"), }, From 554df0c4f9d47bcaac9dd04ac4974aa99e6599e2 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 17:21:33 +0000 Subject: [PATCH 40/55] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 48fb78821e1..ae7c216dd66 100644 --- a/README.md +++ b/README.md @@ -1665,6 +1665,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Kevin Schwindt
Kevin Schwindt

🖋 Robert
Robert

🖋 obsidian
obsidian

🖋 + Fekry Aiad
Fekry Aiad

🤔 From aa07438179e4991900cc8748e998bb418d8c40c7 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 17:21:34 +0000 Subject: [PATCH 41/55] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 6c4c759a2bc..53aaad9b1ca 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -10640,6 +10640,15 @@ "contributions": [ "content" ] + }, + { + "login": "MohamedFekryyy", + "name": "Fekry Aiad", + "avatar_url": "https://avatars.githubusercontent.com/u/36033065?v=4", + "profile": "http://www.scienft.com", + "contributions": [ + "ideas" + ] } ], "contributorsPerLine": 7, From 84ad383b95c0ffca183eb61abe1ea74048d081ce Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Tue, 10 Oct 2023 13:33:15 -0700 Subject: [PATCH 42/55] fill leading whitespace with bullets fixes recent whitespace removal, prevents linter from collapsing in future --- docs/ds-implementation.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/ds-implementation.md b/docs/ds-implementation.md index 37a2141be6c..7bd677333e5 100644 --- a/docs/ds-implementation.md +++ b/docs/ds-implementation.md @@ -17,10 +17,10 @@ Follow the new component directory structure: ```markdown src/ └── components/ -└── ComponentA/ -├── index.tsx -├── ComponentA.stories.tsx -└── // Any other files as applicable (utils, child components, useHook, etc.) +····└── ComponentA/ +··········├── index.tsx +··········├── ComponentA.stories.tsx +··········└── // Any other files as applicable (utils, child components, useHook, etc.) ``` ## Components creation/modification from the DS From 141f641860a8970188f0a572de3f6482d65474d2 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Tue, 10 Oct 2023 18:30:29 -0700 Subject: [PATCH 43/55] add detail to Constantinople upgrade --- src/content/history/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/content/history/index.md b/src/content/history/index.md index 2f45204872a..a70e930acdb 100644 --- a/src/content/history/index.md +++ b/src/content/history/index.md @@ -310,6 +310,7 @@ The Istanbul fork: The Constantinople fork: +- Reduced block [mining](/developers/docs/consensus-mechanisms/pow/mining/) rewards from 3 to 2 ETH. - Ensured the blockchain didn't freeze before [proof-of-stake was implemented](#beacon-chain-genesis). - Optimised the [gas](/glossary/#gas) cost of certain actions in the [EVM](/developers/docs/ethereum-stack/#ethereum-virtual-machine). - Added the ability to interact with addresses that haven't been created yet. @@ -322,7 +323,7 @@ The Constantinople fork:
  • EIP-145optimises cost of certain on-chain actions.
  • EIP-1014allows you to interact with addresses that have yet to be created.
  • EIP-1052optimises cost of certain on-chain actions.
  • -
  • EIP-1234makes sure the blockchain doesn't freeze before proof-of-stake.
  • +
  • EIP-1234makes sure the blockchain doesn't freeze before proof-of-stake and reduces block reward from 3 to 2 ETH.
  • From 3dcf8067ae7d5c26b9ec468a98cf9c0f26e71b03 Mon Sep 17 00:00:00 2001 From: woseK <110729731+woseK@users.noreply.github.com> Date: Wed, 11 Oct 2023 21:36:29 +0200 Subject: [PATCH 44/55] Fixed in-page nav --- src/content/developers/docs/design-and-ux/index.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/content/developers/docs/design-and-ux/index.md b/src/content/developers/docs/design-and-ux/index.md index d36e38448a9..9dca28557d2 100644 --- a/src/content/developers/docs/design-and-ux/index.md +++ b/src/content/developers/docs/design-and-ux/index.md @@ -8,7 +8,7 @@ Are you new to designing with Ethereum? This is the right place for you. The Eth Need a more basic understanding of web3 first? Check out [**Learn hub**](/learn/). -## Start with user research {#Start-with-user-research} +## Start with user research {#start-with-user-research} Effective design goes beyond creating visually appealing user interfaces. It involves gaining a deep understanding of the user's needs, objectives, and driving factors. Therefore, we highly recommend that all designers adopt a design process, such as the [**double diamond process**](), to ensure that their work is deliberate and intentional. @@ -17,7 +17,7 @@ Effective design goes beyond creating visually appealing user interfaces. It inv - [How to Approach UX Decisions in Web3](https://archive.devcon.org/archive/watch/6/data-empathy-how-to-approach-ux-decisions-in-web3/) - A brief overview of quantitative and qualitative research and the differences between the two (video, 6 min) - [Being a ux researcher in web3](https://medium.com/@georgia.rakusen/what-its-like-being-a-user-researcher-in-web3-6a4bcc096849) - A personal view on what it is like being a UX researcher in web3 -## Research studies in web3 {#Research-in-web3} +## Research studies in web3 {#research-in-web3} This is a curated list of user research done in web3 that may help with design and product decisions or work as an inspiration to conduct own study. @@ -36,7 +36,7 @@ This is a curated list of user research done in web3 that may help with design a - [Metaverse: User Research Report](https://www.politico.com/f/?id=00000187-7685-d820-a7e7-7e85d1420000) - [Going on Safari: Researching Users in the Metaverse](https://archive.devcon.org/archive/watch/6/going-on-safari-researching-users-in-the-metaverse/?tab=YouTube) (video, 27 min) -## Design for web3 {#Design-for-web3} +## Design for web3 {#design-for-web3} - [Web3 Design Principles](https://medium.com/@lyricalpolymath/web3-design-principles-f21db2f240c1) - A framework of UX rules for blockchain based dapps - [Blockchain Design Principles](https://medium.com/design-ibm/blockchain-design-principles-599c5c067b6e) - Lessons learned by the blockchain design team at IBM @@ -45,7 +45,7 @@ This is a curated list of user research done in web3 that may help with design a - [W3design.io](https://w3design.io/) - A curated library of UI flows of different projects in the ecosystem - [Neueux.com](https://neueux.com/apps) - UI library of user flows with diverse filtering options -## Web3 Design Case Studies {#Design-case-studies} +## Web3 Design Case Studies {#design-case-studies} - [How to write better web3 error messages](https://medium.com/@JonCrabb/how-to-design-better-web3-error-messages-bd96e12fa582) - [Defi design tips](https://medium.com/@JonCrabb/defi-design-tips-vol-12-8600f4374714) @@ -54,14 +54,14 @@ This is a curated list of user research done in web3 that may help with design a - [Selling an NFT on OpenSea](https://builtformars.com/case-studies/opensea) - [Wallet UX teardown how wallets need to change](https://www.youtube.com/watch?v=oTpuxYj8JWI&ab_channel=ETHDenver) (video, 20 min) -## Design Bounties {#Bounties} +## Design Bounties {#bounties} - [Dework](https://app.dework.xyz/bounties) - [Gitcoin](https://bounties.gitcoin.co/explorer) - [Buildbox hackathons](https://gitcoin.co/hackathons) - [ETHGlobal](https://ethglobal.com/) -## Design DAOs and communities {#Design-DAOs-and-communities} +## Design DAOs and communities {#design-daos-and-communities} Get involved in professional community-driven organizations or join design groups to discuss design and research related topics and trends with other members. @@ -73,7 +73,7 @@ Get involved in professional community-driven organizations or join design group - [web3trends.org](https://web3trends.org/) - [Open Source Web3Design](https://www.web3designers.org/) -## Design Systems {#Design-systems} +## Design Systems {#design-systems} - [Optimism Design](https://www.figma.com/@oplabs) (Figma) - [Ethereum.org Design system](https://www.figma.com/@ethdotorg) (Figma) From 671b1058c2e026f658f129b84a2ef9f1bc395530 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 11 Oct 2023 21:55:45 -0600 Subject: [PATCH 45/55] update ens logo and beginner-friendly apps --- src/assets/dapps/ens.png | Bin 4313 -> 1608 bytes src/pages-conditional/dapps.tsx | 46 ++++++++++++++++---------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/assets/dapps/ens.png b/src/assets/dapps/ens.png index c18da32a384f6567c41ec93081013d8eb0c82aff..0b8576314c47c005ba454cf264d3e42d22fe016b 100644 GIT binary patch literal 1608 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 Hu0mjf%{3As diff --git a/src/pages-conditional/dapps.tsx b/src/pages-conditional/dapps.tsx index f33f361f306..197d0204c80 100644 --- a/src/pages-conditional/dapps.tsx +++ b/src/pages-conditional/dapps.tsx @@ -1166,33 +1166,33 @@ const DappsPage = ({ pillColor: "tagMint", }, { - name: "Dark Forest", - description: t("page-dapps-editors-choice-dark-forest"), - url: "https://zkga.me", - image: getImage(data.darkforestec), - alt: t("page-dapps-dark-forest-logo-alt"), - background: "#080808", - type: CategoryType.GAMING, - pillColor: "tagOrange", - }, - { - name: "Foundation", - description: t("page-dapps-editors-choice-foundation"), - url: "https://foundation.app", - image: getImage(data.foundationec), - alt: t("page-dapps-foundation-logo-alt"), - background: "#ffffff", + name: "OpenSea", + description: t("page-dapps-dapp-description-opensea"), + url: "https://opensea.io/", + image: getImage(data.opensea), + alt: t("page-dapps-opensea-logo-alt"), + background: "#181b21", type: CategoryType.COLLECTIBLES, pillColor: "tagBlue", }, { - name: "PoolTogether", - description: t("page-dapps-editors-choice-pooltogether"), - url: "https://pooltogether.com", - image: getImage(data.pooltogetherec), - alt: t("page-dapps-pooltogether-logo-alt"), - background: "#7e4cf2", - type: CategoryType.FINANCE, + name: "Gods Unchained", + description: t("page-dapps-dapp-description-gods-unchained"), + url: "https://godsunchained.com/", + image: getImage(data.gods), + alt: t("page-dapps-gods-unchained-logo-alt"), + background: "#111c25", + type: CategoryType.GAMING, + pillColor: "tagOrange", + }, + { + name: "Ethereum Name Service", + description: t("page-dapps-dapp-description-ens"), + url: "https://ens.domains/", + image: getImage(data.ens), + alt: t("page-dapps-ens-logo-alt"), + background: "#fff", + type: CategoryType.SOCIAL, pillColor: "tagMint", }, ] From 8594002cadeabf8b254f79f6a18a371210ce3349 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 12 Oct 2023 08:25:56 -0700 Subject: [PATCH 46/55] convert all markdown style props to objects required for Next.js migration --- src/content/deprecated-software/index.md | 18 +++++++++--------- src/content/roadmap/index.md | 2 +- src/content/roadmap/scaling/index.md | 4 ++-- src/content/staking/pools/index.md | 2 +- src/content/staking/saas/index.md | 2 +- src/content/staking/solo/index.md | 2 +- .../translations/bn/staking/pools/index.md | 2 +- .../translations/bn/staking/saas/index.md | 2 +- .../translations/bn/staking/solo/index.md | 2 +- .../ca/energy-consumption/index.md | 2 +- src/content/translations/de/roadmap/index.md | 2 +- .../translations/de/roadmap/scaling/index.md | 4 ++-- .../translations/de/staking/pools/index.md | 2 +- .../translations/de/staking/saas/index.md | 2 +- .../translations/de/staking/solo/index.md | 2 +- .../translations/es/staking/pools/index.md | 2 +- .../translations/es/staking/saas/index.md | 2 +- .../translations/es/staking/solo/index.md | 2 +- .../fa/energy-consumption/index.md | 2 +- .../translations/fa/staking/pools/index.md | 2 +- .../translations/fa/staking/saas/index.md | 2 +- .../translations/fa/staking/solo/index.md | 2 +- .../translations/fr/staking/pools/index.md | 2 +- .../translations/fr/staking/saas/index.md | 2 +- .../translations/fr/staking/solo/index.md | 2 +- .../id/energy-consumption/index.md | 2 +- .../translations/id/staking/pools/index.md | 2 +- .../translations/id/staking/saas/index.md | 2 +- .../translations/id/staking/solo/index.md | 2 +- src/content/translations/it/roadmap/index.md | 2 +- .../translations/it/roadmap/scaling/index.md | 4 ++-- .../translations/it/staking/pools/index.md | 2 +- .../translations/it/staking/saas/index.md | 2 +- .../translations/it/staking/solo/index.md | 2 +- .../translations/ja/staking/pools/index.md | 2 +- .../translations/ja/staking/saas/index.md | 2 +- .../translations/ja/staking/solo/index.md | 2 +- .../translations/ko/staking/pools/index.md | 2 +- .../translations/ko/staking/saas/index.md | 2 +- .../translations/ko/staking/solo/index.md | 2 +- .../nl/energy-consumption/index.md | 2 +- .../translations/nl/staking/pools/index.md | 2 +- .../translations/nl/staking/saas/index.md | 2 +- .../translations/nl/staking/solo/index.md | 2 +- .../translations/pt-br/staking/pools/index.md | 2 +- .../translations/pt-br/staking/saas/index.md | 2 +- .../translations/pt-br/staking/solo/index.md | 2 +- .../ro/energy-consumption/index.md | 2 +- .../translations/ru/staking/pools/index.md | 2 +- .../translations/ru/staking/saas/index.md | 2 +- .../translations/ru/staking/solo/index.md | 2 +- src/content/translations/tr/roadmap/index.md | 2 +- .../translations/tr/roadmap/scaling/index.md | 4 ++-- .../translations/tr/staking/pools/index.md | 2 +- .../translations/tr/staking/saas/index.md | 2 +- .../translations/tr/staking/solo/index.md | 2 +- .../uk/energy-consumption/index.md | 2 +- .../translations/uk/staking/pools/index.md | 2 +- .../translations/uk/staking/saas/index.md | 2 +- .../translations/uk/staking/solo/index.md | 2 +- .../translations/zh-tw/roadmap/index.md | 2 +- .../zh-tw/roadmap/scaling/index.md | 4 ++-- .../translations/zh-tw/staking/pools/index.md | 2 +- .../translations/zh-tw/staking/saas/index.md | 2 +- .../translations/zh-tw/staking/solo/index.md | 2 +- src/content/translations/zh/roadmap/index.md | 2 +- .../translations/zh/roadmap/scaling/index.md | 4 ++-- .../translations/zh/staking/pools/index.md | 2 +- .../translations/zh/staking/saas/index.md | 2 +- .../translations/zh/staking/solo/index.md | 2 +- 70 files changed, 84 insertions(+), 84 deletions(-) diff --git a/src/content/deprecated-software/index.md b/src/content/deprecated-software/index.md index f580c4d9701..ec866dcbf1b 100644 --- a/src/content/deprecated-software/index.md +++ b/src/content/deprecated-software/index.md @@ -23,7 +23,7 @@ This section is for software for the desktop, command line, or server which has

    @@ -49,7 +49,7 @@ OpenEthereum was built for miners, service providers, and exchanges which need f

    @@ -75,7 +75,7 @@ Grid could be seen as a successor to Mist, also a standalone, JavaScript-based d

    @@ -101,7 +101,7 @@ Ethereum Studio was developed to provide users with an IDE that had a built-in E

    @@ -133,7 +133,7 @@ See the [Ethereum Wallets](/wallets/) page on ethereum.org.

    @@ -269,7 +269,7 @@ ruby-ethereum was an Ethereum client written in Ruby. It was deprecated around 2

    @@ -299,7 +299,7 @@ The ["Spin up your own Ethereum node"](/developers/docs/nodes-and-clients/run-a-

    @@ -331,7 +331,7 @@ This section is for services deployed to Ethereum Mainnet and other EVM-based ne

    @@ -383,7 +383,7 @@ While The DAO failed, the concept endured. The basic technical, social, and gove

    diff --git a/src/content/roadmap/index.md b/src/content/roadmap/index.md index a73434f3029..ad7285bb65a 100644 --- a/src/content/roadmap/index.md +++ b/src/content/roadmap/index.md @@ -66,7 +66,7 @@ The roadmap is mostly the result of years of work by researchers and developers -

    What was ETH2?

    +

    What was ETH2?

    The term 'Eth2' was commonly used to describe the future of Ethereum before the switch to proof-of-stake but it was phased out in favor of more precise terminology. It was originally used to differentiate the Ethereum network before the switch to proof-of-stake and the network after, or sometimes to refer to the different Ethereum clients (execution clients were sometimes referred to as ETH1 clients and consensus clients were sometimes referred to as ETH2 clients).

    diff --git a/src/content/roadmap/scaling/index.md b/src/content/roadmap/scaling/index.md index 947dc1bdc97..c4ded270382 100644 --- a/src/content/roadmap/scaling/index.md +++ b/src/content/roadmap/scaling/index.md @@ -10,11 +10,11 @@ template: roadmap Ethereum is scaled using [layer 2s](/layer-2/#rollups) (also known as rollups), which batch transactions together and send the output to Ethereum. Even though rollups are up to eight times less expensive than Ethereum Mainnet, it's possible to optimize rollups further to reduce costs for end users. Rollups also rely on some centralized components that developers can remove as the rollups mature. -