From 55269dc08d0c4801947c2f3237bd4cc26dc642cc Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 25 Mar 2022 11:05:26 +0000 Subject: [PATCH 001/167] add rlp page --- .../docs/data-structures/rlp/index.md | 158 ++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 src/content/developers/docs/data-structures/rlp/index.md diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md new file mode 100644 index 00000000000..4d69e944276 --- /dev/null +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -0,0 +1,158 @@ +--- +title: Recursive-length prefix (RLP) serialization +description: A definition of the rlp encoding in Ethereum's execution layer. +lang: en +sidebar: true +sidebarDepth: 2 +--- + +Recurisive length prefix serialization is used extensively in Ethereum's execution clients. It's purpose is to standardize the transfer of data between nodes in a space-efficient format. Once established, these RLP sessions allow the transfer of data between clients. The purpose of RLP (Recursive Length Prefix) is to encode arbitrarily nested arrays of binary data, and RLP is the main encoding method used to serialize objects in Ethereum's execution layer. The only purpose of RLP is to encode structure; encoding specific data types (eg. strings, floats) is left up to higher-order protocols; but positive RLP integers must be represented in big endian binary form with no leading zeroes (thus making the integer value zero be equivalent to the empty byte array). Deserialised positive integers with leading zeroes must be treated as invalid. The integer representation of string length must also be encoded this way, as well as integers in the payload. Additional information can be found in the Ethereum yellow paper Appendix B. + +If one wishes to use RLP to encode a dictionary, the two suggested canonical forms are to either use `[[k1,v1],[k2,v2]...]` with keys in lexicographic order or to use the higher-level [Patricia Tree](./patricia-tree.md) encoding as Ethereum does. + +## Definition + +The RLP encoding function takes in an item. An item is defined as follows: + +- A string (ie. byte array) is an item +- A list of items is an item + +For example, an empty string is an item, as is the string containing the word "cat", a list containing any number of strings, as well as more complex data structures like `["cat",["puppy","cow"],"horse",[[]],"pig",[""],"sheep"]`. Note that in the context of the rest of this article, "string" will be used as a synonym for "a certain number of bytes of binary data"; no special encodings are used and no knowledge about the content of the strings is implied. + +RLP encoding is defined as follows: + +- For a single byte whose value is in the `[0x00, 0x7f]` range, that byte is its own RLP encoding. +- Otherwise, if a string is 0-55 bytes long, the RLP encoding consists of a single byte with value **0x80** plus the length of the string followed by the string. The range of the first byte is thus `[0x80, 0xb7]`. +- If a string is more than 55 bytes long, the RLP encoding consists of a single byte with value **0xb7** plus the length in bytes of the length of the string in binary form, followed by the length of the string, followed by the string. For example, a length-1024 string would be encoded as `\xb9\x04\x00` followed by the string. The range of the first byte is thus `[0xb8, 0xbf]`. +- If the total payload of a list (i.e. the combined length of all its items being RLP encoded) is 0-55 bytes long, the RLP encoding consists of a single byte with value **0xc0** plus the length of the list followed by the concatenation of the RLP encodings of the items. The range of the first byte is thus `[0xc0, 0xf7]`. +- If the total payload of a list is more than 55 bytes long, the RLP encoding consists of a single byte with value **0xf7** plus the length in bytes of the length of the payload in binary form, followed by the length of the payload, followed by the concatenation of the RLP encodings of the items. The range of the first byte is thus `[0xf8, 0xff]`. + +In code, this is: + +```python +def rlp_encode(input): + if isinstance(input,str): + if len(input) == 1 and ord(input) < 0x80: return input + else: return encode_length(len(input), 0x80) + input + elif isinstance(input,list): + output = '' + for item in input: output += rlp_encode(item) + return encode_length(len(output), 0xc0) + output + +def encode_length(L,offset): + if L < 56: + return chr(L + offset) + elif L < 256**8: + BL = to_binary(L) + return chr(len(BL) + offset + 55) + BL + else: + raise Exception("input too long") + +def to_binary(x): + if x == 0: + return '' + else: + return to_binary(int(x / 256)) + chr(x % 256) +``` + +## Examples + +The string "dog" = [ 0x83, 'd', 'o', 'g' ] + +The list [ "cat", "dog" ] = `[ 0xc8, 0x83, 'c', 'a', 't', 0x83, 'd', 'o', 'g' ]` + +The empty string ('null') = `[ 0x80 ]` + +The empty list = `[ 0xc0 ]` + +The integer 0 = `[ 0x80 ]` + +The encoded integer 0 ('\\x00') = `[ 0x00 ]` + +The encoded integer 15 ('\\x0f') = `[ 0x0f ]` + +The encoded integer 1024 ('\\x04\\x00') = `[ 0x82, 0x04, 0x00 ]` + +The [set theoretical representation](http://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers) of three, `[ [], [[]], [ [], [[]] ] ] = [ 0xc7, 0xc0, 0xc1, 0xc0, 0xc3, 0xc0, 0xc1, 0xc0 ]` + +The string "Lorem ipsum dolor sit amet, consectetur adipisicing elit" = `[ 0xb8, 0x38, 'L', 'o', 'r', 'e', 'm', ' ', ... , 'e', 'l', 'i', 't' ]` + +## RLP decoding + +According to rules and process of RLP encoding, the input of RLP decode shall be regarded as array of binary data, the process is as follows: + +1. According to the first byte(i.e. prefix) of input data, and decoding the data type, the length of the actual data and offset; + +2. According to type and offset of data, decode data correspondingly; + +3. Continue to decode the rest of the input; + +Among them, the rules of decoding data types and offset is as follows: + +1. the data is a string if the range of the first byte(i.e. prefix) is [0x00, 0x7f], and the string is the first byte itself exactly; + +2. the data is a string if the range of the first byte is [0x80, 0xb7], and the string whose length is equal to the first byte minus 0x80 follows the first byte; + +3. the data is a string if the range of the first byte is [0xb8, 0xbf], and the length of the string whose length in bytes is equal to the first byte minus 0xb7 follows the first byte, and the string follows the length of the string; + +4. the data is a list if the range of the first byte is [0xc0, 0xf7], and the concatenation of the RLP encodings of all items of the list which the total payload is equal to the first byte minus 0xc0 follows the first byte; + +5. the data is a list if the range of the first byte is [0xf8, 0xff], and the total payload of the list whose length is equal to the first byte minus 0xf7 follows the first byte, and the concatenation of the RLP encodings of all items of the list follows the total payload of the list; + +In code, this is: + +```python +def rlp_decode(input): + if len(input) == 0: + return + output = '' + (offset, dataLen, type) = decode_length(input) + if type is str: + output = instantiate_str(substr(input, offset, dataLen)) + elif type is list: + output = instantiate_list(substr(input, offset, dataLen)) + output + rlp_decode(substr(input, offset + dataLen)) + return output + +def decode_length(input): + length = len(input) + if length == 0: + raise Exception("input is null") + prefix = ord(input[0]) + if prefix <= 0x7f: + return (0, 1, str) + elif prefix <= 0xb7 and length > prefix - 0x80: + strLen = prefix - 0x80 + return (1, strLen, str) + elif prefix <= 0xbf and length > prefix - 0xb7 and length > prefix - 0xb7 + to_integer(substr(input, 1, prefix - 0xb7)): + lenOfStrLen = prefix - 0xb7 + strLen = to_integer(substr(input, 1, lenOfStrLen)) + return (1 + lenOfStrLen, strLen, str) + elif prefix <= 0xf7 and length > prefix - 0xc0: + listLen = prefix - 0xc0; + return (1, listLen, list) + elif prefix <= 0xff and length > prefix - 0xf7 and length > prefix - 0xf7 + to_integer(substr(input, 1, prefix - 0xf7)): + lenOfListLen = prefix - 0xf7 + listLen = to_integer(substr(input, 1, lenOfListLen)) + return (1 + lenOfListLen, listLen, list) + else: + raise Exception("input don't conform RLP encoding form") + +def to_integer(b): + length = len(b) + if length == 0: + raise Exception("input is null") + elif length == 1: + return ord(b[0]) + else: + return ord(substr(b, -1)) + to_integer(substr(b, 0, -1)) * 256 +``` + +## Further reading {#further-reading} + +- [RLP in Ethereum](https://medium.com/coinmonks/data-structure-in-ethereum-episode-1-recursive-length-prefix-rlp-encoding-decoding-d1016832f919) +- [Ethereum under the hood: RLP](https://medium.com/coinmonks/ethereum-under-the-hood-part-3-rlp-decoding-df236dc13e58) + +## Related topics {#related-topics} + +- [Patricia merkle tree](/developers/docs/data-structures/patricia-merkle-tree) From 38fcc9fbd41d31de60f06e86533e80875229692f Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 25 Mar 2022 14:06:34 +0000 Subject: [PATCH 002/167] add landing page and add pages to menus --- .../developers/docs/data-structures/index.md | 27 +++++++++++++++++++ .../docs/data-structures/rlp/index.md | 2 +- src/data/developer-docs-links.yaml | 6 +++++ src/intl/en/page-developers-docs.json | 3 +++ src/intl/en/page-developers-index.json | 4 ++- src/pages/developers/index.js | 7 +++++ 6 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 src/content/developers/docs/data-structures/index.md diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md new file mode 100644 index 00000000000..03fc1e6643f --- /dev/null +++ b/src/content/developers/docs/data-structures/index.md @@ -0,0 +1,27 @@ +--- +title: Data Structures +description: A definition of the rlp encoding in Ethereum's execution layer. +lang: en +sidebar: true +sidebarDepth: 2 +--- + +The Ethereum platform creates, stores and transfers large volumes of data. It is critical that this data is formatted in ways that are standardized and memory efficient so that nodes can be run on relatively modest consumer-grade hardware. To achieve this, there are several specific data structures that are used on the Ethereum stack. + +## Prerequisites + +It is useful to have a good understanding of the ethereum blockchain and client software. Familiarity with the networking layer would also be useful. This is quite low level information about how the Ethereum protocol is designed. A reasonable understanding of the Ethereum whitepaper is recommended. + +## Data Structures + +### Patricia merkle trees + +coming soon + +### Recursive Length Prefix + +Recursive-length prefix is a serialization method used extensively across Ethereum's execution layer. Detailed information about RLP can be found [here](developers/docs/data-structures/rlp). + +### Simple Serialize + +coming soon diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md index 4d69e944276..302fabe54c9 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -8,7 +8,7 @@ sidebarDepth: 2 Recurisive length prefix serialization is used extensively in Ethereum's execution clients. It's purpose is to standardize the transfer of data between nodes in a space-efficient format. Once established, these RLP sessions allow the transfer of data between clients. The purpose of RLP (Recursive Length Prefix) is to encode arbitrarily nested arrays of binary data, and RLP is the main encoding method used to serialize objects in Ethereum's execution layer. The only purpose of RLP is to encode structure; encoding specific data types (eg. strings, floats) is left up to higher-order protocols; but positive RLP integers must be represented in big endian binary form with no leading zeroes (thus making the integer value zero be equivalent to the empty byte array). Deserialised positive integers with leading zeroes must be treated as invalid. The integer representation of string length must also be encoded this way, as well as integers in the payload. Additional information can be found in the Ethereum yellow paper Appendix B. -If one wishes to use RLP to encode a dictionary, the two suggested canonical forms are to either use `[[k1,v1],[k2,v2]...]` with keys in lexicographic order or to use the higher-level [Patricia Tree](./patricia-tree.md) encoding as Ethereum does. +If one wishes to use RLP to encode a dictionary, the two suggested canonical forms are to either use `[[k1,v1],[k2,v2]...]` with keys in lexicographic order or to use the higher-level Patricia Tree encoding as Ethereum does. ## Definition diff --git a/src/data/developer-docs-links.yaml b/src/data/developer-docs-links.yaml index 1ba59bac1de..e75f9473104 100644 --- a/src/data/developer-docs-links.yaml +++ b/src/data/developer-docs-links.yaml @@ -178,3 +178,9 @@ to: /developers/docs/scaling/plasma/ - id: docs-nav-scaling-validium to: /developers/docs/scaling/validium/ + - id: docs-nav-data-structures + to: /developers/docs/data-structures/ + description: docs-nav-data-structures-description + items: + - id: docs-nav-data-structures-rlp + to: /developers/docs/data-structures/rlp/ diff --git a/src/intl/en/page-developers-docs.json b/src/intl/en/page-developers-docs.json index ea46a01a1e0..2676ed856f3 100644 --- a/src/intl/en/page-developers-docs.json +++ b/src/intl/en/page-developers-docs.json @@ -93,6 +93,9 @@ "docs-nav-transactions-description": "Transfers and other actions that cause Ethereum's state to change", "docs-nav-web2-vs-web3": "Web2 vs Web3", "docs-nav-web2-vs-web3-description": "The fundamental differences that blockchain-based applications provide", + "docs-nav-data-structures": "Data structures", + "docs-nav-data-structures-description": "Explanation of the data structures used across the Ethereum stack", + "docs-nav-data-structures-rlp": "Recursive-length prefix (RLP)", "page-calltocontribute-desc-1": "If you're an expert on the topic and want to contribute, edit this page and sprinkle it with your wisdom.", "page-calltocontribute-desc-2": "You'll be credited and you'll be helping the Ethereum community!", "page-calltocontribute-desc-3": "Use this flexible", diff --git a/src/intl/en/page-developers-index.json b/src/intl/en/page-developers-index.json index 3cbda339ac8..005194e8438 100644 --- a/src/intl/en/page-developers-index.json +++ b/src/intl/en/page-developers-index.json @@ -84,5 +84,7 @@ "page-developers-transactions-desc": "The way Ethereum state changes", "page-developers-transactions-link": "Transactions", "page-developers-web3-desc": "How the web3 world of development is different", - "page-developers-web3-link": "Web2 vs Web3" + "page-developers-data-structures": "Data Structures", + "page-developers-data-structures-link": "Data Structures", + "page-developers-data-structures-desc": "Introduction to the data structures used in the Ethereum stack" } diff --git a/src/pages/developers/index.js b/src/pages/developers/index.js index d1a20b9bc4d..7c5e09c1244 100644 --- a/src/pages/developers/index.js +++ b/src/pages/developers/index.js @@ -514,6 +514,13 @@ const DevelopersPage = ({ data }) => {

+ + + + +

+ +

From e7fcd26aa7d8c280e9e167850682cb842536d725 Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 25 Mar 2022 14:26:47 +0000 Subject: [PATCH 003/167] replace accidentally deleted line in page-developers-index.json --- src/intl/en/page-developers-index.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/intl/en/page-developers-index.json b/src/intl/en/page-developers-index.json index 005194e8438..d736233e508 100644 --- a/src/intl/en/page-developers-index.json +++ b/src/intl/en/page-developers-index.json @@ -84,6 +84,7 @@ "page-developers-transactions-desc": "The way Ethereum state changes", "page-developers-transactions-link": "Transactions", "page-developers-web3-desc": "How the web3 world of development is different", + "page-developers-web3-link": "Web2 vs Web3", "page-developers-data-structures": "Data Structures", "page-developers-data-structures-link": "Data Structures", "page-developers-data-structures-desc": "Introduction to the data structures used in the Ethereum stack" From 9ac53807b869ed9234f4049289a2fe4da8eef7cb Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Mar 2022 11:53:38 +0100 Subject: [PATCH 004/167] initial commit: network landing pg & net addr page --- development-notes.md | 75 +++++++++ .../cons_client_net_layer.png | Bin 0 -> 14128 bytes .../networking-layer/exe_client_net_layer.png | Bin 0 -> 18760 bytes .../exe_cons_client_net_layer.png | Bin 0 -> 7492 bytes .../developers/docs/networking-layer/index.md | 152 ++++++++++++++++++ .../network-addresses/network-addresses.md | 11 ++ 6 files changed, 238 insertions(+) create mode 100644 development-notes.md create mode 100644 src/content/developers/docs/networking-layer/cons_client_net_layer.png create mode 100644 src/content/developers/docs/networking-layer/exe_client_net_layer.png create mode 100644 src/content/developers/docs/networking-layer/exe_cons_client_net_layer.png create mode 100644 src/content/developers/docs/networking-layer/index.md create mode 100644 src/content/developers/docs/networking-layer/network-addresses/network-addresses.md diff --git a/development-notes.md b/development-notes.md new file mode 100644 index 00000000000..1d80e3d8b3d --- /dev/null +++ b/development-notes.md @@ -0,0 +1,75 @@ +To add a new page to ethereum.org: + +If the new page needs a new directory, create it and also create a landing page named index.md +Then create a subdir for the specific page, inside create the content file index.md. + +e.g. new dir in /developer/docs/ + +``` +developers +| +|---- docs + | + |----data-structures + | + |----index.md + |----rlp + | + |----index.md + +``` + +`data-structures/index.md` is a landing page with links to the content in its subdirectories but usually containing some introductory information about the topic. +The specific content about (e.g.) rlp serialization goes in `/data-structures/rlp/index.md`. + +Then this page needs to be made visible in the top menu and sidebar menu. This requires additions to four files. + +1. /src/data/developers-docs-links.yaml + +This file includes links that are used to automatically update links to translated pages. Copy the syntax from other pages, nesting where appropriate + +e.g. + +```yaml + +--- +- id: docs-nav-data-structures + to: /developers/docs/data-structures/ + description: docs-nav-data-structures-description + items: + - id: docs-nav-data-structures-rlp + to: /developers/docs/data-structures/rlp/ +``` + +2. src/intl/en/page-developers-docs.json + +This adds info necessary for including the pages in menus. Copy syntax from othe rpages and add for new page. +e.g. + +```yaml +... + "docs-nav-data-structures": "Data structures", + "docs-nav-data-structures-description": "Explanation of the data structures used across the Ethereum stack", + "docs-nav-data-structures-rlp": "Recursive-length prefix (RLP)", + +``` + +3. src/intl/en/page-developers-index.json + +```yaml + +``` + +4. src/pages/developers/index.js + Adds link to the developers landing page + +```yaml + +--- + + + +

+ +

+``` diff --git a/src/content/developers/docs/networking-layer/cons_client_net_layer.png b/src/content/developers/docs/networking-layer/cons_client_net_layer.png new file mode 100644 index 0000000000000000000000000000000000000000..ca461b3182324d6e359e5776117cf483b176f19d GIT binary patch literal 14128 zcmZAeby!s2_XZ3PQhrF4mWBbOySo`u=|*Ab5|l0hrE^BQyM`J{8l`4PX@*o8 zBJ1xFWYkeY&x=7v9jl3$he;&Qjf{?sg`qZ=sRn~r7fI*Bq6(Gg zmTHg)15qa9jj-|5K3Zy1d8=;!vWh)o3;*Md`Y46|i>0oa?&jt>c0>CiZuwN8pO2ac z)O*-n<&9D@$wxPD>1FtbJ1mqQ;j}4D6dBW3CJata$IAfoMr3YHvG93oe!f!cG>xkj zxdlAem7h!Q)ob{Ya}<(a`Ro1*AwMA2t9L|ZS$VuMU`4YkR|X^eGDZ^k&<()U4ZRxK-HXb3`~$bx}jzXm0x?6+u{s}=@yuA?tl^@$A zGc3YP4=;&No-(##90<6Y&v*F8Z+(yv?3twPPEK&hI`B}GR={cw9CE%h!9wtSvOm1c zi+TfWDTIzR8FMN};XtZMN4_gj zcIUYbhU-SCFwE?M8@6fmFdJCA0CsI~{cXJf@R#VhDv-hkP>#5k8({y$7{Y?u@TtLz zax_~)MDpFRf9bwNwK`}|whO#1#yQtyS^e%JmQVQW87~GP;;GYhYK)>m=DvKB%cI6+ z`0v#6)&+8`HmM2d5m@+k(smWb6D?nsb&-Zf)+)pQ=9Y$2b$lP=d9tB*1 zCZeJ21bojYrOBZy{VFb7{c}rd^wLrk^;V)j6(bmjE#h$ad)V2KY|X zld~=hcw4AC5UewluQ>o*Z*$OrT!q^I0WU%W3a(;+Id5MguW)u4u6>;;Q)ON-Lfq>! zihh8PekpqgjHuDSsgBm#5F=n|B`blbd0Gx2u!xIvx`v#{Ojxw)JelvALU3;E3HE#(E zvU29mE-ws~$vr$OF!W#|xVO@vY8Lh?A&6l53kB!~500Jus)(6GLu7*M_V!t(Mp^(R zE6bum>i%ubr;PpWd)hj!vA?B85-2RQKLv(@uT_~}Cvkr}KZL=-<9lE1+EoQVinoS5 zKHTFb&<3Jwnndh#QomIxt)L8e!y)6$N$no~2qN;j%dcfH>k+qkR#OQMaZ9A zzz*meV#zYbY48@fS-Z) z7apNBX(HAPir#Eot3kTkMdGQD4Z>gX1gN|>f?AE4s^oC%K8Cz0UFBM~AL9&>exHAD z?YvaJnNe*5dvZyX7JFuKp=x#>&Ld*cVR*CWTwSjqAoLs-CPEd2BHFNdD}clm*%{M8 zB*@?P>3`>vZK#Whfk_;p1W!_+MOny)IzkwCyZ5u8=G1h{sm5> zH6@jtsJvJViDgS@c7At+xjSDbFwqDrU-XwWGJn?~Ol`6|aFkD=QqSYS#Og#QP@}vG zqm;TEHVc-+BqFAAY~cQ2Wxic;nzxYH=3@YLnUimw-$QoK3D!I+Z+p__Ahr`XM;5eO zZ;!aInMo(Cnq(5`OIyvQ3@8%2HTTuJ=QXxi>7j(8_8h(~K+S6%S0|K3C8#;VY2@wI zAP7=hpGdIUvBm_FF>d>1j)!#C+m>PaBN8x6CNROWyEYjPc`n9FzzU*pDZ1X;JG&f! zb_j)Ja8mimvY=RQ_9vM^LwAynd>XL}n`Tp$7nWo58Z|CpV;4l3@N$JB9Q&cyf$?Od2ixF^F`Gms4){?~Efno+&g0RN$`zT@Z19tFse_%5aMrO6S7F|pzwNZ;`e{DD$qKw;q+nGe zK@0y?>qEJg^gr*jLtyh8;_8OYK6M$x{V(kdGr|FlIg-^F)g#-p9|J5N46i|l>3>YkYkUQ zNd^w^y>*2jM(mm&NA|sSSvL>mWh1xTgdyvzLWJbOK9<6p*XHC zBH!SQ=XeL>^v4gcVBlkp_?1*f;2|bepa_5U0_qz7QUy{$@dR-^brRV2exhh&bk1fR zSe#ABf;rBD4-bPyF>oScp2C^JU<{m0=%F%&?YAKKvILsNON#C)Nvc1#wK}0PPtz7r?<_jJ{zySrUE-s%r1y~UB&g6>j;RkQ7$h&hFqN|*q+l< zaG-?64?UZ|-5tc+ZyR59CEQWfEPHl^Tvcb@WtFS?AnKhygW(E>@K(N}6Sbt2JYs5A zuL>|0AY+d1VGGR3jr2$hXU%i8W!o~okmbGxw_lFe?~)+cBr9zb41#`h``j*NiW}ZP zmA@2>Hgit#)+ngaDS&wW#e+jhzrw6mkSb5%c{-I1(tuwfq+o0l7G!`8;6?_mp(-Ji z9znXYykU|-j8cCREYe#3pOm!K!kP^EkSBuHCqq@fNoX=ZaNGIwQ*=@ne8CFYc;E^@ z`Iq%6Ik!JQ@!!)ih<1`QOShl(*1=8R64{ka0x^QGe7HMP7kPi^EPv^|Zdo($$ii~# zB(}9tpK?K$bHyp0QQ>DuTW7-|; zt!S4XA;lhM9kAk7=94RIR9J!ngqsHgA2!_B>BxiFO>!UHePW#C7%;w+6mQ=n#0*#$ zbfsV9pa6#h-zNM07EzVI)c8!B{`vCJdctrWq0{A*; zUsd0Tba;(b?a0i0%yNASFr|=17#`f}je&*Tc({lFVlTMNyv!}+FNbA(xK$sqY=Hp; zsg4a}=ZqxW8+UOU6kj1m27(mC#2%4a3oAGoRo=t(m9j&Ks>)E-uziaDsty0meM%aE zE6QqYKc|Y}qvY zA0U3@;}mhjH(GtXeoPuTqbi9~$t=B(({7B2E$)jwT-|FVL}z>ZdN*yG-mmLsQ;eQRtL`@%w;P|9EU^w@`OS@XzZ{RD~bzS?!;*T;hTQ_hJ=7||(vJuWLQtdg!QzdfF|DeffCRtYb zcn5pPFz6WG)}Qg4+%`OEUfTH@G}FBu=tky#PbjW$(O&0Jvqro4sGGYN`~l8iy5HH0`W1I< zFj#JU8?TCKKr2s~aTu-J1shQbYKco`#fIMMT~;RZeY{JM*jM4$ zCh{Wg;;@uasGWVI78zKXG|t8PWG0XEw7RO^q7lv%qmsH_6h5OXEKCQZIyGipC56nC(Ps#rx_7KWY5^?C^GtbAPU#&|MsIi_ zgODP~-gCWK48rkINL1eictpH8zr9g1# zJtz7oiqZ1+mWJ3* z;OO55XX3IEdA(lSp51e=g2@L55tn|?Kd<-r}+n-%uORSA;5q+*F zvrN*}`_YmsA?Ko%);#8C4l;~duy+T^?)blG&#~W%@am(7Gj;mX*k@#jY3x=GuN9}3 zIDe_WdxC#Xmf?qzbo~Aeu{;J)QM$7O6nq}Im!huX*A)a+8u077h+`v>TJ;}DLb|W` zqfc=6PN`ndjjvxs(s{rcYZAC8OY}$$$It&dnczRErvSeD^&EvHE!~=_JP730C$*9b zEd5(arbixP9+R+yDSBEvE|p}Yy%smsXSh$SpTP2n`;~x|7K54B6EpwhlN8>s7k-32 zGN;iZbrI*n7+Xodn|pY{3WWL8$SpZNh;*pa$%X@EF>QC7dobjJ8dd9aBy*r@%mUD+KDi6_V<>kM_7{?4Tq_{%@lE)HtXkni2CLLkX2!Ce*LxRyK}0ji^e?Ho1M zo4|WdNz{66F`!dN@8E z2*@t*Jp|bIGvBH&LNx_E*76(pX(9N{Or$?qkK_(^kLSc-;Nh@L zzXgQ)mx91uIN0n{@lo;`V@CerrXr+5lStDn@Q$S!x)j&oGWQj@dJ6^rK?1KCHBS&@ ziegCCg}}lSks00$;Cj%c<#r^N07oiWa}rQ>jRqu203O#4z3FbuW zWwll+t-;1ySbj6)PSxSp<&~Ls!bbk0*}8_~ca)$>!T_}a-V;--kDEm=RU%4=JsE`9 zrm6};J@kl`nI)Au<2J&(|0=cXfVinCJd-o(<@c_ZWl#e1AB#UpujX< z`^T7S0wJ8TQ&$^i<}+bUw}u?W$QHiImx_mVLemH2RRHj6kHdDfwMce+v>=;S`m^9? zP2>0RGOZ67wFF_~0KkID98Z+!PbK^0?BB7043bypZ`g(n!Ls|ocO;e*0}t0#H!PI- zm%R-(lARDS0AD7P4i;WI;uZ&AJNXAoHk#42S9WPvm+st`P z_)Wee=ps*Q*#gyMLN}B51}^+?^)PkbvCjRl1NqXsd^05pVCjwv`s0OTb3A1tHhQ@$ z8idQ3ZikN|C|Zu_<$kfQc=@j8Nz%p7T~}xGBdYC%6kfC0*|C6bH(vbpu2!q>e``GW z_MW_Yo}LrD3l|p02em?+%*^TNkl(f*EN|8H)wd zd(uy^kfV_XI4@!RZ6Q5hI~@{#NA46jz`{XnVg#w><9bSs*zlgy>CL0D|K4;AG;5ap zgu5ZWL}b{l?gnjyYy4IaSlOZQcIu7w1&xUST|>5cIvDAj&kgEWo5Qp?kkI!5U)VM# zCtZwEicvx}&6=F&Zg_}6C*(@y#QaLW^D}N-b)rczc0pM{P+p4zaXVBP#vG+HrCwYapCl5W*PuE}EM!dt-AX{uVsiIq5 zd(kQ{4FM`v^V=pCahs#)AEi`pNfbjZVAlRp6`ChOd#@!8(B`7rpCYMR#JYT(Wd8O? zg>n6bq&~4#NuJzge_lJRJ|1{o1H>8KOH={5tVYF&zE_`y1q6l>J*cxEB98o_-^E^h zA~$N;A$o%WC!B+2z ze``{3zQ3kOM>kZyGMi#_Q1gCk?H5?!VSAD+HQ~_+ZoeZ&9gEl94~^YQ24U))`j&XQ z)?B$=dGzsXn<=VXenT>+xM~o^>j%T157?^-82FPRnboKeb}@JOC#MqP?0M8_nxzV? zj51k1nUDis`LWfw&+Y=fh51MsgWE=2QN(d2JellGF{uzLo<-(yVwfgNNo8SEcna-o9Rg);`4Z14bq?m~mauVMSe9C_?w&id;)a42omkhh~p&kJmp+o!fe zWt|9h338KRv+s=6^Ic4E9-KR+(zY6t)HUL|$|OVc2~rc@jl@y0wj4}5c1)C#UfDQV z=iYY3IXD2+T~kv|(wgU>Hdud|GGe;o-*LV-X%gTuE>zs>9SMVzMpkOj)4xZnJ@9Y6 zYl)SpE*?CxQ2}pTDToA)36?RHc;&=-i#3VtljK6*f#o87Q9cpgbJ;LCao?bQuw)xtwLn=s1UQmm#tQT$IIL$tc%L*2=%nHWjE02 zecucC{b6cRv6Yz{n_uY=FT9$oxTX65&hSUK8>;E?wD`{5fi>xQf?Zll#(qCdZVlxM zW4h^1SS>(T+KsLY0kTe z>MED*JmLrSH5OqEx1)$dfplxY+n*!R(8;r`KUjadY;Qzx-(D?loKHqi;Z|x$;@r+G zKB>#(XDPazwzAEI1!)Aev3%lb5R74aFs$$NOkR#upuT<%-b`MuM&STR!7 zTU?4D0Imh0u~%+}8d~a?fFS^%+cL1|n+)<~O0<_^TB3p~G)RE-3<>+y=SGRsAYJ&?-LWGLxyWMt9{AAz4T`t&% zX83m;vf87iDL%gR`wzalzdkogZg(Veb>fUm)vDy9B0}H&Vm6B?e?Ka8f3Q~R6hwRw zseXI1S8KkSdsQ9wfqwUvHd)s6}dr-rr7CQKtJAL@W@>GZfX?sfNd4G#3QPSD1?t3^cPNF06d@TzQ*&^t@{jIglqkVuCkNBhzC9q8TArMuG4Ne60f?JJieW$ss$%7={u}uq>=Hs?EOZ zkkUhPjV#?|@&jZdBzWP6U1K9BclBIZQXt1$G6od=>9*MKmPdztdyzv>Fb(H`&Ksn* z*W3NP{sW&N@5s*vhO>KAdVxhr25(J%{^BG~+6lSpJEhws6mlBrNYT+Kq?w#AN(b}q z?wcAc1=}~@0%7pRmCos%FZl+qO=51moVK~WoD8bK?s^^R(I8Y!NNz}8NG-c9;{YcU zirCO_rhD8EOT29I#dVg#C`k}VR?}AquxQOwxdd>>z z*F9Ag0vPzu410#(p}f47OZgo_ruOyh>})fP43Mvz(9X8=1OOYJUsy=3CNV{H4~V7= zFO-(Vxn99Gr>cjG)6%%1UZYO698@!|t_?MJXD5+y3(dBfcJ~_{hFd$cW~A1%Z`{g?=dbhPJ!koSV_2xCs;-a{RjibPqGe?6*Yt3nROwl#fQ5;imW&a7FL;ee ze=R4Di4pgoIkVv{O+(ciN~jzb*=g-bbldrj%8ddRJfz1I$+f5_5f2+7OSa#gY~@kq zZXk^u;&Qn*=9C$p7`y}CwoSMOE>Y1qOlOMCM8C~{LpoKH_lBR};6ZN0Z_g#1kr^x&K}o;D1Z?#a2v~CjTt!)k1AaE~jl2?>g_``@VF1Vt>zcZN0Yl-X2h+@I|{C=66DlLAv z@qB>t&m0SI9WIlB(^_2JFN3tsd8mhnn@`%ix2ezatEE`91jUUE*7_?uC2_VnXO#Z{ zQa_`hBBQ0HB}3Y7da_mp2nf4g_1%8aF&veY(S1<^Z2_M0m6E9rnhco?%8has-S~@Z zFjXz9t8;3Lv)R*zduUOzuqRj_pp>JzuD@t7Y;vL`UmHycP3un07|nfF{AW>$ipz4U zT8pn0X??Bc!3Cu?tkJ9+chNgo+)Z((%O=Pn!xp424M8!5vz+AKk27eA>f8@{DxW(7TnqoE03t~NXvx3|E+h>N&A}5w}i8_wMrup!>~=6E5V`V zL)Ac!i^0iBT+hS)r(dOSBAHaZrzl`~*+)>~G)K!{46!Y(%gf64Jaf)8rD_kV89eiJ z-=lsoNm7)lUCxH2wl9y{up)&$?Np*k+2Mg6MM((tK1h(K{iXTBS=eV3lTIqoN;NnD z-dz^Wa=Rlv+G*_R+QlQpT9^$sTa>yk1si1#IoPlqz$ER#XX!m3G<@kMC$gL72MF7- z8kn?1>M+Lw72(mWl4*+Gouyqkyt|q=cMq}`KB4=6*H^^^+B4r879%0lxxtF?wAe)9 zv5wdCuiE7eWZMHiZyHaH#4;ZVWxn2ze{a}`gn*}8m?X(nKGO`G>Sb#S1+e_&wXeWXc2lEIlqO#J`C zZ+}0*)(Aaa8tOEl4{Mr^%7xaco#!$r9>m%8YWw%)dS)rTbgGvfKHO-xWOV8&0q-+7 z#%^$6F4>B4Q}uxrpSi|^zozb1 z!hzyC+~4GG;Ib*{rZA(~(XNGqh+u!|^#*V_X|xObX^&4vp8Ex|)5?9&39;lL=Rdr1 zYY_9jfq=0+X{GEcILAFqv#ML09K2aZZ%2xSVw5m=DejPX|MBb$uheTVO-QmR5bTqA zREynna+e%u{xPYu*LzloHva~-PSsy#G_>@tecU18zqcRul~hiUt{I1Q%X2h6e`6<$ ztejBjYuQZhJ!ATTqqDqy^=e$8#k8zNU9H_BB}9-=;cLP^-8{yplnM_OF2QP>x3~a* zmKa-73el0a1bL8SJ?KPpk5UZqskQZdhg{i{Hk_uxtgMQRPx=u#3km!|ySNWkF;w)_ zOGL?(Ft_)zUgW{^VB}LO-c9M9?g5x7wz12C)#U5a>LjV~@RouM!`Nt<*9XuU>wzXx z@a9G-4q&l?Ts_)Y@f8TGwf)7kR?NPii&Khv%= zx8X1SVhS81YXOZ77}~=@d`%<^Lcu_mdd~rTtldZz%5Oz1?ksOprj z_I(WA$PiRK7pu1zJ`mq#mdJxjuMQE8#O|~k?Q!czOm8hq&FjyVTvNpG8F$8s!bc7qzQ_2 z|LEwRYIfhTF{kV<82tOe^@elDF1e}0_TrqP>&Csc%9j^WzQVk>+5T43TbuL2zOf^6 z(ahze`Y;Z&ya+R6BGKJ!XUFfNI~Hog?vBo!oSdL*)(m?Ix@JyydvvgJOW2=H_P+FX ztoX$c#1g!kqO)xQ~KDdlen6>F``;Hz%01YN$b7xVBo5SY6N(}%(m4{84;@M-kVf(aAXUqy%8CSd!U*DGIxfMY}*L?gQ=*d0g^Q{nvJ^B+TXjd60#Xpx^`D-SxAsj z$%DFe8tRZ5Fq+VygONkxL(|-rw7FvzggISB0QT? z)3EIN@xNu9Gj}EY=Xg24^ww#GXlXEGCIbfSHFO`St!CtE6{`5FymLD|1`Xstj2{#% zTFfz}Nj}mpw}Ic=IJ-hs@MBEriBPFH_g7at^qgpNrLNIW2aHddcER)pdKME!&X%Pr zkrj)FWZz}O5u@6mdj9$tDmTny`m?J|mf*kX&#LC5qjh-TIgGEa_hh4<_!3NirY%h4 zLXhiUVjzyNJ@4Nr_dElqMDK%teM(|Pps)8rFn>uhDkd4w!J!xvBY1FirCBTbXQOBb zz7m)XvoPbIYZlfW`q@S69l8_|918fqQihXIvVWz7z=AJL-gf^)Hzs2u8^mt%zic_f z(&YbTV}b840DyztC_6Nx;9u?hdqPhgFTgxo;8S>v)~t@%lT_f9A#Pu0dl)PXN*i%0 zTC#dj&5_FZ988u4^Qq+oBJ)4_{01W9!`Hq%lQ#@S4yZpw*A^uFhVZVx_$Mil4MzJ7 zh5lMxE#r~Vl;|CQl3wuPTd-JK9CdMl!Ob&NkU!MApB$RSMHm~; zwjMzyczY-UDm@P$AYG+5+S4g*s4smW^|W10W*r!|&)D-yB#}V(Ry^{Gwe+*k+<(75 zaR7t%_fd5b`$TN-?qu_V(*M4dBC4}i96#F`x}>~(FEHC6N+fj@pVc^km1gMsNG^D9 z^p?8aI#R8e{NRMRX4OqUnZzWXr?gwvKB3udaYYFn zgnn;QJtkX92Vb%wE!47ig%8O<;?W49hm8)+4Qhze#}HDs26byZx$5jqUb@PliL= z=M9x&?FzY-evL_mq){LENm(MDwEsq9flk_!Cjw|SaxfnhFjiGqM)y^QUhGww zy>#9OUL|-pWW%lFT}Wi3)*OE(*mDyS{ReDPNsn|4>2$u&HLp%xXvIU~<*dA;r3zg& zw&uBhsWW!Yih>slFS1(~uBiMGfRaCy}NScsbWvv(!KJrvM^QvV!Uw zj76gjiSnk(=-p5t^0pg6Uup8E&lm=J9INizqX~v=7XM&&7Rd(ctjl`yLc3grGI=tr zh|1I;kosC~md` zua#tA6+yA2Tk;~`=?#|4+AHT%@+DBXxPpB!G$^tRe>bi4wJyv;)_|4Xd$0G#~%2Au_yp-Uf$*lJX!e(wrZ2?-XIy~3* zY|^TTX-81csAq~^fCpbLR}ZAn}~_P)i}uSS7vUsjcGq)mH0` z_rX!=VyA~ zfzdaQ@l`FeLq@+st@RU()ujDxe`WSOH&8nv8*3(bPexO1@d!FG^9p(S8B2VSbR3(@ z7p@9|=YXCJC$dtxPGt7uXbkD9of9-45fZlDU*$J{ehR`a_Km2iqKVq z?+OQe+}9f-_7&(N*^qiv z-~bfF!-beMfrOa$^$JYQXyhc%>Mi7gs<1$<4eONxUw*ek75F@ThlVG=D;*KJkA_ zRf*yklZOxvC2xjkE!r){0RMogUNKT%(>+46twE5hiI4A(LS>I^{`Imfw-RPAfpT5G zi6d&@mTuJPPR18&Bmxa@(j7B6HfPN?{Iy{d&~{#BZlsyE|2eLT4}qogR{a29K{mz> zi|^|iT}j@jfn&T3K%7-+&tgk}A>}%dTroM%J?`eCG2rq=1_A;czGComrHGtnbZk1O z)lTNE&->S|s(^MtBJWu8lCMrZBI55>@am4w6N`f6i$OO?b}8MsK=>3DwZnn0fAw=7 zG{pb)s=bG0g$nY#`i7O*Cb;)M@A6++us@nBJydHKu3u@B688A z>E3s#>0_k_2(cz^nBfm;rxym>AGgf#Tz=H&aNGS=RE=b$N25?Eg&b) z@AlH4boup(2HW)?tON#}aHXp%DU7TX`xyhCGtyY_A7mxs@^MGrFZabA{$L)i14A_b zOR)buvQsqJnMO6|%)D9xNp!omCza_U(S(E+5a=-JDS`x)CBVwHW|lykBDG-6wd$W( zD!+te2LvS|z`ie#kv_JUyqfUAZHZe!e}P$#H6J?st@h+JjJxDF!K)sBqy^Tj|0c9X zf>;ktf~SrcSK9^tdhQI!YC|^)Rz&U` zG_z!We-Rv$4Q!-Ov+T_=cj<4-Q6sACC1dS~V(`=yp1m2nAB$x)rmz|$o7_K$E3=h;Mk4oiUp(~AqbFMqjZu&`W&#O~`Z0hbL)tdX!}XygF8%~?q2YkbIja0!Vz)1D zB2qje&W&LG#gCNmU1#Fc#iVHUEq3`D5GQC!z_yL6@tUg&Mfd3b$qKrHbWH` z*vk0Ne8pS>=^B=aE#vUK;N!Pqy!TnU5k}5`6jyG-{9JTD`rE_>U^g zC3rh-n+;6=EvkVX!Qq+UF#Z(6xW_-;qm`|N#=}$31{%VB33~MW?+T;et%332F*(D4 zIEreVX&;^GCygsnP;@olU@QPP;3a@hJsZtDqsm0ZImD`D01-k#kmVh51Pg-0WKA7oxxZFE$)M0&+(UEeD>EV{>VH)3DD<~B6Vv~A-DqO>|0jiD byOtFksqfbvuqOKVD;!8!Td79jZP@<I zPEHsY7-nZ@Wo2cTmzU?~=M4=F$H&K8T3VuGVgdsL@$vC_czF2v`RVBBG`@Z7=;+YY z)U2zkyT89DB_(ZZYa<{agg_vIf`T3%p6BQ1I5;>*M@OirsOjnHoLpR|r>BjLjmO8w zgUS2CJD|>r;#>OT;e*Cz-ysM1#(~yvmot>Sfr6pWEyz=sLc6N3P3yYeX8gg=SQZlmS z%p}8%D0p&6^wgH1gic`nf|_cOB>8V8pWwb-Vv4^nhI|GpnVPp0PqAl0ZMKAK zwI0diTdE7sz>|*k;KPXZzK;u`Hdlc#nze zfo7qOTvt_6DJwy>F6xb zR{YC&sIG>&JZ@;kVF{VBCDOq<0^u(f=y}a5nHTA;j27;%lm0Wd4q9w6DH&8*#gA|< zVf(tPPbvhi9;~So&DgE=WGlg2VeNbR(b(M}G&R#y1s1nBOBgQXVXlV{2u5Wq8M-L! zqb%{+HZU}vU!?q+5Go(LY*(>|5Yl|B@pB8I5Y&0TH|b*TYS$DEEf6_R#LKS>D4Efl zUzWmz7X)!KZ{pgC9c18!P@Rre>6 z;^%aFadFSl9~S*DF+-*B7#Q%Naby%G_^~5@83hGW_AD*^|D@(Ix=BCdWs_G5h8za@0!W z+0d-^$|h;Vb?*>4tJLL3Me;ysh%$4MEB%8cpx|sAlhygcG??q$*3dQB+x~MYib{L> zU9=iCojF8x*lu7%u=}-zGXPmO-`U)+kIba|dkz-}<7HzA4JC@aAR_v^kr_daM?;T* z&axll{?jIn^16E?+oqL}np?FF2jwX|LKg&945V+3O?Y*gugCg%c&-gg`m=i|Wf$$h zEdS*1RbQ;QU&-Pu25o7&QZc*g#;77usGYt7S+p&7{l6P2ZZJ6!^M`Vzm!UsLVrpmo zFIuRY*SwidOor1wga=b;pMNzCK~G_GoD-Ce!)4j;87*lc9ANge4RQYzCx68ErvkCB zzo&Op9@)FjyybnJ$qms!96!R@eC(*~(CRO~a#JHheQ{BGd)c&)v+q zR|p*Yx>b3+x6jFThSQg!bA$%P%-bYR4=bxD&EhfYQ!!xdSo71F^OsZ|)AJ|oHz^Xy zYIU20*Uz}7eWZ`3;wbwsKJ}XkaB6za)p6dv*G{7+yuc?gcmxt594$9--{)~YusT#vQbmR5L^m4e zK(s1F&_l7}2%&K#P`)&^8t;x?Svc_M$$W-)tu>&ufc?bu(DTAqI$y0o@Bepmr*1x4 zibXf3qn{oeuB$|4l6LMYSqs|}tu27xHG-m45wvpcLdW4ToVHEs+WKT>@m1Jz>@suPszU6YLNHU06GPT>@4b`eDEQ* z%%$!0BKOopu@Ka~FyqYL7TDktz4J8VbHB_<(`9=ZeSTV%DMXS4&t>g3cCYUFr5Gz| z3$F9D*)x^du1$-|G7e)a)32j)>iACir^jJ?T0uJrSrV)l_IV?>&F6Pp7iq?IZt#>O zUCVCZ!!0X@fHD)jVU94oJ{LB;0N6wIc^%GQKNPT zdUtHtr)kCP4o!FX%;cTL@{Q%7i_J*^5vs>KcN-qNj(=;>EJPNG)`7C;HCY*PG7m78 zz`(42DC;t|3QWX0r^3eW(|;1Gy4MIaz752`DHti|Nw%8Nu5ZKsnqu=LXQ1D90B8;g zmwvcs$c^7XyO#94p&6GDjBB#}bP&~v+b#>+klGZk-^G~6X-y3#k#&jiN)8wNw9ZaB ze`g@)167_Z==-RN^W1+kHx3JQr@cbVPw6vGyN3;>y_Ufs1~4+(BTrD$mK;|d|7MC) zvj7Bx|L)qQm^?Tan6J1h6C#Iln?dD?DHtTgmuk1dvk(;jHI$H}u9^?QZ*`Rc*}px68TvvS3&9hw^=Sy3QK>WS%sS zpDHQ#@^WA!St8C{W{PH}+hxq$S0Sa4on4Q@fB(#LYs+}|_yVx@=4JTdtW8+DyTWRU zIW{+(C6?O1C1)Ldkw8YZtB5Rn7&0zuYOQy0Hqj1z^c8%M%a*O=U`wsUc59cqUzUUn#u@Wy znn}A-my9LVh_M0o@#AITB=+;(<^i_#ig(=XoXnK3TKk$k@_|&DU1~5kg=YRJ3_l8- z?r)G~{z?$UPoD{yMQz(}80^To2ZX5i{h3_hIt;rX_Q)u9er_by=dDL!6oYT}320eA z8N~avxjfr+>;wt+4hcO5Vi4$XWvf$fRL8~8D<+j9J7{Elx%NZNAVQN;C64#4f}8cr z=a=tUaGX8%E3C?$C5XwygHY_|SW3N!GlOI!B}k$8EBZ-)Nt!-neS1~qfB@Pi0@kR5Eg@08!z z8uyQi2;<39sLlCb{Hf`|i75MD(;1|&eU|103qH>y`WiJpccgxi9|k;6yl7b>_ClZ! zfoA_2V5JLn-NqY!w7vtM4qRh^Z0fW-B{S;gB*W817}{FdIK&2$rj10jr>6{DM?9T9 zQra*{_nIb~$Y-+bH$!8J(drC-kcj|1T7*7-l18gk2(S+?CpTPkw~2i4?#Tg+Ja{N= z6lB`_=vSomc6S$`-`$JfUW|Kqpu;wwHd^D5ZUhRdFtq6`8@*fZM=u|KdR`VwN{Lrt zE7iLWIX2L+U^kN^cKMC1aGe%YdKEason#YvINA3@6}zhow>)Q&x&GaE!RFQk&SoKTeuLdr=4WGB9}3!YXYa-bJ=f8li8-(THD%g zpD?g&<$Vs^N!VXwb%YP6)RuEMM80r%D=}Gmlbv*CSavEXPw*{cu#~{p?2&z&u|mtp zy^jzA&<+)}d4)fT_g5Zw8Sp+2u?MWnwpR6EvvO1ZwPz8p{Ab|+NUa-aCcH)HSN4Ct zE9FMhWf?5ZIZ*nY-*QHBb@Yr#Y#@;C?4dv$nZbGRVh)&*&!6^Ap(VOy&vE&CQRJK5 zNzCPhrD{0x(2v_NhW~h~OB_l}X^-zIRqlTHQ@4p2k{b_XYxcVAClW&Rm$-o@D?8+N!^wkQVTf?;#}_}TKdGoUVCdXZXrI>x97^6Q6h;p|Rp9xr)bKolJ0Yn;uc zld+#sVh-nhuMH@-dA1nttd!%)E$RY?%_7B#erK0Tg=To{g7f#HvaU*dA;RDc)1pC5 z%;x4Sd1j7osm%{uwjG06m!$}vyOiO40EA;Rl-6zfuCY&VM*JT}t<8G!Uk5--b9aHsA+sq4sODZ8wpPc9 zrF&S#AA|@>WD7X5l7A=w{-WqDvpo~X(H-P9iu}c-=-D+ar#Lj@*5@?d7MYjxf?>aA zwV`D=%b!$HRujx>r*3Cu2=xkk zTafkZu^G+Rz|)H)O)QnMV35S)_<0Q-w#YAa)QUK!f^KbyQ#Ez^c}z`i60OffseF>& z+)@HDfYG_;eOC9&e7fyUI~|z0^oaDuTqML2pWGp{SI3^HL+8%Teo5(xEt8K6yiKaJhnSa8mlNGwHc9(~gGA_?SG+vtu zIp%oC*h@St4*3eX_1?cm9@G_+krF&tht+eO_D%LqOnM6ev-P%C!w$cqdCOj)DuC2h zqFHMl*ZHoILX)4U;4|?Bo;e%8pF=%Yh;?dlyubv5n@=B+vN}VDzV`8!orQ_Py-Pd; zkuqDYdN3hj1Fgjj*wubjd1UrH1My->;r(hp*{R1rXElXdc|Z&rRZg2P|ME?Z`WX>< z%MfNsFUMK|o)a;1niHH(&siaWwq{q6WD&A+(o?GBG_uT!xF-g^w)Fnc?3j`YSrYef zGv6ItP^w5t(RmMp~g3EG>o>fNrd82pa6sSE~$fsN(2eC68j9yG--N$YKkBZ-Y>+NTB~S$3R}*x{%mDX??Vh4 zI1EXnC%^ql6)pjAu#xGhyxfy(;5)T&h!6)x+n-S=G-KqAKV>&f7RWet(i_ut!mM3| z^9@iK5UE-rCO>>IRuS_i-Jg$g^A1*2VbbPqBl8HwF%q=Mc0K#yXOhIeuMLHUx$55* zr`M)8Lrd)fgzh1#8fq{^(-VVxRZ-uUyjMbnKP>wgYGN#8Ox#b{-2Hcu}o+bGZr>$I4C9M zLpB%y^OyGbrauM<6YKGjJd@$Em=iA*9wHN@?z0Q7WEb4UeMT#JPBV$}%O90xh`xO$ zEEY|4B=3x^UCBdVm#RuwQ^1voiKKBH6<~jCD8+)bpg^*xrF_yhv9Th~Vo@MeNlpqu zwEJqryRlAX(mrLBh5z)MjA=+f1!BDtmLjeeIA6acCh6~e?KaTUGj2OjT#^Tj!pXIg zZ4|dxw%56Q{ftR18x9cqQ5F>s$aDpN486)Y}1j$MSqOSqsG!M%CVby5Wd29eqNn2Q;y(BfJi<}KSv{xC>K~H)a^xNg-os9tf1FZg zAkAjhg73l+YLPx?QGW#=XoGg=L610<&r~A?ua4UudrVb4Dnz;n$9~ts_I6`i{{e*h9o_I%H!;oQ&ql82zy?# z*RMwhuUWSZ1{F00ZcYSkUQUJFzQo+$@A%D{o&Ml?r7J;6GTVt7mGKNYI2UwtAl0o8 zEPdf5G8fgwr~?@#&5`^(@urmb@Q-s^W)u&tz;71L3{vNA@Dqtpe{pngATBWA-xwiLTXOIh1$`oKE?FeqIvY<&ODCHW=e zy!#{fsz@_TP-~i!lO)~5*r>R{qI(65tB&GJ#yY-@V{nqAEc5ozJp8LY9$zlsF3ZO^afL4X3_dMN!^S7p4ov>=l;UAxU* z6MxtehJSC`WDGr+J=X5846<%owxHBQYVMQM-T+O^hfWq>NeVb^p)^FbUE0S`yhMzv zS5o&?XcNXj1e}6~4SuOd0>Fb{48nnux|A$wcwm(Ow|W1MH8}9{fBMiEos6u0ecAtP z?n4VtXdQ2s)K9+S^rq9D5D&w#HabFboP=cHKpz}LpMP1ChMvwhOs31S@W3yXa!m&= zswg^$Q7%VT|2d%RB38gUHJ&NRgzZ<`DN&wo;s;y9RPeDn!CVliN0bjEkmTYt57hP->3Fp> z0Sdc3%5i-B2m*JmtR4L~g0QID=;Qy!j1LFkQ|p6Xgu;)ewyc_=7+EqSl%Y0`rxk+{kIqG-iXNQO)Z}9{XOD98xKV4a(6>@6R z|7W>W%&I)D$bSf0;4i@11gF$#^ySk?5L`LMoMlO(wUtr6*GVpZm81X1yE&=F%{AsD z#5ffUdF(>hUo83y69T_84fV-lNu9@!3V3hbu)emje}Q$jMfxx5(5MD3xhbyNtsn6& zH&P6nA3m_(Pke0>2mE47gnGrmgW5Z1m1PmhimGCbZqCsd?UwQlz;mUhIA}IokZ(YF zS~65@m0k~IYU8QTzSMj;b(IkHc6dE!Vm(}FTK1-WgbhPXgi3J%@%@%uTpB3r>TB@b zGLIg#(MLOOk|PzDr#w}$eC=o&{9^D^K3wXg)gvyM&_*R|6&1*scHe@Rs)kt_Lo5if zy!s)z7@9;FiHSkpum3+jVdBhf4m>}F<8Zb8k7}QabtpABoc|-@hsB@0dZzfP2FCxG z`4ahF4RLUtiguyE05hNR{m$IZR(t}{EFb}bse#w@cPN4+=)QS5pfZ!i`Zax+?XBjG zXN8TV_p_7SswsB;mod1Q4Cmpv&6DFf73DvKW?E93)!H~vK*8|+53?CH z8LIbopxM$Vb~w;APG=F~^==m zXr(gHSuE?4E|<34UD+L_|LrS7Laq*1in}d(o$n2?s)IRnc4l6f#mvp@EXewMzEmX?_8rxM@!pnmS^tt-?8-TM;IM*FY%f>X$crxn&oF($V5c&B*(IESpu;S z7l6c|1g0LmDA{1kQc06_9irxW9E8CvO}82D~R9pv0VE6pmg+ zp6&cCz)cWVqAxIH1`^Wl^>ber2_ta7vm7OqgHtTdncns26*Q_T1MSHuw_38u60MZk zlYCX!jT4oU#F{_G1s!J@?PY7xFx@8k)5QD{V!_mc0s9y0cir7Tc~C&$;)5*B)-o%O zo;r(~d+gq{cMJ{@isNE0LL=(3e~KdL1RLM}$PxdB|I5w#7hyVXAIpGf?q7%;4IzKk$qImZ?uGACN1P@;uEtm94afDoO^(BvEu8H`MF>z4hoidFc zLKj}VJo~F*Hdcn$35SLe_Q>s@&Y6-x`WJ+@fFm5YMBuPSA_>U+HQV!{Sr#fks}7EA zx&kPF4uU%-q-G>hh;Bb6182a6juI8@CCLDggRXu*Ib1*X#ZM3)AutPI(2n4T2E1XE z^a68CkYz0m|I6Y!4oMZ?d*MOvMrhIl4tD`POu^!mZla$gQo~7gHo;%m51WQ1cQ-il zbL!m*T@k6fEQ&oQn;MUo_ol`Lfn5EFXDI(28GUgdKVU>jQ;UQ{w2)p z_0oUWc^uaxI06MTSl25jn=Y4am805>J-3OC4Aw*DOHh;q zLOpGm3gD}+x4aKAzXIn#@WnE&yhHttyN1#fn(?J5x@E(p!%mMD zM?AqGq@L|><^3e(=VGSvNGmo0e70-UEG*z(?4Q94RP^IK%d)@C!q!MD$e%ok@2w-@ zKrSLpnQrN|w&o_Z-x$)oYqHLX&srni$ z@L2203Z64d$osv2t5IO=d0VZYc&&YST+q?S?XFsDwP8x;pVjm~&GI=%oj9ri!qRlK zDswZ`iCa>Wq&?J+Cy{rT1vHcM_s=7+UVSx9aze$MZ*a}_T#~{S=c=&)x>wmsn{{rn z>?7mApHUwiX|*6UUP`gQ@=sdzI5ljb|FWKN=UeQ?j%7!%X2-m6&RF?4$?bZ*H9BDWV=;>a0bEjT}#FQ=OsAl5}pwYu(Ltj%c_ zOzHh++JFb~wKDcSwZ}2EdIvmUYkd&HgKQ8Nrabfoi>6GfAGm`GFN->acp|<>1;o_m zEkj~zNy5C6iulb`MOl}MG#iygJm?^sTnAW~yOFXs(Snpb#NJ~WFEa9mnx@)f;$8MW*(Z+cTG&1l)Scl+V+YvrIUTN)Vrqhs5TpYKY*uloO?Li z$=j0}hG^X^p{4Bzm}*D86lsBWlsMFVII53F3W}yx^;nm{K_o#>J?I8iH9^Pxn(l@M2i&soiMTJ_Tx~1(8&*n-p}v6xgyHZ9YnW>~(qSvhjzM7DBKPAr>Y<)EoIZ1vVH#G7 zJ4?)#1^ziZ8De+;&*zCBa!wt{Q7LpUd*+v6PE!CIVUe^thq{6wYllW?P{hKxk^dFy zz|_$fb7S#>H8|Mhu`m|vn?2Y!w~VkxU(WE1bn$}FLjtQ3wxC{AFn`})sP%-;>-9b9 zDIlTsgUka{@4@Fkdma^}HUR7PkTQ3rXQ2EJhOA=yxA0_Me81+Hexp?B&SaIZ*qjmM z7J~^es%1{b6v1dqziqPXsm7@jX5XnL@OAIRr?hr{@*5RG@PxT8A4oymm>@OH0_kNn znrot2dv+BhzRn~{Bbg2|fe+a`H5hBY+j2ts?W%yt8)w3Ao#Jb~C$we=ML6-NulGd+ zOKyjMyYC}Jo_IL{d`v!QIjyQN(T8yE+aGytq+tpUcr9g&o69IUnXBFcQG>8i85w$amPj+PX9^5b{&tvlouoxaiO z_YEFhK4L81;%s$t${Y2SNdWqbhlDqhp$Mf>>RHj;#IyBKgaLImEBooz^^$##YM!mN zcZ~9l9R{aBxp`@X6K)+r_Q+ZMr90+1F=#Bzf;rWIZ!xd)u^k8oX}}*2r7V8?ThLW{ zZf^fMaXvTlyf(p9q=YuxZ{c+h#kME)tKimHT`rtS5rCwic25Sd9;L3zkcZU0@_x>B zHIh|IF>Pt`Sf(?uf?e1h8z!zz6^a%yz#BRz3;p&{iq&$>s;kHVSHm>#h8-ts@5})l zyM{F)Xa6}-Z zEbHi)5E-ExCp;O^!rd`feRZy6{&b6X1%-6^8lml|Lm}sBs&OGib4XQr90RYlj#W>E-}8L8?mf#L zB;k$r-`t-+al^mChOt|dQEDqTL-M2wzxCJ_uPQmwzlYdVT3#B=9kabPzB_M8G(78EzYQ zKfRc8+Ul*$tQED&Y!b@jFMXYqfp&RjEKcW5MWRpSRyOBFAD- zTtIMSJQjWiMby9Dc`!a~)?7gDg$gxe>r5xo=J@lbV86YNL5QLDs##L-WA6_w-fMw9|vE@(ifS&2`MN4Dx_qs3IBB=Z831w|TZ-s*0!17!#$6 z<}I&INo(|~*_Zjt7QsR6+#;!7#FM1DP^(k!)t5kJeXmY;4a~vG{z!wqM@Ti?ykAF} zb@oLQg4aqkh1*%tkm>sXIp_rQoRMs zs7ZNxoxg?QziDp&;2MNOwg>;WH1q56A*h}s_nu|i+c79PC3KmLq(dE|hAU0+Bdz|K zn{KCkV*?Yiga;CvE)`M+j%6N>86X+W&=!P90A3^Ys8(I}_`0lFxR|!kgm??6Mcg=J zKFWSwzEG{MvJ%+Xvc#B0-6(q+G_n*sMgJ~XdE*`;81H+bax|k6_9d7t(IN>c+?km) zMKDO78X)@t3N;o=d6F!>rw3TSlsg}dhj};8{t8s|zo$CYNO`;H8U}BVEvt1x5~*H= z;j4zuABX?m*uCJE`KuXG z!g;A6k+;^?KVaIVFNOaeC(_AOKZ84HW2VMvSrj?3l-HSw*WV94lxOlOe_Jr!A4U|R zaB=|-0aD6NnPrLlg$d)Z`=;dUJh$lCYA^Hh!zVi2%<5OZ0-J!bDa-+mFnfMhgf`O01{ac@B-%<5&74S!0 z8vQzQj)l6 zzp)kw^v!j6MY3QEG&$0~X!K=(>H-V2#PzWIG9xZ`#R~H)NTz2~g>Le=zMWx85dV_w z^dN+o%laH^KGC5cSoOVUN?4%s^2)rT=QUwc+cx~r57&aAwkCejLrs4Cu}7&@aHdQ) z74iGpd~#u&8_DU{mB$;pFHGfT)E9YvB=pGTkfTNz0Hq6TK|srzrH*q9ULg}MK$#TY zcMqrGFX26c7J|h)ZUQ{sCPrE^u1XkFEBh}rse^$pN7nW+d$F6OCdeQp5ecL)DH3^I zM6FiLfSupfa(Ti-L|Mp?tp9Ga)8^Eb8G603?7R9@!Q6SvTdc(cs()xjhq9#Vl4AYV zIZ-J=*d-~qv>Qv#s$}J_N>S+x(2$a?fTEpU&6t+A5hd_NGxP>MpaTSbdNxK$%MYb1 z1E|IhxWYIE;aZE*8b*XZSx1Dtt(7yeF7CDFm&#_M(vYaab7*p~h!izG(a89`&_$%B zdFvopEOh4}rXfRDghL%}G)60Vf++5Kbm&iava?P2f5LRhH)(kT!W^l9( zwoOnIqKalnjdFl-`F7?=4So_gHVEjatgIwH6E*}ya&WZJ9WK3yHqSY{YqR&QJ|&od zyT?g|MmBEB5@EKK2f_OA$05sPWe!zbLex%lTA5lQnFs+Z6Q?Kt(DY2J9MzCI+657; zQdnxkaN_P}0Nl0^2tF3C410}Pmeddu*6!88v~^j1E+OLjIpwiayrKAi zCqLc)g@2XI8_3B4t9&Jq_~(zcU;)=yu(jL;PvJ1TQ)k9``J~C;y|EfSXlmZEfOldU zGr+UcS}Z0wa5Z-mmnXdG3iW#)Iw>fKA4K6!8p?xuxPIeP8T1>spm!BGCM|VNB9iYC z_fvJ2G4D_V-yvHYN&ZkqY0DPEN5N71;ICH!7XeS>6(35*2oP#;d}e1{WWTe4XLoEt zyyD+LLSwYx@L$h=T8!jTzA=<*{GB~4_#AJk#S%)F13!ajQ1XZX?pA#Gjw_ky_2k0x zl&+WGXn4Yl9r48g_HXf9AkT)I@y^R*gKUN9 zAH!Jg1F_;s-M++KN!^F4cGBt=7XnM?o)X(pN8)dneePe70PA7i(p^ixXF$Z>lp{bz zro0dV>n^3HDL64D&$8qL#Ba3CS;BG7mfnUvD1??`uU;CT+_P z{$l6!%LRbdFsb!N!9X`8)JH+rhMI9w!&qz(I zgIPiV_&Wv~botNto<EhYAojS}96v%@L* z1&*_eT5M$=I(T#thI!?HR!mMzjBXy(p`>rpmEs8e6&XD`;q!MlsIWnxzUf=$sU}8S1?va>{{Q#Z_HO!po?8pe!e3jetFOjiT$o#LGf7}3e`|@ z^W}SDXPBJ&K6l8Mb@cZ6OBep%>H9$WfMWcwp@Zh)^46^d!7nE}z1xhW+)*YC*7Vv2 z=B%4gQ-+p^`(CbJV+%jUf4`o+4Ua+p{Z|9(x^Q#kPaR(c8180wVc-z%Uj~?LqfoEBc)PN7S_6OtFT~$mmg4wVr8n#1BJ7oLBx*QNGz{t zRDP&#J6|TlN(4YE1e!+!CTmP}qmB<-6u?N&VjX1EOk)Eg z9RP!B2!qM01sxJxf5=`?ph2eW?3Sx3Yjla_DLc@eV0rnq{_EB_r#lFvZT*X6j-Nro zSRLpv{47Ux2~3RIE$_1+dQSjAat0haZS}C$dZ5^(cPYwvF#w-X@N?V&N?3T&G+pB8 zQzd1lx*=tX+*E}f>sNyuht`qsUIjb1Qv6~`z!h%W_5BWn$x2rfSpMY`x!>`Nj8*Vq z-`$9QG^>?23qU`-^mJoWgXcUV;3&wh2fm=t)U2{iMOiUx82y3?fkF1`UQ-i7)W=kD zQz|J0DU9%qm@2#Vcu=41&9hhlN?zGq4!9X>^Q+lYtGA?R^0q%jYc;jtc@B6gZp<|H zfBk$v`!qH?qEulE#Z8pDa(m}b0;bR)cOO02!xx-Mp|@0!%GKRuWe31zSQEzeBFmY1;6 zShU!RB>m@RPb|CRu|hYz9!tj~$?}oBq!EVw_E%0Q!Q01Lc*Eyg?W`=gU(F5@x&wv|Ckw5F3(F21dKsV3{Q$@jrkjm&^lVrxB9jEFuPo3bQc81*rdooY`FcP`Msm2p$EVeONlf@{m zRgWY3*}^)}uvM%<;NNOn)Y^qp!&0pAV9SP~!FZN>U}TTy{)5(cpRVB9F-gfBwnI{j zt}jC9(@kFvZ1sno=)axl+lb}f_;w#@#~Act=VE^?$ix%|C^0SHB41;XYBM{jJPwZO zf^~^|T0j)z4$Fi{;JNr3@l-W`I8mOMxkFNbd51ocY)@&{wtu4svcH6(Obb}pHQzVM z)e9#ESi@@4R)p?*DHwRi7mS6%ze+6q`NV6szfUC_>HL@iGJ9{-F#TqT>CmXZS ztxf<1zWKQn7S&zM@Tj$8&L{vW;g}FIT`k|asIro0-qY6uy5@q&t%&hIHQOI}_ zJXg4Z`?b45@F=4a?P_$)!|P5mRKZa5KkA{u*v~<{1SFoDpf3?3D8`e{&?sH}C#MgF z#>V)?nK8n%u-j5F!{{ChG3fyOfz5dR_B}CMffq z*aIX+IP(V_V_R+@E{s)8Savm3iQOqukHvGKW5 zZsOjnV5nan03t0{izlg}N$k3}yuBOBoE3p3t^-*CPJCftC0f(foq|Hh48UdN;q z83l^nd(c1X7f+f>W#1Ngum6XH-H&j1yjhJDH(K(=xnqu-$r8_ND4Th?4J)A;1^Hhq z=5jfucnO5@LkmkU$-tCh_M!5_g0erX5>s!6!mYVpX=qA!HjpGwh}64AB-GwjvV#XZ>twhJ0W>@ z%Qh)l^ra?P1krZjqLB|tXoBSb1kngC_i^LXY859*rt`830I#q7VzH}?94_7kDLq8F z4Y)?E6b*nal_=i;7A_PiyPv}SnjoE*r47lu_GT1hdESZl$Z~KSTjG`bD?Mz@wkG^q zjXE;m_$gwnmTrh#TB7dpSIZNS#rq5c)&neUkt=n8c7Uhpa^(nxp9@xG1uM%rw;TD0 zEJx!t(qJxP4-QD*r_+SOR7_t%&urBz*XcOJA`R{$CLjW@ks+Un>-He=_d?l~yb8x+ z9F*cI`O7UX!}8(-t4=CKZDkJhB4{dM%ZCWL@ALfQ`uokL^&8EQC{MPV2qcY zKx8$fbra1Uvnz*_OwW&Do^&jG6HSSO6^Vmox2{<5fxJi45)Za9!(2C9XWlfc_u*hi zWm42}&;OhbT+&S)9cEM4KOWNSW`|j0)Y$6ep0bhVKA|T-XlTmVR{Y*^FdbMBJeAdW z#irGXO&KjMlxtNQUI;8lf6X#ya}6v0Zz zORblsJ8ZWL58E7XFSMw#QOT!o#|+og_mAV-jvM9ZW_`C3y8^Gdl_E5`l>N!15&c;P zoJ3ZbZ-kLfd%b-m7I3k6hDr-jM<8UxUSDrN1P_f$jZKm5gw_j%E&u=qIY~r8R5&_S zjyGv4S)TN1-AeM@wNhnAo}h%S^*8xO03*A7+{iZFhi20C z&*{gu5CvqX!kedw*ASBqDRr+vRs#zVE(rUb6p`iNB$n<#w&_&0$ch(Q#Aj{$qWFSr zQb~X!`^~tKU5@awZ07UcTTK@MzZO%e1xr4Jb@ldkZT=pH`<3bxkfr%GJ|}-`$v{I9 zS$YBKE>GuBx>bxU`ARxMiFxe=C_W%-x*R~KuzMmq;>GZ5mg`yicVaV36ES;KTCcDc zD+Lx>MG+1Qk3n0a<9n)DOGvZC#a35LH4J_G0@7UCmo*+>P3i z{cRnS)ZGEGnNC)wA0797aWD%Z10#%<$QbCuR?!Qh^8(`tc4@IDd2zTmq`G_m$CxSVcc>5gKi9LN zmNAgkz_VIr-EWNH80eurhdzrmsoyd9Eei+hngSEqyhd-31>6VaS-JCbbF;uYDz?uC zcn`sFGI##`%s$AK=jRfT)q|F1*${#km64_AWJ3qLU=mrM-DrRb$zT6FEcsS1Wdnz!8 zUmLuMd)GiuJH+-?l~?uchczfg(tvHSrK-HVs;v|(vy_pgjfk`RkFkAEV@z_vP)|xR zyI>Mo-~EFBw|8|fQAAPvR5Nq##FAld_EKv_*;8dJJxE&%QHf;F!ug8`RFZ=l3$RJ9idl&Tr5CopbKT zZ4@+nPBeFX*oHej(qG-4YsoYQ$v03Py>weQSyD3&g*+_ANA*O6eFk$p>7N;$9pzmVB!n8w9 z1tC1Of<20T!o3P}zb@g!In46~!zX30ZK3L9EvS!{mJ9jqO*V7wf9rxARmvK05zqTg zh6r2aVS9IVwr5}c#haXIGWU|`5| zb{r5HV>e69$)+fqRLyJ|p;?XA6e0LR+{qdc>t|&^DLMgMMZ4b=&WL~z+nP+bxsQCE z+f9j>Y-}R3Actx4LeGY}2v?e@_#d@}Bl&PzIQvzyoFx&M0LFAMr3o!q&C-AbWBWBp zvs*Apb*hkNjQyrfSYp9bd<=rcL9jbZ_>3WK>Ouxw#pRqg2zIUjx^Ra^l}rQL)W~ek z&ju8>>8`h|Q|;Y?)fiEuwAuWDv>vqL8_;aDhKqx7&D~j(Vb+xpaeEw0yI0<4cZQRR;uXb07lQ{`y9*J)`wAUFwOiHuOsg(a6_jgtj6v|Dfmo1 zV)V>?c4TFa(QGB+TATAcri#9%4&Oyw5zBsE*8MQKfKg6J*1ozj(fgzVu`w~8kH54} xnmD@1Xq)Jpu0%!|qAK2#+F$F&A6n&iegGvtw@E`SoZSEb002ovPDHLkV1nYWPA32W literal 0 HcmV?d00001 diff --git a/src/content/developers/docs/networking-layer/exe_cons_client_net_layer.png b/src/content/developers/docs/networking-layer/exe_cons_client_net_layer.png new file mode 100644 index 0000000000000000000000000000000000000000..0fa59d88dd1b1b7c276e8a69c772340737744220 GIT binary patch literal 7492 zcmb7}2T)T@yZ8eL_zEJgH0dZ+31A3CI*K% zfJj1bp-Tuzm)`Lo?|bje_s##_xpQaEw&&S-&Ys<~yU%Yo)<945@+FQ-AQ0%Xw$}Ye zAP@zH9C|O31t3}ZhWj88H=XwVyGDK!>(haLMxM&CeE% zf1v^bDRNyibcIYfKpKg%*8xWq;rq#3ymH98c!8Le9ouM%Op);6maUQZz6*sFFF|Nx z{P`}kZVc=ez&q92UUMvxeEObJc4O^J)B0>41R>mQ9~uKYslQvNB0U0g3l8_5q9l1# zRh)*iKwk&8&|A36>(tx?pC1jDp~g0h@b$_BPSmSxlNY;(Q|u2Us~CDtp5Go#B|L{fnwiwI|Y2mB=?{Yv=crZX5b4JbL|-{CHA{ z7Uy?`BkiL3#aGGiPMj3=Q|T?jo6k;phc6TQHL~ZEvifOALFd+y^CsDhm<9Zk4@nCJ zjZ?bW^8i~}&^tQT-_M}ggPMcpuo=zm=Vm1vhc4r+#?GP!6-hoPhDut;RpxVaS?anD zUspdnMlC78iwQWIG%Oqj5`5|_+buq8%8%o z!|cwS3N6j9#Vqj2V5eD7{l(sCF07bgJnPq|D20#vi>pbr_|e>_qs&dD0?#YI_8PsG ztWG}7Ucjg48C2wh#$H@=sufjSp~lPeGfgndcC$hrPOts#!rz^AKy?>WCyd$)+CO63 zd3|LnpL^Y;EJz@^ZJhzt7+%M9+cjBvyKE;djCO-AG0~7I4mJT)eVyl@Rm1YRKCsq- z`h<+C4Vor$KP}*qDCL%Pk#XqUc&{=ivfz?g zjqq1*Ll!-IF^XXX$)vsb+wYN*?2j+^RJ6}8zJbO(>Tj1-5?@r-lR`JylW%q znp@`*1=5PXKS}8{g*<`=xy97YBSIbEA}`Zuc@^WfjUa0VL6^CX=#%i0w*h+o424T` zC9QXuG>ixL92t+qIzzAjnS*ele^36A{cHTc=zSmUy0tFHIoflsQ3J#tycf?bLJDdM z;3k$R8azM0JxSbq+pggLK9@!ZX2%CzN~Pm~+WP*anQQvJ0bRWKap_IfTX-4-m-A4F z>f3#lK+LXa{1r~WHfD#$Yjnpx?u$<(*+I{=Y4+_`J&x`cmN1DL1{sY3mByJ-zF!iT zvz6lfgQQ-Z2A|gI?>UbKz>MY>9!$FMv$EWupRtl5Mg*Ur%C}M(34)GG$F7K~eYVbl z(WIfp<$#byr_*Mn8e$L#Pm|cN3+tdkkNGgngE`rp9dstvAl}Tq{)rQ98$%dW$>M7> zHAD@NpN*#W7I$*rI+IsXZWie5N1_S3h$}3w*h6mb7qsFz5cG-KS$ml;+FpG-q{vtv z#x>r@tHJ*WU9oi3cAagxMfy;CSm{Jtv23xkufB)AEovGzKT?RopoiJHxGa~mg34c=&43KiZm@@Fy8-KpFLJ6Hr5^Lh(v@Eemc$a}lt!u~aztJA^N6_G&S%;zae*FCj zC6~)CgJDCm`+Pj^t+@#Yz!p+8s94f zfkqJK91l|UK#9FIkCKt>pA$?^p#+f4lP7=LIJg!qXr)IP>QVLW9LEQ!e2wm%vwM|U z8Gvb(HVj$~;LbV<(5`9}KLvj~Upz56J$)DLxMyn2bzlNJ^~nDAiLhZO%JV{Oc_&(8 zE;s6Zxv8n(L`fZdJ75|mO|%RU{mPMVN(r*!HZ1@6$m75S#}PMqzZaiJ4H_0Y@$qMw z6jH~zc?sqe(0Gh&1N#bVaVz$%PQ$#)O*F;H(PP_LEV6+~Soa%az@+WOF{$$VLY}L} zwkw)Gp2ZPmFKTdAQ)~>#SFvzzTv9t8#dVF~t#%UEKlX~uGTP{?*Co?iB&*P_)>+Hi zcTUqTON+YAHtmJ|ir7_}sr|jt2+gB=ue;E>wjRB&sDyD+zj8#^qF2N1qn08mHV_#? z0ZO0XOXBM|$TL0J|=2ewy;vCjfj%_dB%dx?4M^ z90#X)s0yZvLq+IB`#-i;BUCYauIw65*66G6H_xvzt)bXz7l+VvV`bBhZ07wMRfJ(( z26A_5@Bij{GaW(IqvdN_Nsm$&+Rf69?*9A$i_b8q!i5new0TTcqO@wh(v#X_YVLb* zArr2Sly|y)Y}RU8D>+6in}JjzLeiwV{5lY8JeIPS8ZW*}vqSG0PuX(Eg_GKgv5GLC ztn*X4Z#yLnDryBim8~vhRPsiw3vhiSu&=91P=2eUcE^^=fS&p8q|kv*0)K`x zW_@Mupu3rhA4e%;w4OY(R3+&DE?DgwSkjgUKgHssb`olT#{a#x_LpW0m(DIl&c?tX zJ`NsFnpnI2y;=LYpfa4!R~^-8;GtMH6Np^C9unts9rG>XE6$gMLytaGj%;p_l5)~~ z?HD@?KRBI#Mk85yJteC|D$lIfD@Y-IDbMsnf=g%4>* z9C79WcG}!=OY_fX=z3t-y<`@^?m0WoqWz?D2Dd%uvmcVWJFw{FY(^Yam%b9ettLj_ zaj@s8vpo&;;YExKEwD$PWh-*(nm;+ODRPd4@PbIW-;O$eMSR92*T)gb6)uy$xkOQl zDEySxL{axhVG%z`7eFG_@>-@}W)WP&19I@^B@aIh_{||V(`nz(s>DNW1+Ge^Xk(JX z&cv<1)EsW{E~SjZ3oh&}CogTACoFOac)(7PO`+Z(bra__B>Pu1XSuc>hzn%~K!z9< zDpd+f!EP=czf)`BlvuDP;Mi3`JQd*nP)0lcutVoJVErjh09MA3czIdy20SCaaqTno zmdP)Sw3rm62W!EaBUg|&eUZg1E$~Syk~D>O#%X8XXn2>uJh|3c)c|e6!87*mSk&AG zjshS<<*46f80C25nRKTcHvm{ZHiQ-Hzi3=WC`8%?GDytL`2DUau2;f>d!T;qF2<*; zM{7Kgp?pG5kzGFU0)+*~LmDm&DQg*Y@dE*pUbbpwZtt8Ee4y+menT>OKRBa<&i1NN@U~o6{)|fcgr|U4V_3_>hrH$aI1&xKIBi7# zMj$iv6S~!S(sdMGTyj8P|3C$rgIeoLa2&k_Xh5Au(qm#!l_u7Y_eFr?Cqbed9XJQM zn5gI95&|%!$UNDMX+xW*n$=DHc=2PmFqBUO?^&TR=J=RC3*S`Jj5!2Iw<$4-v<&-F4QTToY_DHUlu_?=_)MN@ykCVB`m-SH)l^22X>q2dhKi7bAt; zS(WTEv~Zk&V<-Dko(LDF2_yUJwXpFey!$=$>}`;`ee(8uX7HGX5Uox3VXG8c820zok+kKMqCRgyD@5} ziLMg#m`&!*f+RfGo)9wygr@5q-VZ&G&ZXv)`E|B1yPK2URB%~or_7&Knxj8dA2t^ zmC(bAO%FH2kofe!p`Po61{cD9l3TbVw?cpY)@*0t#@F=X-mXo1hSi9aa6}of+iGA= zsn(f(a!}N8w!NEOQg~Ah5J+yBXxYCTcq?UiS_Fa!Px|aRLZ-qn}Ejc9^xX|vb&(a*n1>t7HzzP zc-est#W`h>e<$FGU`F<*X(T7%{gdjN7!;Krgfj?84Zqf><9Wu_r2&EFz?kH*xMzSk zAwN+W+Rcg8!Cmd>>lXuPpw1DRIE{SN0$(RI&BD41XuYB`z7vZikwL~UI>`3|Z-j@J z`9k=SY;fvSF{nK!2%cdNRfr04`)hW!<>t!Qb&74__Jl58qtNGeA;q#7X#v7-0pM~q zwWv13r=o)JDhhM$ zQ{U&Uo5=2UgLswZFVp3l*RbF!;BpZ^o^^9|ZOz-rMv(Aw@(QowxLf%A#+SNax#H1s z*zNSs@2{8>BIVn-9BZAvM?hS!9g2HOS{35GG8DNAC@?V-0f* zU*Ie3*YOM@%Pv4n$W^0?{-dVys3opLhy3URRuE_^Dq29v@4hD^5jg@rh_KRMFLQrw zF?$ivMKo_RxyA$8~jm7s~5TkC-HBBW>* z-vM6Y#y^1cM8h^0vn!FlG6^jI9lWjI?6?uwI^WCbR6_CCg#8t4eTR)Ljuh#CbXIQZw-CzNydQ&77g`*?mu7m3#K zms#veVUvtkMUzx5lbg=$njvnr@CWgLSQ1objT!BEdsWzU0^qEUiDX>2gX;bKnBT}D z@mGpvs&D12%)V2|U8F~ss=ifxs|*x}#sN6KCd6e1c#2YA5^=Wq0!2;)9;stlbUDmhP0# z&C7v>bRW>gCh*#z^zb{!kV%5Q16LTPgY&LG*5%kh zFk)Wzabm&QRAdDn2OAXtIwglvA#tcmTy0t`$_-cS(7Izx<~XSw7!Bgf!ZN0+@hESR z3Z5~&m!I00?UpfRps@1=1IqcmsiM0QTsjwd0bcBp=p;Ek|7r)7jl&|Fj(Y?KuVf-g zLkR-@^H+9ko_HFFq8=Z^&hc8l7N(E3%~aK}SpwZ1XrVyY5bw!lOtL`bqW1ol3_Jrr zdZ4Ggl$<`>=E`Dx9c(* z(mN)Z28o09;tu(I(*(Ftd`y@eB)1Y#FLi-A^SJRQwHDj#_NC%+(n>eKEIm=G&J~~y!vGV zD&Q^8tDuBH^?iF9$O*f$H;qJii}y%&taY`6WtAw@T4GsxOkIh(<~Qn~R(GYM=5WWg zK9CScYyI%}^aq_^$@P_$5#!i>#|mVNl_r4q%bfZCGqH_Zv`%-z9O5j}2lP>boYI0~ zNaf=)H{rh7qCYN3$CPK#VrFeky;W8x2^Y~LcU=3b6_XSH9oG_G{THo0{~u_LZ}+97Tbd`Is9uqq&$V(CXy! z%M1FwZGoocZWa5UW+Ro4+KNNt{z8Bil=U<+M0NU=`Db8%ivAx^+kP*DaT%pNMFou< zLJ0bU2Ow6Ox8J4kKU-`M`fH<%^tQT?HhnDx(kg&uLxzCsIF_|`z*)v8EgZmBxTV$! zkL~;?lAS3`=?+@{ElKxUvkv8hu})P)zqhVtfTmONf4_?Lu#tT5vKiVuy>Vl?CVwTl z2tfhDB8SsUf=4OMz^rurtWwSW4+HdN;)i##?2o>+!?DvZWwktQzkwg|xItHeW~~4` z$!+@=cl(su*Pg3gnhjhchRwbAb%m?eJUTq>_c?7oPc?e6jrv@`gU^vbN`Mo~1oOux zAIh-^+&z+^D=>{t{EQ7^GN?}$8Di8M2QgEr_t$qTF%e@(y)MmJ+#%Z=?WOn|dpBh8 zez8y8Nm`iqGG6e-%J-ZTw2G^|hQ&pZD)V+eHekwUQJN2BMdQRW6fj>!Hif2NAI6A{ zv&@1YNx*kxZYeG#Lk7WRcy#tiKzGSAw#@lV;s1uo82&#doAA*xBR!MvEc6|YjJI0%g50g=#}a4WBL z*aw}*icwa2pwO%3;ogF$N}YEtbNGFqHw{yjh9Q)7_wGSHEL{wwQhV)l-r<9>8-;wB zB|S7_RXHar4nCnzFHk<)aiuvFD`sNRWcRyR53bGCVMuKN2kTg>%7@-4uX8j)QZG`` zi59$oTVUMKLUI((p2AUyzq0LTp-|g;dy=m71kTqYMD;OjYCPt*pdXVcIj{i_{Payxt4Zt6AvSKXI{m93`MN8uEzcCg#yDNEy)i3ia9N)yk#20JkboO?i z92!hyO%0`zcVxg4p(k%lObsq}$8fgI_x_ZOhm8`Sb$>yUR_ zb60gv`0jF(Pu99|(%iETy`fP{HDn%4B($oRB%k=tJ9XQWtrbOm9AQm#@83H1=5%o z<+Jzd?Av!rIkP|uQFTra?sw>zmRH>*!(C8CE6Zi_0Vdb|uL@5!J`uL>^>OxWh}^Cz zG_(8(umyc=$I1VC%Ya{5g_3>x@08F$?nxhq48A~}-nIQfRa=yjp|?&nVCYccnEff@ z&vHiU9r&af&GtvCmv@&<6Mpdr@|p4arQ#VyV^YL+)Mn zanTTMW$3uZl_pK(b`Vd$u&~*8YBmPsB;NQVl;Lc0atX9W29@~H`nW8`|HY*^0h!|5*J;;N z|J<8XXO)cKiN9rdd`dsDiSV}N%b}Sx7?Mh}22Sp|{zcFJcw;tme!pkPJuj)49+jfF z?X)vNyB-xM99(_0J}jGeJ*0$(^zSzW|5^IiD};aY|6c8X)BhjL$U&Pu8zVaV6HyWS e{n3QqR4sGPH!R)_qW@fvYOCwrue@jT^8W$a=g>(2 literal 0 HcmV?d00001 diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md new file mode 100644 index 00000000000..72f32dcc20e --- /dev/null +++ b/src/content/developers/docs/networking-layer/index.md @@ -0,0 +1,152 @@ +--- +title: Networking layer +description: An introduction to Ethereum's networking layer. +lang: en +sidebar: true +sidebarDepth: 2 +--- + +Ethereum's networking layer is the stack of protocols that allows nodes to find each other and exchange information. After the merge there will be two pieces of client software (execution clients and consensus clients) each with their own separate networking stack. As well as communicating with other nodes on the Ethereum network, the execution and consensus clients also have to communicate with each other. This page gives an introductory explanation of the protocols that enable this communication to take place. + +## The Execution Layer {execution-layer} + +The execution layer's networking protocols can be divided into two stacks: the first is the discovery stack which is built on top of UDP and allows a new node to find peers to connect to. The second is the [DevP2P](https://github.com/ethereum/devp2p) stack that sits on top of TCP and allows nodes to exchange information. These layers act in parallel, with the discovery layer feeding new network participants into the network, and the DevP2P layer enabling their interactions. DevP2P is itself a whole stack of protocols that are implemented by Ethereum to establish and maintain the peer-to-peer network. + +### Discovery {discovery} + +Discovery is the process of finding other nodes in network. This is bootstrapped using a small set of bootnodes that are [hardcoded](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go) into the client. These bootnodes exist to introduce a new node to a set of peers - this is their sole purpose, they do not participate in normal client tasks like syncing the chain, and they are only used the very first time a client is spun up. + +The protocol used for the node-bootnode interactions is a modified form of [Kademlia](https://medium.com/coinmonks/a-brief-overview-of-kademlia-and-its-use-in-various-decentralized-platforms-da08a7f72b8f) which uses a distributed hash table to share lists of nodes. Each node has a version of this table containing information required to connect to its closest peers. This "closeness" is not geographical - distance is defined by the similarity of the node's ID. Each node's table is regularly refreshed as a security feature. In the [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5) discovery protocol nodes are also able to send "ads" that display the subprotocols that client supports, allowing peers to negotiate about the protocols they can both use to communicate over. + +Discovery starts wih a game of PING-PONG. A successful PING-PONG "bonds" the new node to a boot node. The initial message that alerts a boot node to the existence of a new node entering the network is a `PING`. This `PING` includes hashed information about the new node, the boot node and an expiry time-stamp. The boot node receives the PING and returns a `PONG` containing the `PING` hash. If the `PING` and `PONG` hashes match then the connection between the new node and boot node is verified and they are said to have "bonded". + +Once bonded, the new node can send a `FIND-NEIGHBOURS` request to the boot node. The data returned by the boot node includes a list of peers that the new node can connect to. If the nodes are not bonded, the `FIND-NEIGHBOURS` request will fail, so the new node will not be able to enter the network. + +Once the new node receives a list of neighbours from the boot node, it begins a PING-PONG exchange with each of them. Successful PING-PONGs bond the new node with its neighbours, enabling message exchange. + +``` +start client --> connect to boot node --> bond to boot node --> find neighbours --> bond to neighbours +``` + +#### ENR: Ethereum Node Records + +The [Ethereum Node Record (ENR)](/developers/docs/networking-layer/network addresses/) is an object that contains three basic elements: a signature (hash of record contents made according to some agreed identity scheme), a sequence number that tracks changes to the record, and an arbitrary list of key:value pairs. This is a future-proof format that allows easier exchange of identifying information between new peers and is the preferred [network address](/developers/docs/networking-layer/network-addresses) format for Ethereum nodes. + +#### Why is discovery built on UDP? {why-udp} + +UDP does not support any error checking, resending of failed packets, or dynamically opening and closing connections - instead it just fires a continuous stream of information at a target, regardless of whether it is successfully received. This minimal functionality also translates into minimal overhead, making this kind of connection very fast. For discovery, where a node simply wants to make its presence known in order to then establish a formal connection with a peer, UDP is sufficient. However, for the rest of the networking stack, UDP is not fit for purpose. The informational exchange between nodes is quite complex and therefore needs a more fully featured protocol that can support resending, error checking etc. The additional overhead associated with TCP is worth the additional functionality. Therefore, the majority of the P2P stack operates over TCP. + +## DevP2P {devp2p} + +After new nodes enter the network, their interactions are governed by protocols in the DevP2P stack. These all sit on top of TCP and include the RLPx transport protocol, wire protocol and several sub-protocols. [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md) is the protocol governing initiating, authenticating and maintaining sessions between nodes. RLPx encodes messages using RLP (Recursive Length Prefix) which is a very space-efficient method of encoding data into a minimal structure for sending between nodes. + +A RLPx session between two nodes begins with an initial cryptographic handshake. This involves the node sending an auth message which is then verified by the peer. On successful verification, the peer generates an auth-acknowledgement message to return to the initiator node. This is a key-exchange process that enables the nodes to communicate privately and securely. A successful cryptographic handshake then triggers both nodes to to send a "hello" message to one another "on the wire". The wire protocol is initiated by a successful exchange of hello messages. + +The hello messages contain: + +- protocol version +- client ID +- port +- node ID +- list of supported sub-protocols + +This is the information required for a successful interaction because it defines what capabilities are shared between both nodes and configures the communication. There is a process of sub-protocol negotiation where the lists of sub-protocols supported by each node are compared and those that are common to both nodes can be used in the session. + +Along with the hello messages, the wire protocol can also send a "disconnect" message that gives warning to a peer that the connection will be closed. The wire protocol also includes PING and PONG messages that are sent periodically to keep a session open. The RLPx and wire protocol exchanges therefore establish the foundations of communication between the nodes, providing the scaffolding for useful information to be exchanged according to a specific sub-protocol. + +### Sub-protocols {sub-protocols} + +#### Eth (wire protocol) {wire-protocol} + +Once peers are connected and an RLPx session has been started, the wire protocol defines how peers communicate. There are three main tasks defined by the wire protocol: chain synchronization, block propagation and transaction exchange. Chain synchronization is the process of validating blocks near head of the chain, checking their proof-of-work data and re-executing their transactions to ensure their root hashes are correct, then cascading back in history via those blocks' parents, grandparents etc until the whole chain has been downloaed and validated. State sync is a faster alternative that only validates block headers. Block propagation is the process of sending and receiving newly mined blocks. Transaction exchnage refers to exchangign pending transactions between nodes so that miners can select some of them for inclusion in the next block. Detailed information about these tasks are available [here](https://github.com/ethereum/devp2p/blob/master/caps/eth.md). Clients that support these sub-protocols exose them via the [json-rpc](/developers/docs/apis/json-rpc). + +#### les (light ethereum subprotocol) {les} + +This is a minimal protocol for syncing light clients. Traditionaly this protocol has rarely been used because full nodes are required to serve data to light clients without being incentivized. The default behaviour of execution clients is not to serve light client data over les. More information is available in the les [spec](https://github.com/ethereum/devp2p/blob/master/caps/les.md). + +#### Snap {snap} + +The [snap protocol](https://github.com/ethereum/devp2p/blob/master/caps/snap.md#ethereum-snapshot-protocol-snap) is an optional extension that allows peers to exchange snapshots of recent states, allowing peers to verify account and storage data without having to download intermediate Merkle trie nodes. + +#### Wit (witness protocol) {wit} + +The [witness protocol](https://github.com/ethereum/devp2p/blob/master/caps/wit.md#ethereum-witness-protocol-wit) is an optional extension that enables exchange of state witnesses between peers, helping to sync clients to the tip of the chain. + +#### Whisper {whisper} + +This was a protocol that aimed to deliver secure messaging between peers without writing any information to the blockchain. It was part of the DevP2p wire protocol but is now deprecated. Other [related projects](https://wakunetwork.com/) exist with similar aims. + +## Execution layer networking after the merge {execution-after-merge} + +After the merge, an Ethereum node will run an execution client and a consensus client. The execution clients will operate similary to today, but with the proof-of-work consensus and block gossip functionality removed. The EVM, validator deposit contract and selecting/executing transactions from the mempool will still be the domain of the execution client. This means execution clients still need to participate in transaction gossip so that they can manage the transaction mempool. This requires encrypted communication between authenticated peers meaning the networking layer for consensus clients will still be a critical component, includng both the discovery protocol and DevP2P layer. Encoding will continue to be predominantly RLP on the execution layer. + +## The consensus layer {consensus-layer} + +The consensus clients participate in a separate peer-to-peer network with a different specification. Consensus clients need to participate in block gossip so that they can receive new blocks from peers and broadcast them when it is their turn to be block proposer. Similarly to the execution layer, this first requires a discovery protocol so that a node can find peers and establish secure sessions for exchanging blocks, attestations etc. + +### Discovery {consensus-discovery} + +Similarly to the execution clients, consensus clients use [discv5](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-discovery-domain-discv5) over UDP for finding peers. The consensus layer implementation of discv5 differs from that of the execution clients only in that it includes an adaptor connecting discv5 into a [libP2P](https://libp2p.io/) stack, deprecating devP2P. The execution layer's RLPx sessions are deprecated in favour of libP2P's noise secure channel handshake. + +### ENRs {consensus-enr} + +The ENR for consensus nodes includes the node's public key, IP address, UDP and TCP ports and two consensus-specific fields: the attestation subnet bitfield and eth2 key. The former makes it easier for nodes to find peers participating in specific attestation gossip sub-networks. The eth2 key contans information about which Ethereum fork version the node is using, ensuring peers are connecting to the right Ethereum. + +### libP2P {libp2p} + +The libP2P stack supports all communications after discovery. Clients can dial and listen on IPv4 and/or IPv6 as defined in their ENR. The protocols on the libP2P layer can be subdivided into the gossip and req/resp domains. + +### Gossip {gossip} + +The gossip domain includes all information that has to spread rapidly throughout the network. This includes beacon blocks, proofs, attestations, exits and slashings. This is transmitted using libP2P gossipsub v1 and relies on various metadata being stored locally at each node, including maximum size of gossip payloads to receive and transmit. Detailed information about the gossip domain is available [here](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub). + +### Req/Resp {req-resp} + +The request/response domain contains protocols for clients requesting specific information from their peers. Examples include requesting specific Beacon blocks matching certain root hashes or within a range of slots. The responses are always returned as snappy-compressed SSZ encoded bytes. + +## Why does the consensus client prefer SSZ to RLP? {ssz-vs-rlp} + +SSZ stands for simple serialization. It uses fixed offsets that make it easy to decode individual parts of an encoded message without having to decode the entire structure, which is very useful for the consensus client as it can efficiently grab specific pieces of information from encoded messages. It is also designed specifically to integrate with Merkle protocols, with related efficiency gains for Merkleization. Since all hashes in the consensus layer are Merkle roots, this adds up to a significant improvement. SSZ also guarantees unique representations of values. + +## Connecting the execution and consensus clients + +After the merge, both consensus and execution clients will run in parallel. They need to be connected together so that the consensus client can provide instructions to the execution client and the execution client can pass bundles of transactions to the consensus client to include in Beacon Blocks. This communication between the two clients can be achieved using a local RPC connection. Since both clients sit behind a single network identity, they share a ENR (Ethereum node record) which contains a separate key for each client (eth1 key and eth2 key). + +A summary of the control flow is shown beloiw, with the relevant networking stack in brackets. + +##### When consensus client is not block producer: + +- consensus client receives a block via the block gossip protocol (consensus p2p) +- consensus client prevalidates the block, i.e. ensures it arrived from a valid sender with correct metadata +- The transactions in the block are sent to the execution layer as an execution payload (local RPC connection) +- The execution layer executes the transactions and validates the state in the block header (i.e. checks hashes match) +- execution layer passes validation data back to consensus layer, block now considered to be validated (local RPC connection) +- consensus layer adds block to head of its own blockchain and attests to it, broadcasting the attestation over the network (consensus p2p) + +##### When consensus client is block producer + +- consensus client receives notice that it is the next block producer (consensus p2p) +- consensus layer calls `create block` method in execution client (local RPC) +- execution layer accesses the transaction mempool which has been populated by the transaction gossip protocol (execution p2p) +- execution client bundles transactions into a block, executes the transactions and generates a block hash +- consensus client grabs the transactions and block hash from the consensus client and adds them to the beacon block (local RPC) +- consensus client broadcasts the block over the block gossip protocol (consensus p2p) +- other clients receive the proposed block via the block gossip protocol and validate as described above (consensus p2p) + +Once the block has been attested by sufficient validators it is added to the head of the chain, justified and eventually finalised. + +

+ +

+ + +Network layer schematic for post-merge consensus and execution clients, from [ethresear.ch](https://ethresear.ch/t/eth1-eth2-client-relationship/7248) +

+ +## Further Reading: + +[kademlia to discv5](https://vac.dev/kademlia-to-discv5) +[kademlia paper](https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf) +[intro to Ethereum p2p](https://p2p.paris/en/talks/intro-ethereum-networking/) +[eth1/eth2 relationship](http://ethresear.ch/t/eth1-eth2-client-relationship/7248) +[merge and eth2 client details video](https://www.youtube.com/watch?v=zNIrIninMgg) diff --git a/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md b/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md new file mode 100644 index 00000000000..cf2af6cded4 --- /dev/null +++ b/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md @@ -0,0 +1,11 @@ +--- +title: Network addresses +description: An introduction to network addresses. +lang: en +sidebar: true +sidebarDepth: 2 +--- + +Ethereum nodes have to identify themselves with some basic information so that they can connect to peers. To ensure this information can be interpreted by any potential peer it is relayed in one of three standardized formats that any Ethereum node can understand. + +Ethereum Node Records (ENRs) are a standardized format for network addresses on Ethereum. They supercede multiaddresses and enodes. From 4ed547b006d347a61ee5876adad0c95c15c7c09b Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Mar 2022 14:12:25 +0100 Subject: [PATCH 005/167] finish draft network-addr page --- .../network-addresses/network-addresses.md | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md b/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md index cf2af6cded4..653d517d83e 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md +++ b/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md @@ -6,6 +6,26 @@ sidebar: true sidebarDepth: 2 --- -Ethereum nodes have to identify themselves with some basic information so that they can connect to peers. To ensure this information can be interpreted by any potential peer it is relayed in one of three standardized formats that any Ethereum node can understand. +Ethereum nodes have to identify themselves with some basic information so that they can connect to peers. To ensure this information can be interpreted by any potential peer it is relayed in one of three standardized formats that any Ethereum node can understand: multiaddr, enode and Ethereum Node Records. -Ethereum Node Records (ENRs) are a standardized format for network addresses on Ethereum. They supercede multiaddresses and enodes. +## Multiaddr {multiaddr} + +The original network address format was the "multiaddr". This is a universal format not only designed for Ethereum nodes but other peer-to-peer networks too. Addresses are represented as key-value pairs with keys and values separated with a forward slash, e.g. the multiaddr for a node with IPv4 address `192.168.22.27` listening to TCP port `33000` looks like: + +`/ip6/192.168.22.27/tcp/33000` + +For an Ethereum node, the multiaddr has the node-ID (hash of their public key), for example: + +`/ip6/192.168.22.27/tcp/33000/p2p/5t7Nv7dG2d6ffbvAiewVsEwWweU3LdebSqX2y1bPrW8br` + +## Enode {enode} + +An ethereum node can also be described using the enode URL scheme. The hexadecimal node-ID is encoded in the username portion of the URLseparated from the host using an @ sign. The hostname can only be given as an IP address, DNS nammes are not allowed. The port in the host name section is the TCP listening port. If the TCP and UDP (discovery) ports differ the UDP port is specified as a query parameter "discport". + +In the following example, the node URL describes a node with IP address `10.3.58`, TCP port `30303` and UDP discovery port `30301`. + +`enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@10.3.58.6:30303?discport=30301` + +## Ethereum Node Records (ENRs) {enr} + +Ethereum Node Records (ENRs) are a standardized format for network addresses on Ethereum. They supercede multiaddresses and enodes. These are especially useful because they allow greater informational exchange between nodes. The ENR contains a signature, sequence number and fields detailing the identity scheme used to generate and validate signatures. The rest of the record can be populated with arbitrary data organised as key-value pairs. These key-value pairs contain the node's IP address and information about the sub-protocols the node is able to use. Consensus clients use a [specific ENR structure](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure) to identify boot nodes and also include an `eth2` field containing information about the current Ethereum fork and the attestation gossip subnet (this connects the node to a particular set of peers whose attestations are aggregated together). From 7544e75202f52947b9a0b7a3a349d3ba05ad1fc8 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Mar 2022 14:31:25 +0100 Subject: [PATCH 006/167] add formatting for eth.org --- .../developers/docs/networking-layer/index.md | 13 ++++++++++--- .../network-addresses/network-addresses.md | 10 ++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index 72f32dcc20e..0399da524af 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -8,6 +8,10 @@ sidebarDepth: 2 Ethereum's networking layer is the stack of protocols that allows nodes to find each other and exchange information. After the merge there will be two pieces of client software (execution clients and consensus clients) each with their own separate networking stack. As well as communicating with other nodes on the Ethereum network, the execution and consensus clients also have to communicate with each other. This page gives an introductory explanation of the protocols that enable this communication to take place. +## Prerequisites {prerequisites} + +Some knowledge of Ethereum [nodes and clients](/src/content/developers/docs/nodes-and-clients/) will be helpful for understanding this page. + ## The Execution Layer {execution-layer} The execution layer's networking protocols can be divided into two stacks: the first is the discovery stack which is built on top of UDP and allows a new node to find peers to connect to. The second is the [DevP2P](https://github.com/ethereum/devp2p) stack that sits on top of TCP and allows nodes to exchange information. These layers act in parallel, with the discovery layer feeding new network participants into the network, and the DevP2P layer enabling their interactions. DevP2P is itself a whole stack of protocols that are implemented by Ethereum to establish and maintain the peer-to-peer network. @@ -136,15 +140,18 @@ A summary of the control flow is shown beloiw, with the relevant networking stac Once the block has been attested by sufficient validators it is added to the head of the chain, justified and eventually finalised.

- +

- + Network layer schematic for post-merge consensus and execution clients, from [ethresear.ch](https://ethresear.ch/t/eth1-eth2-client-relationship/7248)

-## Further Reading: +## Further Reading +[DevP2p](https://github.com/ethereum/devp2p) +[LibP2p](https://github.com/libp2p/specs) +[Consensus layer network specs](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure) [kademlia to discv5](https://vac.dev/kademlia-to-discv5) [kademlia paper](https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf) [intro to Ethereum p2p](https://p2p.paris/en/talks/intro-ethereum-networking/) diff --git a/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md b/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md index 653d517d83e..3df7d844828 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md +++ b/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md @@ -8,6 +8,10 @@ sidebarDepth: 2 Ethereum nodes have to identify themselves with some basic information so that they can connect to peers. To ensure this information can be interpreted by any potential peer it is relayed in one of three standardized formats that any Ethereum node can understand: multiaddr, enode and Ethereum Node Records. +## Prerequisites {#prerequisites} + +Some understanding of Ethereum's [networking layer](/src/content/developers/docs/networking-layer/) will be helpful to understand this page. + ## Multiaddr {multiaddr} The original network address format was the "multiaddr". This is a universal format not only designed for Ethereum nodes but other peer-to-peer networks too. Addresses are represented as key-value pairs with keys and values separated with a forward slash, e.g. the multiaddr for a node with IPv4 address `192.168.22.27` listening to TCP port `33000` looks like: @@ -29,3 +33,9 @@ In the following example, the node URL describes a node with IP address `10.3.58 ## Ethereum Node Records (ENRs) {enr} Ethereum Node Records (ENRs) are a standardized format for network addresses on Ethereum. They supercede multiaddresses and enodes. These are especially useful because they allow greater informational exchange between nodes. The ENR contains a signature, sequence number and fields detailing the identity scheme used to generate and validate signatures. The rest of the record can be populated with arbitrary data organised as key-value pairs. These key-value pairs contain the node's IP address and information about the sub-protocols the node is able to use. Consensus clients use a [specific ENR structure](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure) to identify boot nodes and also include an `eth2` field containing information about the current Ethereum fork and the attestation gossip subnet (this connects the node to a particular set of peers whose attestations are aggregated together). + +## Further Reading + +[ENR EIP](https://eips.ethereum.org/EIPS/eip-778) +[Network addresses in Ethereum](https://dean.eigenmann.me/blog/2020/01/21/network-addresses-in-ethereum/) +[LibP2P: Multiaddr-Enode-ENR?!](https://consensys.net/diligence/blog/2020/09/libp2p-multiaddr-enode-enr/) From 55f4ae84cf64d54b69c63050d07f135eea028abb Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Mar 2022 14:45:29 +0100 Subject: [PATCH 007/167] rename file to index.md --- .../network-addresses/{network-addresses.md => index.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/content/developers/docs/networking-layer/network-addresses/{network-addresses.md => index.md} (100%) diff --git a/src/content/developers/docs/networking-layer/network-addresses/network-addresses.md b/src/content/developers/docs/networking-layer/network-addresses/index.md similarity index 100% rename from src/content/developers/docs/networking-layer/network-addresses/network-addresses.md rename to src/content/developers/docs/networking-layer/network-addresses/index.md From f18deefd7b7a61e9d3e4355583c5a8de07835e19 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Mar 2022 17:43:15 +0100 Subject: [PATCH 008/167] add patricia merkle trie page --- .../patricia-merkle-trie/index.md | 200 ++++++++++++++++++ .../docs/data-structures/rlp/index.md | 2 +- 2 files changed, 201 insertions(+), 1 deletion(-) create mode 100644 src/content/developers/docs/data-structures/patricia-merkle-trie/index.md diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md new file mode 100644 index 00000000000..aedd093f8d6 --- /dev/null +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -0,0 +1,200 @@ +--- +title: Patricia Merkle Trees +description: Introduction to Patricia Merkle Trees. +lang: en +sidebar: true +sidebarDepth: 2 +--- + +A Patricia Merkle Trie provides a cryptographically authenticated data structure that can be used to store all (key, value) bindings. They are fully deterministic, meaning that a Patricia trie with the same (key,value) bindings is guaranteed to be exactly the same down to the last byte and therefore have the same root hash, provide the holy grail of O(log(n)) efficiency for inserts, lookups and deletes, and are much easier to understand and code than more complex comparison-based alternatives like red-black tries. + +## Prerequisites + +It would be helpful to have basic knowledge of Merkle trees and serialization to understand this page. + +## Basic Radix Tries + +In a basic radix trie, every node looks as follows: + + [i0, i1 ... in, value] + +Where `i0 ... in` represent the symbols of the alphabet (often binary or hex), `value` is the terminal value at the node, and the values in the `i0 ... in` slots are either `NULL` or pointers to (in our case, hashes of) other nodes. This forms a basic (key, value) store; for example, if you are interested in the value that is currently mapped to `dog` in the trie, you would first convert `dog` into letters of the alphabet (giving `64 6f 67`), and then descend down the trie following that path until at the end of the path you read the value. That is, you would first look up the root hash in a flat key/value DB to find the root node of the trie (which is basically an array of keys to other nodes), use the value at index `6` as a key (and look it up in the flat key/value DB) to get the node one level down, then pick index `4` of that to lookup the next value, then pick index `6` of that, and so on, until, once you followed the path: `root -> 6 -> 4 -> 6 -> 15 -> 6 -> 7`, you look up the value of the node that you have and return the result. + +Note there is a difference between looking something up in the "trie" vs the underlying flat key/value "DB". They both define key/values arrangements, but the underlying DB can do a traditional 1 step lookup of a key, while looking up a key in the trie requires multiple underlying DB lookups to get to the final value as described above. To eliminate ambiguity, let's refer to the latter as a `path`. + +The update and delete operations for radix tries are simple, and can be defined roughly as follows: + + def update(node,path,value): + if path == '': + curnode = db.get(node) if node else [ NULL ] * 17 + newnode = curnode.copy() + newnode[-1] = value + else: + curnode = db.get(node) if node else [ NULL ] * 17 + newnode = curnode.copy() + newindex = update(curnode[path[0]],path[1:],value) + newnode[path[0]] = newindex + db.put(hash(newnode),newnode) + return hash(newnode) + + def delete(node,path): + if node is NULL: + return NULL + else: + curnode = db.get(node) + newnode = curnode.copy() + if path == '': + newnode[-1] = NULL + else: + newindex = delete(curnode[path[0]],path[1:]) + newnode[path[0]] = newindex + + if len(filter(x -> x is not NULL, newnode)) == 0: + return NULL + else: + db.put(hash(newnode),newnode) + return hash(newnode) + +The "Merkle" part of the radix trie arises in the fact that a deterministic cryptographic hash of a node is used as the pointer to the node (for every lookup in the key/value DB `key == sha3(rlp(value))`, rather than some 32-bit or 64-bit memory location as might happen in a more traditional trie implemented in C. This provides a form of cryptographic authentication to the data structure; if the root hash of a given trie is publicly known, then anyone can provide a proof that the trie has a given value at a specific path by providing the nodes going up each step of the way. It is impossible for an attacker to provide a proof of a (path, value) pair that does not exist since the root hash is ultimately based on all hashes below it, so any modification would change the root hash. + +While traversing a path 1 nibble at a time as described above, most nodes contain a 17-element array. 1 index for each possible value held by the next hex character (nibble) in the path, and 1 to hold the final target value in the case that the path has been fully traversed. These 17-element array nodes are called `branch` nodes. + +## Merkle Patricia Trie + +However, radix tries have one major limitation: they are inefficient. If you want to store just one (path,value) binding where the path is (in the case of the ethereum state trie), 64 characters long (number of nibbles in `bytes32`), you will need over a kilobyte of extra space to store one level per character, and each lookup or delete will take the full 64 steps. The Patricia trie introduced here solves this issue. + +### Optimization + +Merkle Patricia tries solve the inefficiency issue by adding some extra complexity to the data structure. A node in a Merkle Patricia trie is one of the following: + +1. `NULL` (represented as the empty string) +2. `branch` A 17-item node `[ v0 ... v15, vt ]` +3. `leaf` A 2-item node `[ encodedPath, value ]` +4. `extension` A 2-item node `[ encodedPath, key ]` + +With 64 character paths it is inevitable that after traversing the first few layers of the trie, you will reach a node where no divergent path exists for at least part of the way down. It would be naive to require such a node to have empty values in every index (one for each of the 16 hex characters) besides the target index (next nibble in the path). Instead we shortcut the descent by setting up an `extension` node of the form `[ encodedPath, key ]`, where `encodedPath` contains the "partial path" to skip ahead (using compact encoding described below), and the `key` is for the next db lookup. + +In the case of a `leaf` node, which can be determined by a flag in the first nibble of `encodedPath`, the situation above occurs and also the "partial path" to skip ahead completes the full remainder of a path. In this case `value` is the target value itself. + +The optimization above however introduces some ambiguity. + +When traversing paths in nibbles, we may end up with an odd number of nibbles to traverse, but because all data is stored in `bytes` format, it is not possible to differentiate between, for instance, the nibble `1`, and the nibbles `01` (both must be stored as `<01>`). To specify odd length, the partial path is prefixed with a flag. + +### Specification: Compact encoding of hex sequence with optional terminator + +The flagging of both _odd vs. even remaining partial path length_ and _leaf vs. extension node_ as described above reside in the first nibble of the partial path of any 2-item node. They result in the following: + + hex char bits | node type partial path length + ---------------------------------------------------------- + 0 0000 | extension even + 1 0001 | extension odd + 2 0010 | terminating (leaf) even + 3 0011 | terminating (leaf) odd + +For even remaining path length (`0` or `2`), another `0` "padding" nibble will always follow. + + def compact_encode(hexarray): + term = 1 if hexarray[-1] == 16 else 0 + if term: hexarray = hexarray[:-1] + oddlen = len(hexarray) % 2 + flags = 2 * term + oddlen + if oddlen: + hexarray = [flags] + hexarray + else: + hexarray = [flags] + [0] + hexarray + // hexarray now has an even length whose first nibble is the flags. + o = '' + for i in range(0,len(hexarray),2): + o += chr(16 * hexarray[i] + hexarray[i+1]) + return o + +Examples: + + > [ 1, 2, 3, 4, 5, ...] + '11 23 45' + > [ 0, 1, 2, 3, 4, 5, ...] + '00 01 23 45' + > [ 0, f, 1, c, b, 8, 10] + '20 0f 1c b8' + > [ f, 1, c, b, 8, 10] + '3f 1c b8' + +Here is the extended code for getting a node in the Merkle Patricia trie: + + def get_helper(node,path): + if path == []: return node + if node = '': return '' + curnode = rlp.decode(node if len(node) < 32 else db.get(node)) + if len(curnode) == 2: + (k2, v2) = curnode + k2 = compact_decode(k2) + if k2 == path[:len(k2)]: + return get(v2, path[len(k2):]) + else: + return '' + elif len(curnode) == 17: + return get_helper(curnode[path[0]],path[1:]) + + def get(node,path): + path2 = [] + for i in range(len(path)): + path2.push(int(ord(path[i]) / 16)) + path2.push(ord(path[i]) % 16) + path2.push(16) + return get_helper(node,path2) + +### Example Trie + +Suppose we want a trie containing four path/value pairs `('do', 'verb')`, `('dog', 'puppy')`, `('doge', 'coin')`, `('horse', 'stallion')`. + +First, we convert both paths and values to `bytes`. Below, actual byte representations for _paths_ are denoted by `<>`, although _values_ are still shown as strings, denoted by `''`, for easier comprehension (they, too, would actually be `bytes`): + + <64 6f> : 'verb' + <64 6f 67> : 'puppy' + <64 6f 67 65> : 'coin' + <68 6f 72 73 65> : 'stallion' + +Now, we build such a trie with the following key/value pairs in the underlying DB: + + rootHash: [ <16>, hashA ] + hashA: [ <>, <>, <>, <>, hashB, <>, <>, <>, [ <20 6f 72 73 65>, 'stallion' ], <>, <>, <>, <>, <>, <>, <>, <> ] + hashB: [ <00 6f>, hashD ] + hashD: [ <>, <>, <>, <>, <>, <>, hashE, <>, <>, <>, <>, <>, <>, <>, <>, <>, 'verb' ] + hashE: [ <17>, [ <>, <>, <>, <>, <>, <>, [ <35>, 'coin' ], <>, <>, <>, <>, <>, <>, <>, <>, <>, 'puppy' ] ] + +When one node is referenced inside another node, what is included is `H(rlp.encode(x))`, where `H(x) = sha3(x) if len(x) >= 32 else x` and `rlp.encode` is the [RLP](/fundamentals/rlp) encoding function. + +Note that when updating a trie, one needs to store the key/value pair `(sha3(x), x)` in a persistent lookup table _if_ the newly-created node has length >= 32. However, if the node is shorter than that, one does not need to store anything, since the function f(x) = x is reversible. + +## Tries in Ethereum + +All of the merkle tries in Ethereum use a Merkle Patricia Trie. + +From a block header there are 3 roots from 3 of these tries. + +1. stateRoot +2. transactionsRoot +3. receiptsRoot + +### State Trie + +There is one global state trie, and it updates over time. In it, a `path` is always: `sha3(ethereumAddress)` and a `value` is always: `rlp(ethereumAccount)`. More specifically an ethereum `account` is a 4 item array of `[nonce,balance,storageRoot,codeHash]`. At this point it's worth noting that this `storageRoot` is the root of another patricia trie: + +### Storage Trie + +Storage trie is where _all_ contract data lives. There is a separate storage trie for each account. To calculate a 'path' in this trie first understand how solidity organizes a [variable's position](/json-rpc/API#eth_getstorageat). To get the `path` there is one extra hashing (the link does not describe this). For instance the `path` for the zeroith variable is `sha3(<0000000000000000000000000000000000000000000000000000000000000000>)` which is always `290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563`. The value at the leaf is the rlp encoding of the storage value `1234` (`0x04d2`), which is `<82 04 d2>`. +For the mapping example, the `path` is `sha3(<6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9>)` + +### Transactions Trie + +There is a separate transactions trie for every block. A `path` here is: `rlp(transactionIndex)`. `transactionIndex` is its index within the block it's mined. The ordering is mostly decided by a miner so this data is unknown until mined. After a block is mined, the transaction trie never updates. + +### Receipts Trie + +Every block has its own Receipts trie. A `path` here is: `rlp(transactionIndex)`. `transactionIndex` is its index within the block it's mined. The receipts trie never updates. + +## Further Reading + +[Modified Merkle Patricia Trie — How Ethereum saves a state](https://medium.com/codechain/modified-merkle-patricia-trie-how-ethereum-saves-a-state-e6d7555078dd) +[Merkling in Ethereum](https://blog.ethereum.org/2015/11/15/merkling-in-ethereum/) +[Understanding the Ethereum trie](https://easythereentropy.wordpress.com/2014/06/04/understanding-the-ethereum-trie/) diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md index 302fabe54c9..0e574b7e7eb 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -155,4 +155,4 @@ def to_integer(b): ## Related topics {#related-topics} -- [Patricia merkle tree](/developers/docs/data-structures/patricia-merkle-tree) +- [Patricia merkle trie](/developers/docs/data-structures/patricia-merkle-trie) From 17e1bd4ab2abbf604e94400880a7625defd2b6b9 Mon Sep 17 00:00:00 2001 From: Joe Date: Wed, 30 Mar 2022 10:50:47 +0100 Subject: [PATCH 009/167] add SSZ page --- .../docs/data-structures/ssz/index.md | 153 ++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 src/content/developers/docs/data-structures/ssz/index.md diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures/ssz/index.md new file mode 100644 index 00000000000..9e64fb727b5 --- /dev/null +++ b/src/content/developers/docs/data-structures/ssz/index.md @@ -0,0 +1,153 @@ +--- +title: Simple Serialize +description: Explanation of Ethereum's SSZ format. +lang: en +sidebar: true +sidebarDepth: 2 +--- + +Simple serialize (SSZ) is the serialization method used on the Beacon Chain. It replaces the RLP serialization used on the execution layer everywhere across the consensus layer except the peer discovery protocol. SSZ is specifically designed to be deterministic and compatible with Merkleization. + +## How does SSZ work? {how-does-ssz-work} + +### Serialization + +Ultimately the goal of SSZ serialization is to represent objects of arbitrary complexity as strings of bytes. Each bytestring has a fixed length (32 bytes) called a chunk. These chunks directly become leaves in the Merkle tree representing the object. + +This is a very simple process for "basic types". The element is simply converted to hexadecimal bytes and then right-padded until its length is equal to 32 bytes (little-endian representation). Basic types include: + +- unsigned integers +- Booleans + +For more complex "composite" types the serialization is not quite so straightforward. This is because the composite type contains multiple elements that miught have different types or different sizes, or both. Vectors, for example, contain elements of uniform type but varying size. Where these objects all have fixed lengths (i.e. the size of the elements is always going to be constant irrespective of their actual values) the serialization is simply a conversion of each element in the composite type in order into little-endian bytestrings. These bytestrings are joined together and padded to the nearest multiple of 32-bytes. The serialized object has the bytelist representation of the fixed-length elements in the same order as they appear in the deserialized object. + +For types with variable lengths, the actual data is replecaed by an "offset" value in that element's position in the serialized object. The actual data is then added to a heap at the end of the serialized object. The offset value is the index for the start of the actual data in the heap, acting like a pointer to the relevant bytes. + +The example below illustrates how the offsetting works for an container with both fixed and variable length elements: + +```Rust + + struct Dummy { + + number: u64, + number2: u64, + vector: Vec + number3: u64 + } + + dummy = Dummy{ + + number1: 37, + number2: 55, + vector: vec![1,2,3,4], + number3: 22, + } + + serialized = ssz.serialize(dummy) + +``` + +`serialized` would have the following structure (only padded to 4 bits here, padded to 32 bits in reality, and keeping the `int` representation for clarity): + +``` +[37, 0, 0, 0, 55, 0, 0, 0, 16, 0, 0, 0, 22, 0, 0, 0, 1, 2, 3, 4] +------------ ----------- ----------- ----------- ---------- + | | | | | + number1 number2 offset for number 3 value for + vector vector + +``` + +divided over lines for clarity: + +``` +[ + 37, 0, 0, 0, # little-endian encoding of `number1`. + 55, 0, 0, 0, # little-endian encoding of `number2`. + 16, 0, 0, 0, # The "offset" that indicates where the value of `vector` starts (little-endian 16). + 22, 0, 0, 0, # little-endian encoding of `number3`. + 1, 2, 3, 4, # The actual values in `vector`. +] +``` + +This is still a simplification - the integers and zeros in the schematics above would actually be stored bytelists, like this: + +``` +[ + 10100101000000000000000000000000 # little-endian encoding of `number1` + 10110111000000000000000000000000 # little-endian encoding of `number2`. + 10010000000000000000000000000000 # The "offset" that indicates where the value of `vector` starts (little-endian 16). + 10010110000000000000000000000000 # little-endian encoding of `number3`. + 10000001100000101000001110000100 # The actual value of the `bytes` field. +] +``` + +So the actual values for variable-length types are stored in a heap at the end of the serialized object with their offsets stored in their correct positions in the ordered list of fields. + +There are also some special cases that require spoecific treatment, such as the `BitList` typoe that requires a length cap to be added during serialization and removed during deserialization. Full details are available in the [SSZ spec](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md). + +### Deserialization + +To deserialize this object requires the schema. The schema defines the precise layout of the serialized data so that each specific element can be deserialized from a blob of bytes into some meaningful object with the elements having the right type, value, size and position. It is the schema that tells the deserializer which values are actual values and which ones are offsets. All field names disappear when an object is serialized, but reinstantiated on deserialization according to the schema. + +NB See [ssz.dev](https://www.ssz.dev/overview) for an interactive explainer on this. + +## Merkleization + +This SSZ serialized object can then be merkleized - that is transformed into a Merkle-tree representation of the same data. First, the number of 32-byte chunks in the serialized object is determined. These are the "leaves" of the tree. The total number of leaves must be a power of 2 so that hashign together the leaves eventually produces a single hash-tree-root. If this is not naturally the case, additional leaves containing 32 bytes of zeros are added. Diagramatically: + +``` + hash tree root + / \ + / \ + / \ + / \ + hash of leaves hash of leaves + 1 and 2 3 and 4 + / \ / \ + / \ / \ + / \ / \ + leaf1 leaf2 leaf3 leaf4 +``` + +There are also cases where the leaves of the tree do not naturally evenly distribute in the way they do int he exampel above. For example, leaf 4 could be a container with multiple elements that require additional "depth" to be added to the Merkle tree, creating an uneven tree. + +Instead of referring to these tree elements as leaf X, node X etc, we can give them generalized indices, starting with root = 1 and counting from left to right along each level. This is the generalized index explained above. Each element in the serialized list has a generalized index equal to `2**depth + idx` where idx is its zero-indexed position in the serialized object and the depth is the number of levels in the Merkle tree, which can be determined as the square root of the number of elements (leaves). + +## Generalized indices + +A generalized index is an integer that represents a node in a binary merkle tree where each node has a generalized index `2 ** depth + index in row`. + +``` + 1 --depth = 0 2**0 + 0 = 1 + 2 3 --depth = 1 2**1 + 0 = 2, 2**1+1 = 3 + 4 5 6 7 --depth = 2 2**2 + 0 = 4, 2**2 + 1 = 5, 2**2 + 2 = 6, 2**2 + 3 = 7 + +``` + +This representation yields a node index for each piece of data in the merkle tree. + +## Multiproofs + +Providing the list of generalized indices representing a specific element allows us to verify it against the hash-tree-root. This root is our accepted version of reality. Any data we are provided can be verified against that reality by inserting it into the right place in the Merkle tree (determined by its generalized index) and observing that the root remains constant. There are functions in the spec [here](https://github.com/ethereum/consensus-specs/blob/dev/ssz/merkle-proofs.md#merkle-multiproofs) that show how to compute the minimal set of nodes required to verify the contents of a particular set of generalized indices. + +For example, to verify data in index 9 in the tree below, we need the hash of the data at indices 8, 9, 5, 3, 1. +The hash of (8,9) should equal hash (4), which hashes with 5 to produce 2, which hashes with 3 to produce the tree root 1. If incorrect data was provided for 9, the root would change - we would detect this and fail to verify the branch. + +``` +* = data required to generate proof + + 1* + 2 3* + 4 5* 6 7 +8* 9* 10 11 12 13 14 15 + +``` + +## Further Reading + +[Upgrading Ethereum: SSZ](https://eth2book.info/altair/part2/building_blocks/ssz) +[Upgrading Ethereum: Merkleization](https://eth2book.info/altair/part2/building_blocks/merkleization) +[SSZ Impolementations](https://github.com/ethereum/consensus-specs/issues/2138) +[SSZ Calculator](https://simpleserialize.com/) +[SSZ.DEV](https://www.ssz.dev/) From 5ba407c379955c3a1d18b9d829552cbadc655fcd Mon Sep 17 00:00:00 2001 From: Joe Date: Wed, 30 Mar 2022 11:10:42 +0100 Subject: [PATCH 010/167] upate page links, update menus --- .../developers/docs/data-structures/index.md | 10 +++---- .../patricia-merkle-trie/index.md | 28 +++++++++---------- .../docs/data-structures/ssz/index.md | 14 +++++----- src/data/developer-docs-links.yaml | 4 +++ src/intl/en/page-developers-docs.json | 2 ++ 5 files changed, 32 insertions(+), 26 deletions(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index 03fc1e6643f..589706f6c91 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -8,15 +8,15 @@ sidebarDepth: 2 The Ethereum platform creates, stores and transfers large volumes of data. It is critical that this data is formatted in ways that are standardized and memory efficient so that nodes can be run on relatively modest consumer-grade hardware. To achieve this, there are several specific data structures that are used on the Ethereum stack. -## Prerequisites +## Prerequisites {#prerequisites} It is useful to have a good understanding of the ethereum blockchain and client software. Familiarity with the networking layer would also be useful. This is quite low level information about how the Ethereum protocol is designed. A reasonable understanding of the Ethereum whitepaper is recommended. -## Data Structures +## Data Structures {#data-structures} -### Patricia merkle trees +### Patricia merkle trees {#patricia-merkle-tries} -coming soon +Patricia Merkle Tries are structures that encode key-value pairs into a deterministic trie. These are used extensively across Ethereum's execution layer. More information can be found [here](developers/docs/data-structures/patricia-merkle-trie) ### Recursive Length Prefix @@ -24,4 +24,4 @@ Recursive-length prefix is a serialization method used extensively across Ethere ### Simple Serialize -coming soon +Simple serialize is the dominant serialization format on Ethereum's consensus layer because it is very compatible with Merklelization. A deeper explanation of SSZ serialization, merklelization and proofs can be found [here](developers/docs/data-structures/ssz). diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index aedd093f8d6..ae943cbe846 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -6,13 +6,13 @@ sidebar: true sidebarDepth: 2 --- -A Patricia Merkle Trie provides a cryptographically authenticated data structure that can be used to store all (key, value) bindings. They are fully deterministic, meaning that a Patricia trie with the same (key,value) bindings is guaranteed to be exactly the same down to the last byte and therefore have the same root hash, provide the holy grail of O(log(n)) efficiency for inserts, lookups and deletes, and are much easier to understand and code than more complex comparison-based alternatives like red-black tries. +A Patricia Merkle Trie provides a cryptographically authenticated data structure that can be used to store all (key, value) bindings. They are fully deterministic, meaning that a Patricia trie with the same (key,value) bindings is guaranteed to be exactly the same down to the last byte and therefore have the same root hash, provide the holy grail of O(log(n)) efficiency for inserts, lookups and deletes, and are much easier to understand and code than more complex comparison-based alternatives like red-black tries. These are used extensively across Ethereum's execution layer. -## Prerequisites +## Prerequisites {#prerequisites} It would be helpful to have basic knowledge of Merkle trees and serialization to understand this page. -## Basic Radix Tries +## Basic Radix Tries {#basic-radix-tries} In a basic radix trie, every node looks as follows: @@ -59,11 +59,11 @@ The "Merkle" part of the radix trie arises in the fact that a deterministic cryp While traversing a path 1 nibble at a time as described above, most nodes contain a 17-element array. 1 index for each possible value held by the next hex character (nibble) in the path, and 1 to hold the final target value in the case that the path has been fully traversed. These 17-element array nodes are called `branch` nodes. -## Merkle Patricia Trie +## Merkle Patricia Trie {#merkle-patricia-trees} However, radix tries have one major limitation: they are inefficient. If you want to store just one (path,value) binding where the path is (in the case of the ethereum state trie), 64 characters long (number of nibbles in `bytes32`), you will need over a kilobyte of extra space to store one level per character, and each lookup or delete will take the full 64 steps. The Patricia trie introduced here solves this issue. -### Optimization +### Optimization {#optimization} Merkle Patricia tries solve the inefficiency issue by adding some extra complexity to the data structure. A node in a Merkle Patricia trie is one of the following: @@ -80,7 +80,7 @@ The optimization above however introduces some ambiguity. When traversing paths in nibbles, we may end up with an odd number of nibbles to traverse, but because all data is stored in `bytes` format, it is not possible to differentiate between, for instance, the nibble `1`, and the nibbles `01` (both must be stored as `<01>`). To specify odd length, the partial path is prefixed with a flag. -### Specification: Compact encoding of hex sequence with optional terminator +### Specification: Compact encoding of hex sequence with optional terminator {specification} The flagging of both _odd vs. even remaining partial path length_ and _leaf vs. extension node_ as described above reside in the first nibble of the partial path of any 2-item node. They result in the following: @@ -143,7 +143,7 @@ Here is the extended code for getting a node in the Merkle Patricia trie: path2.push(16) return get_helper(node,path2) -### Example Trie +### Example Trie {#example-trie} Suppose we want a trie containing four path/value pairs `('do', 'verb')`, `('dog', 'puppy')`, `('doge', 'coin')`, `('horse', 'stallion')`. @@ -166,9 +166,9 @@ When one node is referenced inside another node, what is included is `H(rlp.enco Note that when updating a trie, one needs to store the key/value pair `(sha3(x), x)` in a persistent lookup table _if_ the newly-created node has length >= 32. However, if the node is shorter than that, one does not need to store anything, since the function f(x) = x is reversible. -## Tries in Ethereum +## Tries in Ethereum {#tries-in-ethereum} -All of the merkle tries in Ethereum use a Merkle Patricia Trie. +All of the merkle tries in Ethereum's execution layer use a Merkle Patricia Trie. From a block header there are 3 roots from 3 of these tries. @@ -176,24 +176,24 @@ From a block header there are 3 roots from 3 of these tries. 2. transactionsRoot 3. receiptsRoot -### State Trie +### State Trie {#state-trie} There is one global state trie, and it updates over time. In it, a `path` is always: `sha3(ethereumAddress)` and a `value` is always: `rlp(ethereumAccount)`. More specifically an ethereum `account` is a 4 item array of `[nonce,balance,storageRoot,codeHash]`. At this point it's worth noting that this `storageRoot` is the root of another patricia trie: -### Storage Trie +### Storage Trie {#storage-trie} Storage trie is where _all_ contract data lives. There is a separate storage trie for each account. To calculate a 'path' in this trie first understand how solidity organizes a [variable's position](/json-rpc/API#eth_getstorageat). To get the `path` there is one extra hashing (the link does not describe this). For instance the `path` for the zeroith variable is `sha3(<0000000000000000000000000000000000000000000000000000000000000000>)` which is always `290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563`. The value at the leaf is the rlp encoding of the storage value `1234` (`0x04d2`), which is `<82 04 d2>`. For the mapping example, the `path` is `sha3(<6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9>)` -### Transactions Trie +### Transactions Trie {#transaction-trie} There is a separate transactions trie for every block. A `path` here is: `rlp(transactionIndex)`. `transactionIndex` is its index within the block it's mined. The ordering is mostly decided by a miner so this data is unknown until mined. After a block is mined, the transaction trie never updates. -### Receipts Trie +### Receipts Trie {#receipts-trie} Every block has its own Receipts trie. A `path` here is: `rlp(transactionIndex)`. `transactionIndex` is its index within the block it's mined. The receipts trie never updates. -## Further Reading +## Further Reading {#further-reading} [Modified Merkle Patricia Trie — How Ethereum saves a state](https://medium.com/codechain/modified-merkle-patricia-trie-how-ethereum-saves-a-state-e6d7555078dd) [Merkling in Ethereum](https://blog.ethereum.org/2015/11/15/merkling-in-ethereum/) diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures/ssz/index.md index 9e64fb727b5..ee03c161929 100644 --- a/src/content/developers/docs/data-structures/ssz/index.md +++ b/src/content/developers/docs/data-structures/ssz/index.md @@ -8,7 +8,7 @@ sidebarDepth: 2 Simple serialize (SSZ) is the serialization method used on the Beacon Chain. It replaces the RLP serialization used on the execution layer everywhere across the consensus layer except the peer discovery protocol. SSZ is specifically designed to be deterministic and compatible with Merkleization. -## How does SSZ work? {how-does-ssz-work} +## How does SSZ work? {#how-does-ssz-work} ### Serialization @@ -86,13 +86,13 @@ So the actual values for variable-length types are stored in a heap at the end o There are also some special cases that require spoecific treatment, such as the `BitList` typoe that requires a length cap to be added during serialization and removed during deserialization. Full details are available in the [SSZ spec](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md). -### Deserialization +### Deserialization {#deserialization} To deserialize this object requires the schema. The schema defines the precise layout of the serialized data so that each specific element can be deserialized from a blob of bytes into some meaningful object with the elements having the right type, value, size and position. It is the schema that tells the deserializer which values are actual values and which ones are offsets. All field names disappear when an object is serialized, but reinstantiated on deserialization according to the schema. NB See [ssz.dev](https://www.ssz.dev/overview) for an interactive explainer on this. -## Merkleization +## Merkleization {#merkleization} This SSZ serialized object can then be merkleized - that is transformed into a Merkle-tree representation of the same data. First, the number of 32-byte chunks in the serialized object is determined. These are the "leaves" of the tree. The total number of leaves must be a power of 2 so that hashign together the leaves eventually produces a single hash-tree-root. If this is not naturally the case, additional leaves containing 32 bytes of zeros are added. Diagramatically: @@ -114,20 +114,20 @@ There are also cases where the leaves of the tree do not naturally evenly distri Instead of referring to these tree elements as leaf X, node X etc, we can give them generalized indices, starting with root = 1 and counting from left to right along each level. This is the generalized index explained above. Each element in the serialized list has a generalized index equal to `2**depth + idx` where idx is its zero-indexed position in the serialized object and the depth is the number of levels in the Merkle tree, which can be determined as the square root of the number of elements (leaves). -## Generalized indices +## Generalized indices {#generalized-indices} A generalized index is an integer that represents a node in a binary merkle tree where each node has a generalized index `2 ** depth + index in row`. ``` 1 --depth = 0 2**0 + 0 = 1 2 3 --depth = 1 2**1 + 0 = 2, 2**1+1 = 3 - 4 5 6 7 --depth = 2 2**2 + 0 = 4, 2**2 + 1 = 5, 2**2 + 2 = 6, 2**2 + 3 = 7 + 4 5 6 7 --depth = 2 2**2 + 0 = 4, 2**2 + 1 = 5... ``` This representation yields a node index for each piece of data in the merkle tree. -## Multiproofs +## Multiproofs {#multiproofs} Providing the list of generalized indices representing a specific element allows us to verify it against the hash-tree-root. This root is our accepted version of reality. Any data we are provided can be verified against that reality by inserting it into the right place in the Merkle tree (determined by its generalized index) and observing that the root remains constant. There are functions in the spec [here](https://github.com/ethereum/consensus-specs/blob/dev/ssz/merkle-proofs.md#merkle-multiproofs) that show how to compute the minimal set of nodes required to verify the contents of a particular set of generalized indices. @@ -144,7 +144,7 @@ The hash of (8,9) should equal hash (4), which hashes with 5 to produce 2, which ``` -## Further Reading +## Further Reading {#further-reading} [Upgrading Ethereum: SSZ](https://eth2book.info/altair/part2/building_blocks/ssz) [Upgrading Ethereum: Merkleization](https://eth2book.info/altair/part2/building_blocks/merkleization) diff --git a/src/data/developer-docs-links.yaml b/src/data/developer-docs-links.yaml index e75f9473104..1779ebc4ac1 100644 --- a/src/data/developer-docs-links.yaml +++ b/src/data/developer-docs-links.yaml @@ -184,3 +184,7 @@ items: - id: docs-nav-data-structures-rlp to: /developers/docs/data-structures/rlp/ + - id: docs-nav-data-structures-patricia-merkle-trie + to: /developers/docs/data-structures/patricia-merkle-trie/ + - id: docs-nav-data-structures-ssz + to: /developers/docs/data-structures/ssz/ diff --git a/src/intl/en/page-developers-docs.json b/src/intl/en/page-developers-docs.json index 2676ed856f3..07b6bd08b32 100644 --- a/src/intl/en/page-developers-docs.json +++ b/src/intl/en/page-developers-docs.json @@ -96,6 +96,8 @@ "docs-nav-data-structures": "Data structures", "docs-nav-data-structures-description": "Explanation of the data structures used across the Ethereum stack", "docs-nav-data-structures-rlp": "Recursive-length prefix (RLP)", + "docs-nav-data-structures-patricia-merkle-trie": "Patricia merkle trie", + "docs-nav-data-structures-ssz": "Simple serialize (SSZ)", "page-calltocontribute-desc-1": "If you're an expert on the topic and want to contribute, edit this page and sprinkle it with your wisdom.", "page-calltocontribute-desc-2": "You'll be credited and you'll be helping the Ethereum community!", "page-calltocontribute-desc-3": "Use this flexible", From f7fceeeb00fd99adf3eb0546fdc50b4c2fa28c21 Mon Sep 17 00:00:00 2001 From: Joe Date: Wed, 30 Mar 2022 11:52:19 +0100 Subject: [PATCH 011/167] update menus --- src/data/developer-docs-links.yaml | 6 ++++++ src/intl/en/page-developers-docs.json | 3 +++ src/intl/en/page-developers-index.json | 5 ++++- src/pages/developers/index.js | 7 +++++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/data/developer-docs-links.yaml b/src/data/developer-docs-links.yaml index 1ba59bac1de..a9949ec2684 100644 --- a/src/data/developer-docs-links.yaml +++ b/src/data/developer-docs-links.yaml @@ -178,3 +178,9 @@ to: /developers/docs/scaling/plasma/ - id: docs-nav-scaling-validium to: /developers/docs/scaling/validium/ + - id: docs-nav-networking-layer + to: /developers/docs/networking-layer/ + description: docs-nav-networking-layer-description + items: + - id: docs-nav-networking-layer-network-addresses + to: /developers/docs/networking-layer/network-addresses/ diff --git a/src/intl/en/page-developers-docs.json b/src/intl/en/page-developers-docs.json index ea46a01a1e0..ce51571b92d 100644 --- a/src/intl/en/page-developers-docs.json +++ b/src/intl/en/page-developers-docs.json @@ -93,6 +93,9 @@ "docs-nav-transactions-description": "Transfers and other actions that cause Ethereum's state to change", "docs-nav-web2-vs-web3": "Web2 vs Web3", "docs-nav-web2-vs-web3-description": "The fundamental differences that blockchain-based applications provide", + "docs-nav-networking-layer": "Networking layer", + "docs-nav-networking-layer-description": "Explanation of Ethereum's networking layer", + "docs-nav-networking-layer-network-addresses": "Network addresses", "page-calltocontribute-desc-1": "If you're an expert on the topic and want to contribute, edit this page and sprinkle it with your wisdom.", "page-calltocontribute-desc-2": "You'll be credited and you'll be helping the Ethereum community!", "page-calltocontribute-desc-3": "Use this flexible", diff --git a/src/intl/en/page-developers-index.json b/src/intl/en/page-developers-index.json index 3cbda339ac8..f58687a2cda 100644 --- a/src/intl/en/page-developers-index.json +++ b/src/intl/en/page-developers-index.json @@ -84,5 +84,8 @@ "page-developers-transactions-desc": "The way Ethereum state changes", "page-developers-transactions-link": "Transactions", "page-developers-web3-desc": "How the web3 world of development is different", - "page-developers-web3-link": "Web2 vs Web3" + "page-developers-web3-link": "Web2 vs Web3", + "page-developers-networking-layer": "Networking Layer", + "page-developers-data-structures-link": "Networking Layer", + "page-developers-data-structures-desc": "Introduction to the Ethereum networking layer" } diff --git a/src/pages/developers/index.js b/src/pages/developers/index.js index d1a20b9bc4d..32913d48299 100644 --- a/src/pages/developers/index.js +++ b/src/pages/developers/index.js @@ -514,6 +514,13 @@ const DevelopersPage = ({ data }) => {

+ + + + +

+ +

From 53ed215dd9065c81d8923d37c57ea6ea704fc204 Mon Sep 17 00:00:00 2001 From: Joe Date: Wed, 30 Mar 2022 12:03:07 +0100 Subject: [PATCH 012/167] fix page links and page-dev-index links --- .../developers/docs/networking-layer/index.md | 44 +++++++++---------- src/intl/en/page-developers-index.json | 4 +- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index 0399da524af..16323368fc8 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -8,15 +8,15 @@ sidebarDepth: 2 Ethereum's networking layer is the stack of protocols that allows nodes to find each other and exchange information. After the merge there will be two pieces of client software (execution clients and consensus clients) each with their own separate networking stack. As well as communicating with other nodes on the Ethereum network, the execution and consensus clients also have to communicate with each other. This page gives an introductory explanation of the protocols that enable this communication to take place. -## Prerequisites {prerequisites} +## Prerequisites {#prerequisites} Some knowledge of Ethereum [nodes and clients](/src/content/developers/docs/nodes-and-clients/) will be helpful for understanding this page. -## The Execution Layer {execution-layer} +## The Execution Layer {#execution-layer} The execution layer's networking protocols can be divided into two stacks: the first is the discovery stack which is built on top of UDP and allows a new node to find peers to connect to. The second is the [DevP2P](https://github.com/ethereum/devp2p) stack that sits on top of TCP and allows nodes to exchange information. These layers act in parallel, with the discovery layer feeding new network participants into the network, and the DevP2P layer enabling their interactions. DevP2P is itself a whole stack of protocols that are implemented by Ethereum to establish and maintain the peer-to-peer network. -### Discovery {discovery} +### Discovery {#discovery} Discovery is the process of finding other nodes in network. This is bootstrapped using a small set of bootnodes that are [hardcoded](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go) into the client. These bootnodes exist to introduce a new node to a set of peers - this is their sole purpose, they do not participate in normal client tasks like syncing the chain, and they are only used the very first time a client is spun up. @@ -32,15 +32,15 @@ Once the new node receives a list of neighbours from the boot node, it begins a start client --> connect to boot node --> bond to boot node --> find neighbours --> bond to neighbours ``` -#### ENR: Ethereum Node Records +#### ENR: Ethereum Node Records {#enr} The [Ethereum Node Record (ENR)](/developers/docs/networking-layer/network addresses/) is an object that contains three basic elements: a signature (hash of record contents made according to some agreed identity scheme), a sequence number that tracks changes to the record, and an arbitrary list of key:value pairs. This is a future-proof format that allows easier exchange of identifying information between new peers and is the preferred [network address](/developers/docs/networking-layer/network-addresses) format for Ethereum nodes. -#### Why is discovery built on UDP? {why-udp} +#### Why is discovery built on UDP? {#why-udp} UDP does not support any error checking, resending of failed packets, or dynamically opening and closing connections - instead it just fires a continuous stream of information at a target, regardless of whether it is successfully received. This minimal functionality also translates into minimal overhead, making this kind of connection very fast. For discovery, where a node simply wants to make its presence known in order to then establish a formal connection with a peer, UDP is sufficient. However, for the rest of the networking stack, UDP is not fit for purpose. The informational exchange between nodes is quite complex and therefore needs a more fully featured protocol that can support resending, error checking etc. The additional overhead associated with TCP is worth the additional functionality. Therefore, the majority of the P2P stack operates over TCP. -## DevP2P {devp2p} +## DevP2P {#devp2p} After new nodes enter the network, their interactions are governed by protocols in the DevP2P stack. These all sit on top of TCP and include the RLPx transport protocol, wire protocol and several sub-protocols. [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md) is the protocol governing initiating, authenticating and maintaining sessions between nodes. RLPx encodes messages using RLP (Recursive Length Prefix) which is a very space-efficient method of encoding data into a minimal structure for sending between nodes. @@ -58,61 +58,61 @@ This is the information required for a successful interaction because it defines Along with the hello messages, the wire protocol can also send a "disconnect" message that gives warning to a peer that the connection will be closed. The wire protocol also includes PING and PONG messages that are sent periodically to keep a session open. The RLPx and wire protocol exchanges therefore establish the foundations of communication between the nodes, providing the scaffolding for useful information to be exchanged according to a specific sub-protocol. -### Sub-protocols {sub-protocols} +### Sub-protocols {#sub-protocols} -#### Eth (wire protocol) {wire-protocol} +#### Eth (wire protocol) {#wire-protocol} Once peers are connected and an RLPx session has been started, the wire protocol defines how peers communicate. There are three main tasks defined by the wire protocol: chain synchronization, block propagation and transaction exchange. Chain synchronization is the process of validating blocks near head of the chain, checking their proof-of-work data and re-executing their transactions to ensure their root hashes are correct, then cascading back in history via those blocks' parents, grandparents etc until the whole chain has been downloaed and validated. State sync is a faster alternative that only validates block headers. Block propagation is the process of sending and receiving newly mined blocks. Transaction exchnage refers to exchangign pending transactions between nodes so that miners can select some of them for inclusion in the next block. Detailed information about these tasks are available [here](https://github.com/ethereum/devp2p/blob/master/caps/eth.md). Clients that support these sub-protocols exose them via the [json-rpc](/developers/docs/apis/json-rpc). -#### les (light ethereum subprotocol) {les} +#### les (light ethereum subprotocol) {#les} This is a minimal protocol for syncing light clients. Traditionaly this protocol has rarely been used because full nodes are required to serve data to light clients without being incentivized. The default behaviour of execution clients is not to serve light client data over les. More information is available in the les [spec](https://github.com/ethereum/devp2p/blob/master/caps/les.md). -#### Snap {snap} +#### Snap {#snap} The [snap protocol](https://github.com/ethereum/devp2p/blob/master/caps/snap.md#ethereum-snapshot-protocol-snap) is an optional extension that allows peers to exchange snapshots of recent states, allowing peers to verify account and storage data without having to download intermediate Merkle trie nodes. -#### Wit (witness protocol) {wit} +#### Wit (witness protocol) {#wit} The [witness protocol](https://github.com/ethereum/devp2p/blob/master/caps/wit.md#ethereum-witness-protocol-wit) is an optional extension that enables exchange of state witnesses between peers, helping to sync clients to the tip of the chain. -#### Whisper {whisper} +#### Whisper {#whisper} This was a protocol that aimed to deliver secure messaging between peers without writing any information to the blockchain. It was part of the DevP2p wire protocol but is now deprecated. Other [related projects](https://wakunetwork.com/) exist with similar aims. -## Execution layer networking after the merge {execution-after-merge} +## Execution layer networking after the merge {#execution-after-merge} After the merge, an Ethereum node will run an execution client and a consensus client. The execution clients will operate similary to today, but with the proof-of-work consensus and block gossip functionality removed. The EVM, validator deposit contract and selecting/executing transactions from the mempool will still be the domain of the execution client. This means execution clients still need to participate in transaction gossip so that they can manage the transaction mempool. This requires encrypted communication between authenticated peers meaning the networking layer for consensus clients will still be a critical component, includng both the discovery protocol and DevP2P layer. Encoding will continue to be predominantly RLP on the execution layer. -## The consensus layer {consensus-layer} +## The consensus layer {#consensus-layer} The consensus clients participate in a separate peer-to-peer network with a different specification. Consensus clients need to participate in block gossip so that they can receive new blocks from peers and broadcast them when it is their turn to be block proposer. Similarly to the execution layer, this first requires a discovery protocol so that a node can find peers and establish secure sessions for exchanging blocks, attestations etc. -### Discovery {consensus-discovery} +### Discovery {#consensus-discovery} Similarly to the execution clients, consensus clients use [discv5](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-discovery-domain-discv5) over UDP for finding peers. The consensus layer implementation of discv5 differs from that of the execution clients only in that it includes an adaptor connecting discv5 into a [libP2P](https://libp2p.io/) stack, deprecating devP2P. The execution layer's RLPx sessions are deprecated in favour of libP2P's noise secure channel handshake. -### ENRs {consensus-enr} +### ENRs {#consensus-enr} The ENR for consensus nodes includes the node's public key, IP address, UDP and TCP ports and two consensus-specific fields: the attestation subnet bitfield and eth2 key. The former makes it easier for nodes to find peers participating in specific attestation gossip sub-networks. The eth2 key contans information about which Ethereum fork version the node is using, ensuring peers are connecting to the right Ethereum. -### libP2P {libp2p} +### libP2P {#libp2p} The libP2P stack supports all communications after discovery. Clients can dial and listen on IPv4 and/or IPv6 as defined in their ENR. The protocols on the libP2P layer can be subdivided into the gossip and req/resp domains. -### Gossip {gossip} +### Gossip {#gossip} The gossip domain includes all information that has to spread rapidly throughout the network. This includes beacon blocks, proofs, attestations, exits and slashings. This is transmitted using libP2P gossipsub v1 and relies on various metadata being stored locally at each node, including maximum size of gossip payloads to receive and transmit. Detailed information about the gossip domain is available [here](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub). -### Req/Resp {req-resp} +### Req/Resp {#req-resp} The request/response domain contains protocols for clients requesting specific information from their peers. Examples include requesting specific Beacon blocks matching certain root hashes or within a range of slots. The responses are always returned as snappy-compressed SSZ encoded bytes. -## Why does the consensus client prefer SSZ to RLP? {ssz-vs-rlp} +## Why does the consensus client prefer SSZ to RLP? {#ssz-vs-rlp} SSZ stands for simple serialization. It uses fixed offsets that make it easy to decode individual parts of an encoded message without having to decode the entire structure, which is very useful for the consensus client as it can efficiently grab specific pieces of information from encoded messages. It is also designed specifically to integrate with Merkle protocols, with related efficiency gains for Merkleization. Since all hashes in the consensus layer are Merkle roots, this adds up to a significant improvement. SSZ also guarantees unique representations of values. -## Connecting the execution and consensus clients +## Connecting the execution and consensus clients {#connecting-clients} After the merge, both consensus and execution clients will run in parallel. They need to be connected together so that the consensus client can provide instructions to the execution client and the execution client can pass bundles of transactions to the consensus client to include in Beacon Blocks. This communication between the two clients can be achieved using a local RPC connection. Since both clients sit behind a single network identity, they share a ENR (Ethereum node record) which contains a separate key for each client (eth1 key and eth2 key). @@ -147,7 +147,7 @@ Once the block has been attested by sufficient validators it is added to the hea Network layer schematic for post-merge consensus and execution clients, from [ethresear.ch](https://ethresear.ch/t/eth1-eth2-client-relationship/7248)

-## Further Reading +## Further Reading {#further-reading} [DevP2p](https://github.com/ethereum/devp2p) [LibP2p](https://github.com/libp2p/specs) diff --git a/src/intl/en/page-developers-index.json b/src/intl/en/page-developers-index.json index f58687a2cda..6350f93c146 100644 --- a/src/intl/en/page-developers-index.json +++ b/src/intl/en/page-developers-index.json @@ -86,6 +86,6 @@ "page-developers-web3-desc": "How the web3 world of development is different", "page-developers-web3-link": "Web2 vs Web3", "page-developers-networking-layer": "Networking Layer", - "page-developers-data-structures-link": "Networking Layer", - "page-developers-data-structures-desc": "Introduction to the Ethereum networking layer" + "page-developers-networking-layer-link": "Networking Layer", + "page-developers-networking-layer-desc": "Introduction to the Ethereum networking layer" } From 1fb4e468a31f963ef9833b73b38814085ebddb0a Mon Sep 17 00:00:00 2001 From: Joe Date: Wed, 30 Mar 2022 13:40:00 +0100 Subject: [PATCH 013/167] fix image links (html ->markdown) --- src/content/developers/docs/networking-layer/index.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index 16323368fc8..ef384a49bd6 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -139,13 +139,10 @@ A summary of the control flow is shown beloiw, with the relevant networking stac Once the block has been attested by sufficient validators it is added to the head of the chain, justified and eventually finalised. -

- -

- +![](./cons_client_net_layer.png) +![](./exe_client_net_layer.png) Network layer schematic for post-merge consensus and execution clients, from [ethresear.ch](https://ethresear.ch/t/eth1-eth2-client-relationship/7248) -

## Further Reading {#further-reading} From 64d75fd9903e65a00db66ef42f2be1cde2e7ef7e Mon Sep 17 00:00:00 2001 From: Joe Date: Wed, 30 Mar 2022 13:51:19 +0100 Subject: [PATCH 014/167] remove redundant image --- .../exe_cons_client_net_layer.png | Bin 7492 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/content/developers/docs/networking-layer/exe_cons_client_net_layer.png diff --git a/src/content/developers/docs/networking-layer/exe_cons_client_net_layer.png b/src/content/developers/docs/networking-layer/exe_cons_client_net_layer.png deleted file mode 100644 index 0fa59d88dd1b1b7c276e8a69c772340737744220..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7492 zcmb7}2T)T@yZ8eL_zEJgH0dZ+31A3CI*K% zfJj1bp-Tuzm)`Lo?|bje_s##_xpQaEw&&S-&Ys<~yU%Yo)<945@+FQ-AQ0%Xw$}Ye zAP@zH9C|O31t3}ZhWj88H=XwVyGDK!>(haLMxM&CeE% zf1v^bDRNyibcIYfKpKg%*8xWq;rq#3ymH98c!8Le9ouM%Op);6maUQZz6*sFFF|Nx z{P`}kZVc=ez&q92UUMvxeEObJc4O^J)B0>41R>mQ9~uKYslQvNB0U0g3l8_5q9l1# zRh)*iKwk&8&|A36>(tx?pC1jDp~g0h@b$_BPSmSxlNY;(Q|u2Us~CDtp5Go#B|L{fnwiwI|Y2mB=?{Yv=crZX5b4JbL|-{CHA{ z7Uy?`BkiL3#aGGiPMj3=Q|T?jo6k;phc6TQHL~ZEvifOALFd+y^CsDhm<9Zk4@nCJ zjZ?bW^8i~}&^tQT-_M}ggPMcpuo=zm=Vm1vhc4r+#?GP!6-hoPhDut;RpxVaS?anD zUspdnMlC78iwQWIG%Oqj5`5|_+buq8%8%o z!|cwS3N6j9#Vqj2V5eD7{l(sCF07bgJnPq|D20#vi>pbr_|e>_qs&dD0?#YI_8PsG ztWG}7Ucjg48C2wh#$H@=sufjSp~lPeGfgndcC$hrPOts#!rz^AKy?>WCyd$)+CO63 zd3|LnpL^Y;EJz@^ZJhzt7+%M9+cjBvyKE;djCO-AG0~7I4mJT)eVyl@Rm1YRKCsq- z`h<+C4Vor$KP}*qDCL%Pk#XqUc&{=ivfz?g zjqq1*Ll!-IF^XXX$)vsb+wYN*?2j+^RJ6}8zJbO(>Tj1-5?@r-lR`JylW%q znp@`*1=5PXKS}8{g*<`=xy97YBSIbEA}`Zuc@^WfjUa0VL6^CX=#%i0w*h+o424T` zC9QXuG>ixL92t+qIzzAjnS*ele^36A{cHTc=zSmUy0tFHIoflsQ3J#tycf?bLJDdM z;3k$R8azM0JxSbq+pggLK9@!ZX2%CzN~Pm~+WP*anQQvJ0bRWKap_IfTX-4-m-A4F z>f3#lK+LXa{1r~WHfD#$Yjnpx?u$<(*+I{=Y4+_`J&x`cmN1DL1{sY3mByJ-zF!iT zvz6lfgQQ-Z2A|gI?>UbKz>MY>9!$FMv$EWupRtl5Mg*Ur%C}M(34)GG$F7K~eYVbl z(WIfp<$#byr_*Mn8e$L#Pm|cN3+tdkkNGgngE`rp9dstvAl}Tq{)rQ98$%dW$>M7> zHAD@NpN*#W7I$*rI+IsXZWie5N1_S3h$}3w*h6mb7qsFz5cG-KS$ml;+FpG-q{vtv z#x>r@tHJ*WU9oi3cAagxMfy;CSm{Jtv23xkufB)AEovGzKT?RopoiJHxGa~mg34c=&43KiZm@@Fy8-KpFLJ6Hr5^Lh(v@Eemc$a}lt!u~aztJA^N6_G&S%;zae*FCj zC6~)CgJDCm`+Pj^t+@#Yz!p+8s94f zfkqJK91l|UK#9FIkCKt>pA$?^p#+f4lP7=LIJg!qXr)IP>QVLW9LEQ!e2wm%vwM|U z8Gvb(HVj$~;LbV<(5`9}KLvj~Upz56J$)DLxMyn2bzlNJ^~nDAiLhZO%JV{Oc_&(8 zE;s6Zxv8n(L`fZdJ75|mO|%RU{mPMVN(r*!HZ1@6$m75S#}PMqzZaiJ4H_0Y@$qMw z6jH~zc?sqe(0Gh&1N#bVaVz$%PQ$#)O*F;H(PP_LEV6+~Soa%az@+WOF{$$VLY}L} zwkw)Gp2ZPmFKTdAQ)~>#SFvzzTv9t8#dVF~t#%UEKlX~uGTP{?*Co?iB&*P_)>+Hi zcTUqTON+YAHtmJ|ir7_}sr|jt2+gB=ue;E>wjRB&sDyD+zj8#^qF2N1qn08mHV_#? z0ZO0XOXBM|$TL0J|=2ewy;vCjfj%_dB%dx?4M^ z90#X)s0yZvLq+IB`#-i;BUCYauIw65*66G6H_xvzt)bXz7l+VvV`bBhZ07wMRfJ(( z26A_5@Bij{GaW(IqvdN_Nsm$&+Rf69?*9A$i_b8q!i5new0TTcqO@wh(v#X_YVLb* zArr2Sly|y)Y}RU8D>+6in}JjzLeiwV{5lY8JeIPS8ZW*}vqSG0PuX(Eg_GKgv5GLC ztn*X4Z#yLnDryBim8~vhRPsiw3vhiSu&=91P=2eUcE^^=fS&p8q|kv*0)K`x zW_@Mupu3rhA4e%;w4OY(R3+&DE?DgwSkjgUKgHssb`olT#{a#x_LpW0m(DIl&c?tX zJ`NsFnpnI2y;=LYpfa4!R~^-8;GtMH6Np^C9unts9rG>XE6$gMLytaGj%;p_l5)~~ z?HD@?KRBI#Mk85yJteC|D$lIfD@Y-IDbMsnf=g%4>* z9C79WcG}!=OY_fX=z3t-y<`@^?m0WoqWz?D2Dd%uvmcVWJFw{FY(^Yam%b9ettLj_ zaj@s8vpo&;;YExKEwD$PWh-*(nm;+ODRPd4@PbIW-;O$eMSR92*T)gb6)uy$xkOQl zDEySxL{axhVG%z`7eFG_@>-@}W)WP&19I@^B@aIh_{||V(`nz(s>DNW1+Ge^Xk(JX z&cv<1)EsW{E~SjZ3oh&}CogTACoFOac)(7PO`+Z(bra__B>Pu1XSuc>hzn%~K!z9< zDpd+f!EP=czf)`BlvuDP;Mi3`JQd*nP)0lcutVoJVErjh09MA3czIdy20SCaaqTno zmdP)Sw3rm62W!EaBUg|&eUZg1E$~Syk~D>O#%X8XXn2>uJh|3c)c|e6!87*mSk&AG zjshS<<*46f80C25nRKTcHvm{ZHiQ-Hzi3=WC`8%?GDytL`2DUau2;f>d!T;qF2<*; zM{7Kgp?pG5kzGFU0)+*~LmDm&DQg*Y@dE*pUbbpwZtt8Ee4y+menT>OKRBa<&i1NN@U~o6{)|fcgr|U4V_3_>hrH$aI1&xKIBi7# zMj$iv6S~!S(sdMGTyj8P|3C$rgIeoLa2&k_Xh5Au(qm#!l_u7Y_eFr?Cqbed9XJQM zn5gI95&|%!$UNDMX+xW*n$=DHc=2PmFqBUO?^&TR=J=RC3*S`Jj5!2Iw<$4-v<&-F4QTToY_DHUlu_?=_)MN@ykCVB`m-SH)l^22X>q2dhKi7bAt; zS(WTEv~Zk&V<-Dko(LDF2_yUJwXpFey!$=$>}`;`ee(8uX7HGX5Uox3VXG8c820zok+kKMqCRgyD@5} ziLMg#m`&!*f+RfGo)9wygr@5q-VZ&G&ZXv)`E|B1yPK2URB%~or_7&Knxj8dA2t^ zmC(bAO%FH2kofe!p`Po61{cD9l3TbVw?cpY)@*0t#@F=X-mXo1hSi9aa6}of+iGA= zsn(f(a!}N8w!NEOQg~Ah5J+yBXxYCTcq?UiS_Fa!Px|aRLZ-qn}Ejc9^xX|vb&(a*n1>t7HzzP zc-est#W`h>e<$FGU`F<*X(T7%{gdjN7!;Krgfj?84Zqf><9Wu_r2&EFz?kH*xMzSk zAwN+W+Rcg8!Cmd>>lXuPpw1DRIE{SN0$(RI&BD41XuYB`z7vZikwL~UI>`3|Z-j@J z`9k=SY;fvSF{nK!2%cdNRfr04`)hW!<>t!Qb&74__Jl58qtNGeA;q#7X#v7-0pM~q zwWv13r=o)JDhhM$ zQ{U&Uo5=2UgLswZFVp3l*RbF!;BpZ^o^^9|ZOz-rMv(Aw@(QowxLf%A#+SNax#H1s z*zNSs@2{8>BIVn-9BZAvM?hS!9g2HOS{35GG8DNAC@?V-0f* zU*Ie3*YOM@%Pv4n$W^0?{-dVys3opLhy3URRuE_^Dq29v@4hD^5jg@rh_KRMFLQrw zF?$ivMKo_RxyA$8~jm7s~5TkC-HBBW>* z-vM6Y#y^1cM8h^0vn!FlG6^jI9lWjI?6?uwI^WCbR6_CCg#8t4eTR)Ljuh#CbXIQZw-CzNydQ&77g`*?mu7m3#K zms#veVUvtkMUzx5lbg=$njvnr@CWgLSQ1objT!BEdsWzU0^qEUiDX>2gX;bKnBT}D z@mGpvs&D12%)V2|U8F~ss=ifxs|*x}#sN6KCd6e1c#2YA5^=Wq0!2;)9;stlbUDmhP0# z&C7v>bRW>gCh*#z^zb{!kV%5Q16LTPgY&LG*5%kh zFk)Wzabm&QRAdDn2OAXtIwglvA#tcmTy0t`$_-cS(7Izx<~XSw7!Bgf!ZN0+@hESR z3Z5~&m!I00?UpfRps@1=1IqcmsiM0QTsjwd0bcBp=p;Ek|7r)7jl&|Fj(Y?KuVf-g zLkR-@^H+9ko_HFFq8=Z^&hc8l7N(E3%~aK}SpwZ1XrVyY5bw!lOtL`bqW1ol3_Jrr zdZ4Ggl$<`>=E`Dx9c(* z(mN)Z28o09;tu(I(*(Ftd`y@eB)1Y#FLi-A^SJRQwHDj#_NC%+(n>eKEIm=G&J~~y!vGV zD&Q^8tDuBH^?iF9$O*f$H;qJii}y%&taY`6WtAw@T4GsxOkIh(<~Qn~R(GYM=5WWg zK9CScYyI%}^aq_^$@P_$5#!i>#|mVNl_r4q%bfZCGqH_Zv`%-z9O5j}2lP>boYI0~ zNaf=)H{rh7qCYN3$CPK#VrFeky;W8x2^Y~LcU=3b6_XSH9oG_G{THo0{~u_LZ}+97Tbd`Is9uqq&$V(CXy! z%M1FwZGoocZWa5UW+Ro4+KNNt{z8Bil=U<+M0NU=`Db8%ivAx^+kP*DaT%pNMFou< zLJ0bU2Ow6Ox8J4kKU-`M`fH<%^tQT?HhnDx(kg&uLxzCsIF_|`z*)v8EgZmBxTV$! zkL~;?lAS3`=?+@{ElKxUvkv8hu})P)zqhVtfTmONf4_?Lu#tT5vKiVuy>Vl?CVwTl z2tfhDB8SsUf=4OMz^rurtWwSW4+HdN;)i##?2o>+!?DvZWwktQzkwg|xItHeW~~4` z$!+@=cl(su*Pg3gnhjhchRwbAb%m?eJUTq>_c?7oPc?e6jrv@`gU^vbN`Mo~1oOux zAIh-^+&z+^D=>{t{EQ7^GN?}$8Di8M2QgEr_t$qTF%e@(y)MmJ+#%Z=?WOn|dpBh8 zez8y8Nm`iqGG6e-%J-ZTw2G^|hQ&pZD)V+eHekwUQJN2BMdQRW6fj>!Hif2NAI6A{ zv&@1YNx*kxZYeG#Lk7WRcy#tiKzGSAw#@lV;s1uo82&#doAA*xBR!MvEc6|YjJI0%g50g=#}a4WBL z*aw}*icwa2pwO%3;ogF$N}YEtbNGFqHw{yjh9Q)7_wGSHEL{wwQhV)l-r<9>8-;wB zB|S7_RXHar4nCnzFHk<)aiuvFD`sNRWcRyR53bGCVMuKN2kTg>%7@-4uX8j)QZG`` zi59$oTVUMKLUI((p2AUyzq0LTp-|g;dy=m71kTqYMD;OjYCPt*pdXVcIj{i_{Payxt4Zt6AvSKXI{m93`MN8uEzcCg#yDNEy)i3ia9N)yk#20JkboO?i z92!hyO%0`zcVxg4p(k%lObsq}$8fgI_x_ZOhm8`Sb$>yUR_ zb60gv`0jF(Pu99|(%iETy`fP{HDn%4B($oRB%k=tJ9XQWtrbOm9AQm#@83H1=5%o z<+Jzd?Av!rIkP|uQFTra?sw>zmRH>*!(C8CE6Zi_0Vdb|uL@5!J`uL>^>OxWh}^Cz zG_(8(umyc=$I1VC%Ya{5g_3>x@08F$?nxhq48A~}-nIQfRa=yjp|?&nVCYccnEff@ z&vHiU9r&af&GtvCmv@&<6Mpdr@|p4arQ#VyV^YL+)Mn zanTTMW$3uZl_pK(b`Vd$u&~*8YBmPsB;NQVl;Lc0atX9W29@~H`nW8`|HY*^0h!|5*J;;N z|J<8XXO)cKiN9rdd`dsDiSV}N%b}Sx7?Mh}22Sp|{zcFJcw;tme!pkPJuj)49+jfF z?X)vNyB-xM99(_0J}jGeJ*0$(^zSzW|5^IiD};aY|6c8X)BhjL$U&Pu8zVaV6HyWS e{n3QqR4sGPH!R)_qW@fvYOCwrue@jT^8W$a=g>(2 From 20b2950b887180900f32d82a26ef79e968a68a26 Mon Sep 17 00:00:00 2001 From: Joe Date: Wed, 30 Mar 2022 13:52:25 +0100 Subject: [PATCH 015/167] fix page section links --- .../docs/networking-layer/network-addresses/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index 3df7d844828..770f2d3a379 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -12,7 +12,7 @@ Ethereum nodes have to identify themselves with some basic information so that t Some understanding of Ethereum's [networking layer](/src/content/developers/docs/networking-layer/) will be helpful to understand this page. -## Multiaddr {multiaddr} +## Multiaddr {#multiaddr} The original network address format was the "multiaddr". This is a universal format not only designed for Ethereum nodes but other peer-to-peer networks too. Addresses are represented as key-value pairs with keys and values separated with a forward slash, e.g. the multiaddr for a node with IPv4 address `192.168.22.27` listening to TCP port `33000` looks like: @@ -22,7 +22,7 @@ For an Ethereum node, the multiaddr has the node-ID (hash of their public key), `/ip6/192.168.22.27/tcp/33000/p2p/5t7Nv7dG2d6ffbvAiewVsEwWweU3LdebSqX2y1bPrW8br` -## Enode {enode} +## Enode {#enode} An ethereum node can also be described using the enode URL scheme. The hexadecimal node-ID is encoded in the username portion of the URLseparated from the host using an @ sign. The hostname can only be given as an IP address, DNS nammes are not allowed. The port in the host name section is the TCP listening port. If the TCP and UDP (discovery) ports differ the UDP port is specified as a query parameter "discport". @@ -30,11 +30,11 @@ In the following example, the node URL describes a node with IP address `10.3.58 `enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@10.3.58.6:30303?discport=30301` -## Ethereum Node Records (ENRs) {enr} +## Ethereum Node Records (ENRs) {#enr} Ethereum Node Records (ENRs) are a standardized format for network addresses on Ethereum. They supercede multiaddresses and enodes. These are especially useful because they allow greater informational exchange between nodes. The ENR contains a signature, sequence number and fields detailing the identity scheme used to generate and validate signatures. The rest of the record can be populated with arbitrary data organised as key-value pairs. These key-value pairs contain the node's IP address and information about the sub-protocols the node is able to use. Consensus clients use a [specific ENR structure](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure) to identify boot nodes and also include an `eth2` field containing information about the current Ethereum fork and the attestation gossip subnet (this connects the node to a particular set of peers whose attestations are aggregated together). -## Further Reading +## Further Reading {#further-reading} [ENR EIP](https://eips.ethereum.org/EIPS/eip-778) [Network addresses in Ethereum](https://dean.eigenmann.me/blog/2020/01/21/network-addresses-in-ethereum/) From a9f7f921d17599d245181c44a69cca56d6d9f3e7 Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 31 Mar 2022 11:29:04 +0100 Subject: [PATCH 016/167] rm notes accidentally committed & + to gitignore --- development-notes.md | 75 -------------------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 development-notes.md diff --git a/development-notes.md b/development-notes.md deleted file mode 100644 index 1d80e3d8b3d..00000000000 --- a/development-notes.md +++ /dev/null @@ -1,75 +0,0 @@ -To add a new page to ethereum.org: - -If the new page needs a new directory, create it and also create a landing page named index.md -Then create a subdir for the specific page, inside create the content file index.md. - -e.g. new dir in /developer/docs/ - -``` -developers -| -|---- docs - | - |----data-structures - | - |----index.md - |----rlp - | - |----index.md - -``` - -`data-structures/index.md` is a landing page with links to the content in its subdirectories but usually containing some introductory information about the topic. -The specific content about (e.g.) rlp serialization goes in `/data-structures/rlp/index.md`. - -Then this page needs to be made visible in the top menu and sidebar menu. This requires additions to four files. - -1. /src/data/developers-docs-links.yaml - -This file includes links that are used to automatically update links to translated pages. Copy the syntax from other pages, nesting where appropriate - -e.g. - -```yaml - ---- -- id: docs-nav-data-structures - to: /developers/docs/data-structures/ - description: docs-nav-data-structures-description - items: - - id: docs-nav-data-structures-rlp - to: /developers/docs/data-structures/rlp/ -``` - -2. src/intl/en/page-developers-docs.json - -This adds info necessary for including the pages in menus. Copy syntax from othe rpages and add for new page. -e.g. - -```yaml -... - "docs-nav-data-structures": "Data structures", - "docs-nav-data-structures-description": "Explanation of the data structures used across the Ethereum stack", - "docs-nav-data-structures-rlp": "Recursive-length prefix (RLP)", - -``` - -3. src/intl/en/page-developers-index.json - -```yaml - -``` - -4. src/pages/developers/index.js - Adds link to the developers landing page - -```yaml - ---- - - - -

- -

-``` From add5f4336c867559b251fa082f2df6982f7688ab Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 31 Mar 2022 11:29:23 +0100 Subject: [PATCH 017/167] update img link --- src/content/developers/docs/networking-layer/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index ef384a49bd6..269c0cea36b 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -139,8 +139,8 @@ A summary of the control flow is shown beloiw, with the relevant networking stac Once the block has been attested by sufficient validators it is added to the head of the chain, justified and eventually finalised. -![](./cons_client_net_layer.png) -![](./exe_client_net_layer.png) +![](cons_client_net_layer.png) +![](exe_client_net_layer.png) Network layer schematic for post-merge consensus and execution clients, from [ethresear.ch](https://ethresear.ch/t/eth1-eth2-client-relationship/7248) From fe7a497790be222e25c3769d23807ca6faea5a32 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 5 Apr 2022 13:37:54 +0100 Subject: [PATCH 018/167] Update src/content/developers/docs/networking-layer/network-addresses/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- .../developers/docs/networking-layer/network-addresses/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index 770f2d3a379..44482cdba07 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -6,7 +6,7 @@ sidebar: true sidebarDepth: 2 --- -Ethereum nodes have to identify themselves with some basic information so that they can connect to peers. To ensure this information can be interpreted by any potential peer it is relayed in one of three standardized formats that any Ethereum node can understand: multiaddr, enode and Ethereum Node Records. +Ethereum nodes have to identify themselves with some basic information to connect to peers. To ensure any potential peer can interpret this information, it is relayed in one of three standardized formats that any Ethereum node can understand: multiaddr, enode, or Ethereum Node Records. ## Prerequisites {#prerequisites} From a68156ff691f7934c41b5b35d17f400cb80b7b92 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 5 Apr 2022 13:40:09 +0100 Subject: [PATCH 019/167] Update src/content/developers/docs/networking-layer/network-addresses/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- .../developers/docs/networking-layer/network-addresses/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index 44482cdba07..8e54e3cf17a 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -14,7 +14,7 @@ Some understanding of Ethereum's [networking layer](/src/content/developers/docs ## Multiaddr {#multiaddr} -The original network address format was the "multiaddr". This is a universal format not only designed for Ethereum nodes but other peer-to-peer networks too. Addresses are represented as key-value pairs with keys and values separated with a forward slash, e.g. the multiaddr for a node with IPv4 address `192.168.22.27` listening to TCP port `33000` looks like: +The original network address format was the 'multiaddr'. Multiaddr is a universal format designed for peer-to-peer networks. Addresses are represented as key-value pairs with keys and values separated with a forward slash. For example, the multiaddr for a node with IPv4 address `192.168.22.27` listening to TCP port `33000` looks like: `/ip6/192.168.22.27/tcp/33000` From cdc9548334587f5bec232d34cb1d5677b3613e0e Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 5 Apr 2022 13:40:30 +0100 Subject: [PATCH 020/167] Update src/content/developers/docs/networking-layer/network-addresses/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- .../developers/docs/networking-layer/network-addresses/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index 8e54e3cf17a..bc0eed8fb09 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -18,7 +18,7 @@ The original network address format was the 'multiaddr'. Multiaddr is a universa `/ip6/192.168.22.27/tcp/33000` -For an Ethereum node, the multiaddr has the node-ID (hash of their public key), for example: +For an Ethereum node, the multiaddr contains the node-ID (a hash of their public key): `/ip6/192.168.22.27/tcp/33000/p2p/5t7Nv7dG2d6ffbvAiewVsEwWweU3LdebSqX2y1bPrW8br` From 59e2af7b1025612f40de5f29675a3a6e29b0e74e Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 5 Apr 2022 13:44:46 +0100 Subject: [PATCH 021/167] Update src/content/developers/docs/networking-layer/network-addresses/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- .../developers/docs/networking-layer/network-addresses/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index bc0eed8fb09..af3b76243ca 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -24,7 +24,7 @@ For an Ethereum node, the multiaddr contains the node-ID (a hash of their public ## Enode {#enode} -An ethereum node can also be described using the enode URL scheme. The hexadecimal node-ID is encoded in the username portion of the URLseparated from the host using an @ sign. The hostname can only be given as an IP address, DNS nammes are not allowed. The port in the host name section is the TCP listening port. If the TCP and UDP (discovery) ports differ the UDP port is specified as a query parameter "discport". +An Ethereum node can also be described using the enode URL scheme. The hexadecimal node-ID is encoded in the username portion of the URL separated from the host using an @ sign. The hostname can only be given as an IP address; DNS names are not allowed. The port in the hostname section is the TCP listening port. If the TCP and UDP (discovery) ports differ, the UDP port is specified as a query parameter "discport" In the following example, the node URL describes a node with IP address `10.3.58`, TCP port `30303` and UDP discovery port `30301`. From 7e410dd49b2e3822b8ad822c423ec090beffd2cf Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 5 Apr 2022 13:49:48 +0100 Subject: [PATCH 022/167] Update src/content/developers/docs/networking-layer/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/networking-layer/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index 269c0cea36b..de448a4dde6 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -20,7 +20,7 @@ The execution layer's networking protocols can be divided into two stacks: the f Discovery is the process of finding other nodes in network. This is bootstrapped using a small set of bootnodes that are [hardcoded](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go) into the client. These bootnodes exist to introduce a new node to a set of peers - this is their sole purpose, they do not participate in normal client tasks like syncing the chain, and they are only used the very first time a client is spun up. -The protocol used for the node-bootnode interactions is a modified form of [Kademlia](https://medium.com/coinmonks/a-brief-overview-of-kademlia-and-its-use-in-various-decentralized-platforms-da08a7f72b8f) which uses a distributed hash table to share lists of nodes. Each node has a version of this table containing information required to connect to its closest peers. This "closeness" is not geographical - distance is defined by the similarity of the node's ID. Each node's table is regularly refreshed as a security feature. In the [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5) discovery protocol nodes are also able to send "ads" that display the subprotocols that client supports, allowing peers to negotiate about the protocols they can both use to communicate over. +The protocol used for the node-bootnode interactions is a modified form of [Kademlia](https://medium.com/coinmonks/a-brief-overview-of-kademlia-and-its-use-in-various-decentralized-platforms-da08a7f72b8f) which uses a distributed hash table to share lists of nodes. Each node has a version of this table containing the information required to connect to its closest peers. This 'closeness' is not geographical - distance is defined by the similarity of the node's ID. Each node's table is regularly refreshed as a security feature. For example, in the [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5), discovery protocol nodes are also able to send 'ads' that display the subprotocols that the client supports, allowing peers to negotiate about the protocols they can both use to communicate over. Discovery starts wih a game of PING-PONG. A successful PING-PONG "bonds" the new node to a boot node. The initial message that alerts a boot node to the existence of a new node entering the network is a `PING`. This `PING` includes hashed information about the new node, the boot node and an expiry time-stamp. The boot node receives the PING and returns a `PONG` containing the `PING` hash. If the `PING` and `PONG` hashes match then the connection between the new node and boot node is verified and they are said to have "bonded". From 8c18b868b58c71c8db5dc104c47964048217e3ea Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 5 Apr 2022 14:02:28 +0100 Subject: [PATCH 023/167] udpate according to @minimalsm review comments --- .../developers/docs/networking-layer/index.md | 12 ++++++------ .../docs/networking-layer/network-addresses/index.md | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index de448a4dde6..53c4e391760 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -14,22 +14,22 @@ Some knowledge of Ethereum [nodes and clients](/src/content/developers/docs/node ## The Execution Layer {#execution-layer} -The execution layer's networking protocols can be divided into two stacks: the first is the discovery stack which is built on top of UDP and allows a new node to find peers to connect to. The second is the [DevP2P](https://github.com/ethereum/devp2p) stack that sits on top of TCP and allows nodes to exchange information. These layers act in parallel, with the discovery layer feeding new network participants into the network, and the DevP2P layer enabling their interactions. DevP2P is itself a whole stack of protocols that are implemented by Ethereum to establish and maintain the peer-to-peer network. +The execution layer's networking protocols can be divided into two stacks: the first is the discovery stack which is built on top of UDP and allows a new node to find peers to connect to. The second is the [DevP2P](https://github.com/ethereum/devp2p) stack that sits on top of TCP and allows nodes to exchange information. These stacks act in parallel, with the discovery stack feeding new network participants into the network, and the DevP2P stack enabling their interactions. DevP2P is itself a whole stack of protocols that are implemented by Ethereum to establish and maintain the peer-to-peer network. ### Discovery {#discovery} -Discovery is the process of finding other nodes in network. This is bootstrapped using a small set of bootnodes that are [hardcoded](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go) into the client. These bootnodes exist to introduce a new node to a set of peers - this is their sole purpose, they do not participate in normal client tasks like syncing the chain, and they are only used the very first time a client is spun up. +Discovery is the process of finding other nodes in network. This is bootstrapped using a small set of bootnodes (nodes whose addresses are [hardcoded](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go) into the client so they can be found immediately and connect the client to peers). These bootnodes only exist to introduce a new node to a set of peers - this is their sole purpose, they do not participate in normal client tasks like syncing the chain, and they are only used the very first time a client is spun up. The protocol used for the node-bootnode interactions is a modified form of [Kademlia](https://medium.com/coinmonks/a-brief-overview-of-kademlia-and-its-use-in-various-decentralized-platforms-da08a7f72b8f) which uses a distributed hash table to share lists of nodes. Each node has a version of this table containing the information required to connect to its closest peers. This 'closeness' is not geographical - distance is defined by the similarity of the node's ID. Each node's table is regularly refreshed as a security feature. For example, in the [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5), discovery protocol nodes are also able to send 'ads' that display the subprotocols that the client supports, allowing peers to negotiate about the protocols they can both use to communicate over. -Discovery starts wih a game of PING-PONG. A successful PING-PONG "bonds" the new node to a boot node. The initial message that alerts a boot node to the existence of a new node entering the network is a `PING`. This `PING` includes hashed information about the new node, the boot node and an expiry time-stamp. The boot node receives the PING and returns a `PONG` containing the `PING` hash. If the `PING` and `PONG` hashes match then the connection between the new node and boot node is verified and they are said to have "bonded". +Discovery starts wih a game of PING-PONG. A successful PING-PONG "bonds" the new node to a bootnode. The initial message that alerts a bootnode to the existence of a new node entering the network is a `PING`. This `PING` includes hashed information about the new node, the bootnode and an expiry time-stamp. The bootnode receives the PING and returns a `PONG` containing the `PING` hash. If the `PING` and `PONG` hashes match then the connection between the new node and bootnode is verified and they are said to have "bonded". -Once bonded, the new node can send a `FIND-NEIGHBOURS` request to the boot node. The data returned by the boot node includes a list of peers that the new node can connect to. If the nodes are not bonded, the `FIND-NEIGHBOURS` request will fail, so the new node will not be able to enter the network. +Once bonded, the new node can send a `FIND-NEIGHBOURS` request to the bootnode. The data returned by the bootnode includes a list of peers that the new node can connect to. If the nodes are not bonded, the `FIND-NEIGHBOURS` request will fail, so the new node will not be able to enter the network. -Once the new node receives a list of neighbours from the boot node, it begins a PING-PONG exchange with each of them. Successful PING-PONGs bond the new node with its neighbours, enabling message exchange. +Once the new node receives a list of neighbours from the bootnode, it begins a PING-PONG exchange with each of them. Successful PING-PONGs bond the new node with its neighbours, enabling message exchange. ``` -start client --> connect to boot node --> bond to boot node --> find neighbours --> bond to neighbours +start client --> connect to bootnode --> bond to bootnode --> find neighbours --> bond to neighbours ``` #### ENR: Ethereum Node Records {#enr} diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index af3b76243ca..7fba902c302 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -14,7 +14,7 @@ Some understanding of Ethereum's [networking layer](/src/content/developers/docs ## Multiaddr {#multiaddr} -The original network address format was the 'multiaddr'. Multiaddr is a universal format designed for peer-to-peer networks. Addresses are represented as key-value pairs with keys and values separated with a forward slash. For example, the multiaddr for a node with IPv4 address `192.168.22.27` listening to TCP port `33000` looks like: +The original Ethereum node address format was the 'multiaddr'. Multiaddr is a universal format designed for peer-to-peer networks. Addresses are represented as key-value pairs with keys and values separated with a forward slash. For example, the multiaddr for a node with IPv4 address `192.168.22.27` listening to TCP port `33000` looks like: `/ip6/192.168.22.27/tcp/33000` @@ -24,7 +24,7 @@ For an Ethereum node, the multiaddr contains the node-ID (a hash of their public ## Enode {#enode} -An Ethereum node can also be described using the enode URL scheme. The hexadecimal node-ID is encoded in the username portion of the URL separated from the host using an @ sign. The hostname can only be given as an IP address; DNS names are not allowed. The port in the hostname section is the TCP listening port. If the TCP and UDP (discovery) ports differ, the UDP port is specified as a query parameter "discport" +An enode is a way to identify an Ethereum node using a URL address format. The hexadecimal node-ID is encoded in the username portion of the URL separated from the host using an @ sign. The hostname can only be given as an IP address; DNS names are not allowed. The port in the hostname section is the TCP listening port. If the TCP and UDP (discovery) ports differ, the UDP port is specified as a query parameter "discport" In the following example, the node URL describes a node with IP address `10.3.58`, TCP port `30303` and UDP discovery port `30301`. From bf4c4070e7453f4f40da07598db4ff1c37fb0a16 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 5 Apr 2022 14:07:09 +0100 Subject: [PATCH 024/167] DevP2P info to DevP2P section, move link --- src/content/developers/docs/networking-layer/index.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index 53c4e391760..785d82388d3 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -14,7 +14,13 @@ Some knowledge of Ethereum [nodes and clients](/src/content/developers/docs/node ## The Execution Layer {#execution-layer} -The execution layer's networking protocols can be divided into two stacks: the first is the discovery stack which is built on top of UDP and allows a new node to find peers to connect to. The second is the [DevP2P](https://github.com/ethereum/devp2p) stack that sits on top of TCP and allows nodes to exchange information. These stacks act in parallel, with the discovery stack feeding new network participants into the network, and the DevP2P stack enabling their interactions. DevP2P is itself a whole stack of protocols that are implemented by Ethereum to establish and maintain the peer-to-peer network. +The execution layer's networking protocols is divided into two stacks: + +- the discovery stack: built on top of UDP and allows a new node to find peers to connect to + +- the DevP2P stack: sits on top of TCP and enables nodes to exchange information + +Both stacks work in parallel. The discovery stack feeds new network participants into the network, and the DevP2P stack enables their interactions. ### Discovery {#discovery} @@ -42,7 +48,7 @@ UDP does not support any error checking, resending of failed packets, or dynamic ## DevP2P {#devp2p} -After new nodes enter the network, their interactions are governed by protocols in the DevP2P stack. These all sit on top of TCP and include the RLPx transport protocol, wire protocol and several sub-protocols. [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md) is the protocol governing initiating, authenticating and maintaining sessions between nodes. RLPx encodes messages using RLP (Recursive Length Prefix) which is a very space-efficient method of encoding data into a minimal structure for sending between nodes. +DevP2P is itself a whole stack of protocols that Ethereum implements to establish and maintain the peer-to-peer network. After new nodes enter the network, their interactions are governed by protocols in the [DevP2P](https://github.com/ethereum/devp2p) stack. These all sit on top of TCP and include the RLPx transport protocol, wire protocol and several sub-protocols. [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md) is the protocol governing initiating, authenticating and maintaining sessions between nodes. RLPx encodes messages using RLP (Recursive Length Prefix) which is a very space-efficient method of encoding data into a minimal structure for sending between nodes. A RLPx session between two nodes begins with an initial cryptographic handshake. This involves the node sending an auth message which is then verified by the peer. On successful verification, the peer generates an auth-acknowledgement message to return to the initiator node. This is a key-exchange process that enables the nodes to communicate privately and securely. A successful cryptographic handshake then triggers both nodes to to send a "hello" message to one another "on the wire". The wire protocol is initiated by a successful exchange of hello messages. From 718ac95ad6b156a2cab573c1232482e1dd36093e Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 5 Apr 2022 14:09:10 +0100 Subject: [PATCH 025/167] Update src/content/developers/docs/data-structures/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index 589706f6c91..253a2528cc5 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -6,7 +6,7 @@ sidebar: true sidebarDepth: 2 --- -The Ethereum platform creates, stores and transfers large volumes of data. It is critical that this data is formatted in ways that are standardized and memory efficient so that nodes can be run on relatively modest consumer-grade hardware. To achieve this, there are several specific data structures that are used on the Ethereum stack. +The Ethereum platform creates, stores and transfers large volumes of data. This data must get formatted in standardised and memory-efficient ways to allow anyone to [run a node](/run-a-node/) on relatively modest consumer-grade hardware. To achieve this, several specific data structures are used on the Ethereum stack. ## Prerequisites {#prerequisites} From 4a98f80fcee709bff70c071c471146289ad2209c Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:27:46 +0100 Subject: [PATCH 026/167] Update src/content/developers/docs/data-structures/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index 253a2528cc5..47edd4fd359 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -1,5 +1,5 @@ --- -title: Data Structures +title: Data structures description: A definition of the rlp encoding in Ethereum's execution layer. lang: en sidebar: true From 36ff8d60674bbf480f6d49c61e02a44de4792fd7 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:35:10 +0100 Subject: [PATCH 027/167] Update src/content/developers/docs/data-structures/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index 47edd4fd359..e54bfa77158 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -6,7 +6,7 @@ sidebar: true sidebarDepth: 2 --- -The Ethereum platform creates, stores and transfers large volumes of data. This data must get formatted in standardised and memory-efficient ways to allow anyone to [run a node](/run-a-node/) on relatively modest consumer-grade hardware. To achieve this, several specific data structures are used on the Ethereum stack. +Ethereum creates, stores and transfers large volumes of data. This data must get formatted in standardized and memory-efficient ways to allow anyone to [run a node](/run-a-node/) on relatively modest consumer-grade hardware. To achieve this, several specific data structures are used on the Ethereum stack. ## Prerequisites {#prerequisites} From d68d03097953a9afad5c19c855ce518e7330b8bb Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:35:26 +0100 Subject: [PATCH 028/167] Update src/content/developers/docs/data-structures/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index e54bfa77158..014d8ec0e7e 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -10,7 +10,7 @@ Ethereum creates, stores and transfers large volumes of data. This data must get ## Prerequisites {#prerequisites} -It is useful to have a good understanding of the ethereum blockchain and client software. Familiarity with the networking layer would also be useful. This is quite low level information about how the Ethereum protocol is designed. A reasonable understanding of the Ethereum whitepaper is recommended. +You should understand the fundamentals of Ethereum and [client software]. Familiarity with the networking layer and [the Ethereum whitepaper](/whitepaper/) is recommended. ## Data Structures {#data-structures} From d1a321cb21e28e47afddbda05e72c769d679a95f Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:35:40 +0100 Subject: [PATCH 029/167] Update src/content/developers/docs/data-structures/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index 014d8ec0e7e..4487b475030 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -12,7 +12,7 @@ Ethereum creates, stores and transfers large volumes of data. This data must get You should understand the fundamentals of Ethereum and [client software]. Familiarity with the networking layer and [the Ethereum whitepaper](/whitepaper/) is recommended. -## Data Structures {#data-structures} +## Data structures {#data-structures} ### Patricia merkle trees {#patricia-merkle-tries} From f3ea5c657cca15cbef43b06a049dadd133ec577d Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:36:02 +0100 Subject: [PATCH 030/167] Update src/content/developers/docs/data-structures/ssz/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/ssz/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures/ssz/index.md index ee03c161929..82d3c056bd0 100644 --- a/src/content/developers/docs/data-structures/ssz/index.md +++ b/src/content/developers/docs/data-structures/ssz/index.md @@ -10,7 +10,7 @@ Simple serialize (SSZ) is the serialization method used on the Beacon Chain. It ## How does SSZ work? {#how-does-ssz-work} -### Serialization +### Serialization {#serialization} Ultimately the goal of SSZ serialization is to represent objects of arbitrary complexity as strings of bytes. Each bytestring has a fixed length (32 bytes) called a chunk. These chunks directly become leaves in the Merkle tree representing the object. From e4a2d1f4febc06431365ec3f76071560621efb9c Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:36:44 +0100 Subject: [PATCH 031/167] Update src/content/developers/docs/data-structures/ssz/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/ssz/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures/ssz/index.md index 82d3c056bd0..ce8da34043d 100644 --- a/src/content/developers/docs/data-structures/ssz/index.md +++ b/src/content/developers/docs/data-structures/ssz/index.md @@ -19,7 +19,7 @@ This is a very simple process for "basic types". The element is simply converted - unsigned integers - Booleans -For more complex "composite" types the serialization is not quite so straightforward. This is because the composite type contains multiple elements that miught have different types or different sizes, or both. Vectors, for example, contain elements of uniform type but varying size. Where these objects all have fixed lengths (i.e. the size of the elements is always going to be constant irrespective of their actual values) the serialization is simply a conversion of each element in the composite type in order into little-endian bytestrings. These bytestrings are joined together and padded to the nearest multiple of 32-bytes. The serialized object has the bytelist representation of the fixed-length elements in the same order as they appear in the deserialized object. +For complex "composite" types, serialization is more complicated because the composite type contains multiple elements that might have different types or different sizes, or both. For example, vectors contain elements of uniform type but varying size. Where these objects all have fixed lengths (i.e. the size of the elements is always going to be constant irrespective of their actual values) the serialization is simply a conversion of each element in the composite type ordered into little-endian bytestrings. These bytestrings are joined together and padded to the nearest multiple of 32-bytes. The serialized object has the bytelist representation of the fixed-length elements in the same order as they appear in the deserialized object. For types with variable lengths, the actual data is replecaed by an "offset" value in that element's position in the serialized object. The actual data is then added to a heap at the end of the serialized object. The offset value is the index for the start of the actual data in the heap, acting like a pointer to the relevant bytes. From df9c5b88187e2cf07d76c651961018cbad231ab3 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:38:43 +0100 Subject: [PATCH 032/167] Update src/content/developers/docs/data-structures/ssz/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/ssz/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures/ssz/index.md index ce8da34043d..0d82e98fb72 100644 --- a/src/content/developers/docs/data-structures/ssz/index.md +++ b/src/content/developers/docs/data-structures/ssz/index.md @@ -21,9 +21,9 @@ This is a very simple process for "basic types". The element is simply converted For complex "composite" types, serialization is more complicated because the composite type contains multiple elements that might have different types or different sizes, or both. For example, vectors contain elements of uniform type but varying size. Where these objects all have fixed lengths (i.e. the size of the elements is always going to be constant irrespective of their actual values) the serialization is simply a conversion of each element in the composite type ordered into little-endian bytestrings. These bytestrings are joined together and padded to the nearest multiple of 32-bytes. The serialized object has the bytelist representation of the fixed-length elements in the same order as they appear in the deserialized object. -For types with variable lengths, the actual data is replecaed by an "offset" value in that element's position in the serialized object. The actual data is then added to a heap at the end of the serialized object. The offset value is the index for the start of the actual data in the heap, acting like a pointer to the relevant bytes. +For types with variable lengths, the actual data gets replaced by an "offset" value in that element's position in the serialized object. The actual data gets added to a heap at the end of the serialized object. The offset value is the index for the start of the actual data in the heap, acting as a pointer to the relevant bytes. -The example below illustrates how the offsetting works for an container with both fixed and variable length elements: +The example below illustrates how the offsetting works for a container with both fixed and variable-length elements: ```Rust From c256e1e5e948533941ff4ef3ad9eaa6b95834e36 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:40:33 +0100 Subject: [PATCH 033/167] update description in header --- src/content/developers/docs/data-structures/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index 4487b475030..bf274d678f3 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -1,6 +1,6 @@ --- title: Data structures -description: A definition of the rlp encoding in Ethereum's execution layer. +description: An overview of the fundamental Ethereum data structures. lang: en sidebar: true sidebarDepth: 2 From 96836cc0bbb756cee861f647658d95b5d9bc857d Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:41:16 +0100 Subject: [PATCH 034/167] Update src/content/developers/docs/data-structures/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index bf274d678f3..611d289e50e 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -14,7 +14,7 @@ You should understand the fundamentals of Ethereum and [client software]. Famili ## Data structures {#data-structures} -### Patricia merkle trees {#patricia-merkle-tries} +### Patricia merkle tries {#patricia-merkle-tries} Patricia Merkle Tries are structures that encode key-value pairs into a deterministic trie. These are used extensively across Ethereum's execution layer. More information can be found [here](developers/docs/data-structures/patricia-merkle-trie) From 6200b20b43c9530bf6fb63818dc22259a48eb4de Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:44:02 +0100 Subject: [PATCH 035/167] Update src/content/developers/docs/data-structures/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index 611d289e50e..c5c9228d153 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -16,7 +16,9 @@ You should understand the fundamentals of Ethereum and [client software]. Famili ### Patricia merkle tries {#patricia-merkle-tries} -Patricia Merkle Tries are structures that encode key-value pairs into a deterministic trie. These are used extensively across Ethereum's execution layer. More information can be found [here](developers/docs/data-structures/patricia-merkle-trie) +Patricia Merkle Tries are structures that encode key-value pairs into a deterministic trie. These are used extensively across Ethereum's execution layer. + +[More on Patricia Merkle Tries](developers/docs/data-structures/patricia-merkle-trie) ### Recursive Length Prefix From 461f43ec4788539fca61d633d6606a22478cbc0f Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:44:15 +0100 Subject: [PATCH 036/167] Update src/content/developers/docs/data-structures/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index c5c9228d153..7af179fa642 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -20,7 +20,7 @@ Patricia Merkle Tries are structures that encode key-value pairs into a determin [More on Patricia Merkle Tries](developers/docs/data-structures/patricia-merkle-trie) -### Recursive Length Prefix +### Recursive Length Prefix {#recursive-length-prefix} Recursive-length prefix is a serialization method used extensively across Ethereum's execution layer. Detailed information about RLP can be found [here](developers/docs/data-structures/rlp). From 6fb521dce754d70cd5ee7ff9053ef008daf7f1ab Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:44:28 +0100 Subject: [PATCH 037/167] Update src/content/developers/docs/data-structures/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index 7af179fa642..69d9e63b2ad 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -22,7 +22,9 @@ Patricia Merkle Tries are structures that encode key-value pairs into a determin ### Recursive Length Prefix {#recursive-length-prefix} -Recursive-length prefix is a serialization method used extensively across Ethereum's execution layer. Detailed information about RLP can be found [here](developers/docs/data-structures/rlp). +Recursive Length Prefix (RLP) is a serialization method used extensively across Ethereum's execution layer. + +[More on RLP](developers/docs/data-structures/rlp). ### Simple Serialize From 08fa00cafffd7079640a464628e3b4099a08b7f3 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:44:36 +0100 Subject: [PATCH 038/167] Update src/content/developers/docs/data-structures/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index 69d9e63b2ad..1caa8c13eee 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -26,6 +26,6 @@ Recursive Length Prefix (RLP) is a serialization method used extensively across [More on RLP](developers/docs/data-structures/rlp). -### Simple Serialize +### Simple Serialize {#simple-serialize} Simple serialize is the dominant serialization format on Ethereum's consensus layer because it is very compatible with Merklelization. A deeper explanation of SSZ serialization, merklelization and proofs can be found [here](developers/docs/data-structures/ssz). From ff0c4ac1f4485285893084a79d6eef5a225dd0b8 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:44:46 +0100 Subject: [PATCH 039/167] Update src/content/developers/docs/data-structures/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index 1caa8c13eee..3da8a7eb7da 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -28,4 +28,6 @@ Recursive Length Prefix (RLP) is a serialization method used extensively across ### Simple Serialize {#simple-serialize} -Simple serialize is the dominant serialization format on Ethereum's consensus layer because it is very compatible with Merklelization. A deeper explanation of SSZ serialization, merklelization and proofs can be found [here](developers/docs/data-structures/ssz). +Simple Serialize (SSZ) is the dominant serialization format on Ethereum's consensus layer because of its compatibility with merklelization. + +[More on SSZ](developers/docs/data-structures/ssz). From 04f87d012005b7781917faab7a481b593759a549 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:47:13 +0100 Subject: [PATCH 040/167] Update index.md --- .../docs/data-structures/patricia-merkle-trie/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index ae943cbe846..0ffcb74e57e 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -1,6 +1,6 @@ --- title: Patricia Merkle Trees -description: Introduction to Patricia Merkle Trees. +description: Introduction to Patricia Merkle Tries. lang: en sidebar: true sidebarDepth: 2 From 962419580e7ae3cf24ab4ab11d177cc06825caaf Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:48:15 +0100 Subject: [PATCH 041/167] Update src/content/developers/docs/data-structures/patricia-merkle-trie/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- .../docs/data-structures/patricia-merkle-trie/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index 0ffcb74e57e..f056d26e19b 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -6,7 +6,9 @@ sidebar: true sidebarDepth: 2 --- -A Patricia Merkle Trie provides a cryptographically authenticated data structure that can be used to store all (key, value) bindings. They are fully deterministic, meaning that a Patricia trie with the same (key,value) bindings is guaranteed to be exactly the same down to the last byte and therefore have the same root hash, provide the holy grail of O(log(n)) efficiency for inserts, lookups and deletes, and are much easier to understand and code than more complex comparison-based alternatives like red-black tries. These are used extensively across Ethereum's execution layer. +A Patricia Merkle Trie provides a cryptographically authenticated data structure that can be used to store all `(key, value)` bindings. + +Patricia Merkle Tries are fully deterministic, meaning that a trie with the same `(key, value)` bindings is guaranteed to be identical—down to the last byte. This means they have the same root hash, providing the holy grail of `O(log(n))` efficiency for inserts, lookups and deletes. Also, they are simpler to understand and code than more complex comparison-based alternatives, like red-black trees. ## Prerequisites {#prerequisites} From 340b2517130d88bc4e44564877818cfdb281320e Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:48:42 +0100 Subject: [PATCH 042/167] Update src/content/developers/docs/data-structures/patricia-merkle-trie/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- .../docs/data-structures/patricia-merkle-trie/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index f056d26e19b..f9447489cf5 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -14,7 +14,7 @@ Patricia Merkle Tries are fully deterministic, meaning that a trie with the same It would be helpful to have basic knowledge of Merkle trees and serialization to understand this page. -## Basic Radix Tries {#basic-radix-tries} +## Basic radix tries {#basic-radix-tries} In a basic radix trie, every node looks as follows: From 5b3d880818aee7bb4bce474dbbb098cc9ea7b28b Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 09:49:07 +0100 Subject: [PATCH 043/167] Update src/content/developers/docs/data-structures/patricia-merkle-trie/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- .../docs/data-structures/patricia-merkle-trie/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index f9447489cf5..aa29cfacbc2 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -20,7 +20,7 @@ In a basic radix trie, every node looks as follows: [i0, i1 ... in, value] -Where `i0 ... in` represent the symbols of the alphabet (often binary or hex), `value` is the terminal value at the node, and the values in the `i0 ... in` slots are either `NULL` or pointers to (in our case, hashes of) other nodes. This forms a basic (key, value) store; for example, if you are interested in the value that is currently mapped to `dog` in the trie, you would first convert `dog` into letters of the alphabet (giving `64 6f 67`), and then descend down the trie following that path until at the end of the path you read the value. That is, you would first look up the root hash in a flat key/value DB to find the root node of the trie (which is basically an array of keys to other nodes), use the value at index `6` as a key (and look it up in the flat key/value DB) to get the node one level down, then pick index `4` of that to lookup the next value, then pick index `6` of that, and so on, until, once you followed the path: `root -> 6 -> 4 -> 6 -> 15 -> 6 -> 7`, you look up the value of the node that you have and return the result. +Where `i0 ... in` represent the symbols of the alphabet (often binary or hex), `value` is the terminal value at the node, and the values in the `i0 ... in` slots are either `NULL` or pointers to (in our case, hashes of) other nodes. This forms a basic `(key, value)` store. For example, if you are interested in the value that is currently mapped to `dog` in the trie, you would first convert `dog` into letters of the alphabet (giving `64 6f 67`), and then descend the trie following that path until you find the value. That is, you would first look up the root hash in a flat key/value DB to find the root node of the trie (which is an array of keys to other nodes), use the value at index `6` as a key (and look it up in the flat key/value DB) to get the node one level down, then pick index `4` of that to look up the next value, then pick index `6` of that, and so on, until, once you followed the path: `root -> 6 -> 4 -> 6 -> 15 -> 6 -> 7`, you look up the value of the node that you have and return the result. Note there is a difference between looking something up in the "trie" vs the underlying flat key/value "DB". They both define key/values arrangements, but the underlying DB can do a traditional 1 step lookup of a key, while looking up a key in the trie requires multiple underlying DB lookups to get to the final value as described above. To eliminate ambiguity, let's refer to the latter as a `path`. From 0071008afbf6378309e9e3780369608e1f5dabb7 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:00:23 +0100 Subject: [PATCH 044/167] wrap code in backticks --- .../docs/data-structures/patricia-merkle-trie/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index aa29cfacbc2..5a2741958d0 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -26,6 +26,7 @@ Note there is a difference between looking something up in the "trie" vs the und The update and delete operations for radix tries are simple, and can be defined roughly as follows: +``` def update(node,path,value): if path == '': curnode = db.get(node) if node else [ NULL ] * 17 @@ -56,6 +57,7 @@ The update and delete operations for radix tries are simple, and can be defined else: db.put(hash(newnode),newnode) return hash(newnode) +``` The "Merkle" part of the radix trie arises in the fact that a deterministic cryptographic hash of a node is used as the pointer to the node (for every lookup in the key/value DB `key == sha3(rlp(value))`, rather than some 32-bit or 64-bit memory location as might happen in a more traditional trie implemented in C. This provides a form of cryptographic authentication to the data structure; if the root hash of a given trie is publicly known, then anyone can provide a proof that the trie has a given value at a specific path by providing the nodes going up each step of the way. It is impossible for an attacker to provide a proof of a (path, value) pair that does not exist since the root hash is ultimately based on all hashes below it, so any modification would change the root hash. From bfd028d74f11becab1b4c33421d2a6890ce7d1a8 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:16:10 +0100 Subject: [PATCH 045/167] fix typo in proof description --- .../docs/data-structures/patricia-merkle-trie/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index 5a2741958d0..1d11e0358b0 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -59,7 +59,7 @@ The update and delete operations for radix tries are simple, and can be defined return hash(newnode) ``` -The "Merkle" part of the radix trie arises in the fact that a deterministic cryptographic hash of a node is used as the pointer to the node (for every lookup in the key/value DB `key == sha3(rlp(value))`, rather than some 32-bit or 64-bit memory location as might happen in a more traditional trie implemented in C. This provides a form of cryptographic authentication to the data structure; if the root hash of a given trie is publicly known, then anyone can provide a proof that the trie has a given value at a specific path by providing the nodes going up each step of the way. It is impossible for an attacker to provide a proof of a (path, value) pair that does not exist since the root hash is ultimately based on all hashes below it, so any modification would change the root hash. +The "Merkle" part of the radix trie arises in the fact that a deterministic cryptographic hash of a node is used as the pointer to the node (for every lookup in the key/value DB `key == sha3(rlp(value))`, rather than some 32-bit or 64-bit memory location as might happen in a more traditional trie implemented in C. This provides a form of cryptographic authentication to the data structure; if the root hash of a given trie is publicly known, then anyone can provide a proof that the trie has a given value at a specific path by providing the hashes of each node joining a specific value to the tree root. It is impossible for an attacker to provide a proof of a (path, value) pair that does not exist since the root hash is ultimately based on all hashes below it, so any modification would change the root hash. While traversing a path 1 nibble at a time as described above, most nodes contain a 17-element array. 1 index for each possible value held by the next hex character (nibble) in the path, and 1 to hold the final target value in the case that the path has been fully traversed. These 17-element array nodes are called `branch` nodes. From 6a7f15cb7ab62c1a1efbb24b4a008b91837a9898 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:19:06 +0100 Subject: [PATCH 046/167] wrap all code in backticks --- .../data-structures/patricia-merkle-trie/index.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index 1d11e0358b0..f0074bd9634 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -18,8 +18,11 @@ It would be helpful to have basic knowledge of Merkle trees and serialization to In a basic radix trie, every node looks as follows: +``` [i0, i1 ... in, value] +``` + Where `i0 ... in` represent the symbols of the alphabet (often binary or hex), `value` is the terminal value at the node, and the values in the `i0 ... in` slots are either `NULL` or pointers to (in our case, hashes of) other nodes. This forms a basic `(key, value)` store. For example, if you are interested in the value that is currently mapped to `dog` in the trie, you would first convert `dog` into letters of the alphabet (giving `64 6f 67`), and then descend the trie following that path until you find the value. That is, you would first look up the root hash in a flat key/value DB to find the root node of the trie (which is an array of keys to other nodes), use the value at index `6` as a key (and look it up in the flat key/value DB) to get the node one level down, then pick index `4` of that to look up the next value, then pick index `6` of that, and so on, until, once you followed the path: `root -> 6 -> 4 -> 6 -> 15 -> 6 -> 7`, you look up the value of the node that you have and return the result. Note there is a difference between looking something up in the "trie" vs the underlying flat key/value "DB". They both define key/values arrangements, but the underlying DB can do a traditional 1 step lookup of a key, while looking up a key in the trie requires multiple underlying DB lookups to get to the final value as described above. To eliminate ambiguity, let's refer to the latter as a `path`. @@ -97,6 +100,7 @@ The flagging of both _odd vs. even remaining partial path length_ and _leaf vs. For even remaining path length (`0` or `2`), another `0` "padding" nibble will always follow. +``` def compact_encode(hexarray): term = 1 if hexarray[-1] == 16 else 0 if term: hexarray = hexarray[:-1] @@ -111,9 +115,11 @@ For even remaining path length (`0` or `2`), another `0` "padding" nibble will a for i in range(0,len(hexarray),2): o += chr(16 * hexarray[i] + hexarray[i+1]) return o +``` Examples: +``` > [ 1, 2, 3, 4, 5, ...] '11 23 45' > [ 0, 1, 2, 3, 4, 5, ...] @@ -122,9 +128,11 @@ Examples: '20 0f 1c b8' > [ f, 1, c, b, 8, 10] '3f 1c b8' +``` Here is the extended code for getting a node in the Merkle Patricia trie: +``` def get_helper(node,path): if path == []: return node if node = '': return '' @@ -146,6 +154,7 @@ Here is the extended code for getting a node in the Merkle Patricia trie: path2.push(ord(path[i]) % 16) path2.push(16) return get_helper(node,path2) +``` ### Example Trie {#example-trie} @@ -153,18 +162,22 @@ Suppose we want a trie containing four path/value pairs `('do', 'verb')`, `('dog First, we convert both paths and values to `bytes`. Below, actual byte representations for _paths_ are denoted by `<>`, although _values_ are still shown as strings, denoted by `''`, for easier comprehension (they, too, would actually be `bytes`): +``` <64 6f> : 'verb' <64 6f 67> : 'puppy' <64 6f 67 65> : 'coin' <68 6f 72 73 65> : 'stallion' +``` Now, we build such a trie with the following key/value pairs in the underlying DB: +``` rootHash: [ <16>, hashA ] hashA: [ <>, <>, <>, <>, hashB, <>, <>, <>, [ <20 6f 72 73 65>, 'stallion' ], <>, <>, <>, <>, <>, <>, <>, <> ] hashB: [ <00 6f>, hashD ] hashD: [ <>, <>, <>, <>, <>, <>, hashE, <>, <>, <>, <>, <>, <>, <>, <>, <>, 'verb' ] hashE: [ <17>, [ <>, <>, <>, <>, <>, <>, [ <35>, 'coin' ], <>, <>, <>, <>, <>, <>, <>, <>, <>, 'puppy' ] ] +``` When one node is referenced inside another node, what is included is `H(rlp.encode(x))`, where `H(x) = sha3(x) if len(x) >= 32 else x` and `rlp.encode` is the [RLP](/fundamentals/rlp) encoding function. From 684b5a886c408e99e5f891a49b2e068f8d8b1c04 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:19:31 +0100 Subject: [PATCH 047/167] Update src/content/developers/docs/data-structures/patricia-merkle-trie/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- .../docs/data-structures/patricia-merkle-trie/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index f0074bd9634..98afe3af23a 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -64,7 +64,7 @@ The update and delete operations for radix tries are simple, and can be defined The "Merkle" part of the radix trie arises in the fact that a deterministic cryptographic hash of a node is used as the pointer to the node (for every lookup in the key/value DB `key == sha3(rlp(value))`, rather than some 32-bit or 64-bit memory location as might happen in a more traditional trie implemented in C. This provides a form of cryptographic authentication to the data structure; if the root hash of a given trie is publicly known, then anyone can provide a proof that the trie has a given value at a specific path by providing the hashes of each node joining a specific value to the tree root. It is impossible for an attacker to provide a proof of a (path, value) pair that does not exist since the root hash is ultimately based on all hashes below it, so any modification would change the root hash. -While traversing a path 1 nibble at a time as described above, most nodes contain a 17-element array. 1 index for each possible value held by the next hex character (nibble) in the path, and 1 to hold the final target value in the case that the path has been fully traversed. These 17-element array nodes are called `branch` nodes. +While traversing a path one nibble at a time, as described above, most nodes contain a 17-element array. One index for each possible value held by the next hex character (nibble) in the path, and one to hold the final target value if the path has been fully traversed. These 17-element array nodes are called `branch` nodes. ## Merkle Patricia Trie {#merkle-patricia-trees} From bda0ddfc4c855923a1128df0b85389361e23d122 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:20:19 +0100 Subject: [PATCH 048/167] Update src/content/developers/docs/data-structures/rlp/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/rlp/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md index 0e574b7e7eb..35992780c72 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -6,7 +6,9 @@ sidebar: true sidebarDepth: 2 --- -Recurisive length prefix serialization is used extensively in Ethereum's execution clients. It's purpose is to standardize the transfer of data between nodes in a space-efficient format. Once established, these RLP sessions allow the transfer of data between clients. The purpose of RLP (Recursive Length Prefix) is to encode arbitrarily nested arrays of binary data, and RLP is the main encoding method used to serialize objects in Ethereum's execution layer. The only purpose of RLP is to encode structure; encoding specific data types (eg. strings, floats) is left up to higher-order protocols; but positive RLP integers must be represented in big endian binary form with no leading zeroes (thus making the integer value zero be equivalent to the empty byte array). Deserialised positive integers with leading zeroes must be treated as invalid. The integer representation of string length must also be encoded this way, as well as integers in the payload. Additional information can be found in the Ethereum yellow paper Appendix B. +Recursive Length Prefix (RLP) serialization is used extensively in Ethereum's execution clients. RLP standardizes the transfer of data between nodes in a space-efficient format. Once established, RLP sessions allow the transfer of data between clients. The purpose of RLP is to encode arbitrarily nested arrays of binary data, and RLP is the primary encoding method used to serialize objects in Ethereum's execution layer. The only purpose of RLP is to encode structure; encoding specific data types (e.g. strings, floats) is left up to higher-order protocols; but positive RLP integers must be represented in big-endian binary form with no leading zeroes (thus making the integer value zero equivalent to the empty byte array). Deserialized positive integers with leading zeroes get treated as invalid. The integer representation of string length must also be encoded this way, as well as integers in the payload. + +More information in [the Ethereum yellow paper (Appendix B)](https://ethereum.github.io/yellowpaper/paper.pdf#page=19). If one wishes to use RLP to encode a dictionary, the two suggested canonical forms are to either use `[[k1,v1],[k2,v2]...]` with keys in lexicographic order or to use the higher-level Patricia Tree encoding as Ethereum does. From 9a982a6da31de11220e71da5a991b9aa9b4df0ce Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:20:36 +0100 Subject: [PATCH 049/167] Update src/content/developers/docs/data-structures/rlp/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/rlp/index.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md index 35992780c72..9a85bd3dec4 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -10,7 +10,10 @@ Recursive Length Prefix (RLP) serialization is used extensively in Ethereum's ex More information in [the Ethereum yellow paper (Appendix B)](https://ethereum.github.io/yellowpaper/paper.pdf#page=19). -If one wishes to use RLP to encode a dictionary, the two suggested canonical forms are to either use `[[k1,v1],[k2,v2]...]` with keys in lexicographic order or to use the higher-level Patricia Tree encoding as Ethereum does. +To use RLP to encode a dictionary, the two suggested canonical forms are: + +- use `[[k1,v1],[k2,v2]...]` with keys in lexicographic order +- use the higher-level Patricia Tree encoding as Ethereum does ## Definition From 2b525b6f92642e66d80c008c1c6bbf864c395bd5 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:20:47 +0100 Subject: [PATCH 050/167] Update src/content/developers/docs/data-structures/rlp/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/rlp/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md index 9a85bd3dec4..d2fe1ffb1a4 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -15,7 +15,7 @@ To use RLP to encode a dictionary, the two suggested canonical forms are: - use `[[k1,v1],[k2,v2]...]` with keys in lexicographic order - use the higher-level Patricia Tree encoding as Ethereum does -## Definition +## Definition {#definition} The RLP encoding function takes in an item. An item is defined as follows: From 39c9e88edcdd2e8493cb8e4b188334e542a0a5bc Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:21:04 +0100 Subject: [PATCH 051/167] Update src/content/developers/docs/data-structures/rlp/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/rlp/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md index d2fe1ffb1a4..3eea624caa9 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -19,7 +19,7 @@ To use RLP to encode a dictionary, the two suggested canonical forms are: The RLP encoding function takes in an item. An item is defined as follows: -- A string (ie. byte array) is an item +- a string (i.e. byte array) is an item - A list of items is an item For example, an empty string is an item, as is the string containing the word "cat", a list containing any number of strings, as well as more complex data structures like `["cat",["puppy","cow"],"horse",[[]],"pig",[""],"sheep"]`. Note that in the context of the rest of this article, "string" will be used as a synonym for "a certain number of bytes of binary data"; no special encodings are used and no knowledge about the content of the strings is implied. From ee4519740a799da3f2de1de56b9074632df95330 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:21:16 +0100 Subject: [PATCH 052/167] Update src/content/developers/docs/data-structures/rlp/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/rlp/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md index 3eea624caa9..f3b8d874c5b 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -20,7 +20,7 @@ To use RLP to encode a dictionary, the two suggested canonical forms are: The RLP encoding function takes in an item. An item is defined as follows: - a string (i.e. byte array) is an item -- A list of items is an item +- a list of items is an item For example, an empty string is an item, as is the string containing the word "cat", a list containing any number of strings, as well as more complex data structures like `["cat",["puppy","cow"],"horse",[[]],"pig",[""],"sheep"]`. Note that in the context of the rest of this article, "string" will be used as a synonym for "a certain number of bytes of binary data"; no special encodings are used and no knowledge about the content of the strings is implied. From ddb64e9557b0c93b59248f5413ee537572f48f18 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:21:37 +0100 Subject: [PATCH 053/167] Update src/content/developers/docs/data-structures/rlp/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/data-structures/rlp/index.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md index f3b8d874c5b..3f763760f7d 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -22,7 +22,14 @@ The RLP encoding function takes in an item. An item is defined as follows: - a string (i.e. byte array) is an item - a list of items is an item -For example, an empty string is an item, as is the string containing the word "cat", a list containing any number of strings, as well as more complex data structures like `["cat",["puppy","cow"],"horse",[[]],"pig",[""],"sheep"]`. Note that in the context of the rest of this article, "string" will be used as a synonym for "a certain number of bytes of binary data"; no special encodings are used and no knowledge about the content of the strings is implied. +For example, all of the following are items: + +- an empty string; +- the string containing the word "cat"; +- a list containing any number of strings; +- and a more complex data structures like `["cat", ["puppy", "cow"], "horse", [[]], "pig", [""], "sheep"]`. + +Note that in the context of the rest of this page, 'string' means "a certain number of bytes of binary data"; no special encodings are used, and no knowledge about the content of the strings is implied. RLP encoding is defined as follows: From 38ecd478a7883f9a042cd70cd2ac4a1e89f2e25f Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:24:08 +0100 Subject: [PATCH 054/167] Apply suggestions from code review Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- .../docs/data-structures/rlp/index.md | 43 ++++++++----------- .../docs/data-structures/ssz/index.md | 12 +++--- 2 files changed, 23 insertions(+), 32 deletions(-) diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md index 3f763760f7d..999e0e115c1 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -67,41 +67,32 @@ def to_binary(x): return to_binary(int(x / 256)) + chr(x % 256) ``` -## Examples +## Examples {#examples} -The string "dog" = [ 0x83, 'd', 'o', 'g' ] +- the string "dog" = [ 0x83, 'd', 'o', 'g' ] +- the list [ "cat", "dog" ] = `[ 0xc8, 0x83, 'c', 'a', 't', 0x83, 'd', 'o', 'g' ]` +- the empty string ('null') = `[ 0x80 ]` +- the empty list = `[ 0xc0 ]` +- the integer 0 = `[ 0x80 ]` +- the encoded integer 0 ('\\x00') = `[ 0x00 ]` +- the encoded integer 15 ('\\x0f') = `[ 0x0f ]` +- the encoded integer 1024 ('\\x04\\x00') = `[ 0x82, 0x04, 0x00 ]` +- the [set theoretical representation](http://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers) of three, `[ [], [[]], [ [], [[]] ] ] = [ 0xc7, 0xc0, 0xc1, 0xc0, 0xc3, 0xc0, 0xc1, 0xc0 ]` +- the string "Lorem ipsum dolor sit amet, consectetur adipisicing elit" = `[ 0xb8, 0x38, 'L', 'o', 'r', 'e', 'm', ' ', ... , 'e', 'l', 'i', 't' ]` -The list [ "cat", "dog" ] = `[ 0xc8, 0x83, 'c', 'a', 't', 0x83, 'd', 'o', 'g' ]` +## RLP decoding {#rlp-decoding} -The empty string ('null') = `[ 0x80 ]` +According to the rules and process of RLP encoding, the input of RLP decode is regarded as an array of binary data. The RLP decoding process is as follows: -The empty list = `[ 0xc0 ]` +1. according to the first byte (i.e. prefix) of input data and decoding the data type, the length of the actual data and offset; -The integer 0 = `[ 0x80 ]` +2. according to the type and offset of data, decode the data correspondingly; -The encoded integer 0 ('\\x00') = `[ 0x00 ]` - -The encoded integer 15 ('\\x0f') = `[ 0x0f ]` - -The encoded integer 1024 ('\\x04\\x00') = `[ 0x82, 0x04, 0x00 ]` - -The [set theoretical representation](http://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers) of three, `[ [], [[]], [ [], [[]] ] ] = [ 0xc7, 0xc0, 0xc1, 0xc0, 0xc3, 0xc0, 0xc1, 0xc0 ]` - -The string "Lorem ipsum dolor sit amet, consectetur adipisicing elit" = `[ 0xb8, 0x38, 'L', 'o', 'r', 'e', 'm', ' ', ... , 'e', 'l', 'i', 't' ]` - -## RLP decoding - -According to rules and process of RLP encoding, the input of RLP decode shall be regarded as array of binary data, the process is as follows: - -1. According to the first byte(i.e. prefix) of input data, and decoding the data type, the length of the actual data and offset; - -2. According to type and offset of data, decode data correspondingly; - -3. Continue to decode the rest of the input; +3. continue to decode the rest of the input; Among them, the rules of decoding data types and offset is as follows: -1. the data is a string if the range of the first byte(i.e. prefix) is [0x00, 0x7f], and the string is the first byte itself exactly; +1. the data is a string if the range of the first byte (i.e. prefix) is [0x00, 0x7f], and the string is the first byte itself exactly; 2. the data is a string if the range of the first byte is [0x80, 0xb7], and the string whose length is equal to the first byte minus 0x80 follows the first byte; diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures/ssz/index.md index 0d82e98fb72..54d7233c1f1 100644 --- a/src/content/developers/docs/data-structures/ssz/index.md +++ b/src/content/developers/docs/data-structures/ssz/index.md @@ -6,7 +6,7 @@ sidebar: true sidebarDepth: 2 --- -Simple serialize (SSZ) is the serialization method used on the Beacon Chain. It replaces the RLP serialization used on the execution layer everywhere across the consensus layer except the peer discovery protocol. SSZ is specifically designed to be deterministic and compatible with Merkleization. +**Simple serialize (SSZ)** is the serialization method used on the Beacon Chain. It replaces the RLP serialization used on the execution layer everywhere across the consensus layer except the peer discovery protocol. SSZ is designed to be deterministic and compatible with merkleization. ## How does SSZ work? {#how-does-ssz-work} @@ -146,8 +146,8 @@ The hash of (8,9) should equal hash (4), which hashes with 5 to produce 2, which ## Further Reading {#further-reading} -[Upgrading Ethereum: SSZ](https://eth2book.info/altair/part2/building_blocks/ssz) -[Upgrading Ethereum: Merkleization](https://eth2book.info/altair/part2/building_blocks/merkleization) -[SSZ Impolementations](https://github.com/ethereum/consensus-specs/issues/2138) -[SSZ Calculator](https://simpleserialize.com/) -[SSZ.DEV](https://www.ssz.dev/) +- [Upgrading Ethereum: SSZ](https://eth2book.info/altair/part2/building_blocks/ssz) +- [Upgrading Ethereum: Merkleization](https://eth2book.info/altair/part2/building_blocks/merkleization) +- [SSZ implementations](https://github.com/ethereum/consensus-specs/issues/2138) +- [SSZ calcuator](https://simpleserialize.com/) +- [SSZ.dev](https://www.ssz.dev/) From dcfe213d71f7d5223dcd0c5450411410ee032dc3 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:26:58 +0100 Subject: [PATCH 055/167] fix rust syntax --- src/content/developers/docs/data-structures/ssz/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures/ssz/index.md index 54d7233c1f1..4fca92c395d 100644 --- a/src/content/developers/docs/data-structures/ssz/index.md +++ b/src/content/developers/docs/data-structures/ssz/index.md @@ -12,7 +12,7 @@ sidebarDepth: 2 ### Serialization {#serialization} -Ultimately the goal of SSZ serialization is to represent objects of arbitrary complexity as strings of bytes. Each bytestring has a fixed length (32 bytes) called a chunk. These chunks directly become leaves in the Merkle tree representing the object. +The goal of SSZ serialization is to represent objects of arbitrary complexity as strings of bytes. Each bytestring has a fixed length (32 bytes) called a chunk. These chunks directly become leaves in the Merkle tree representing the object. This is a very simple process for "basic types". The element is simply converted to hexadecimal bytes and then right-padded until its length is equal to 32 bytes (little-endian representation). Basic types include: @@ -29,9 +29,9 @@ The example below illustrates how the offsetting works for a container with both struct Dummy { - number: u64, + number1: u64, number2: u64, - vector: Vec + vector: Vec, number3: u64 } From e60a867d5da9571c26fb3b6c4cb9f6078e120982 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:27:56 +0100 Subject: [PATCH 056/167] Update page-developers-docs.json --- src/intl/en/page-developers-docs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intl/en/page-developers-docs.json b/src/intl/en/page-developers-docs.json index 07b6bd08b32..a8d697b002d 100644 --- a/src/intl/en/page-developers-docs.json +++ b/src/intl/en/page-developers-docs.json @@ -96,7 +96,7 @@ "docs-nav-data-structures": "Data structures", "docs-nav-data-structures-description": "Explanation of the data structures used across the Ethereum stack", "docs-nav-data-structures-rlp": "Recursive-length prefix (RLP)", - "docs-nav-data-structures-patricia-merkle-trie": "Patricia merkle trie", + "docs-nav-data-structures-patricia-merkle-tries": "Patricia Merkle Tries", "docs-nav-data-structures-ssz": "Simple serialize (SSZ)", "page-calltocontribute-desc-1": "If you're an expert on the topic and want to contribute, edit this page and sprinkle it with your wisdom.", "page-calltocontribute-desc-2": "You'll be credited and you'll be helping the Ethereum community!", From 0cb7f7be8f709711b7678bc71414eb4751591073 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:29:12 +0100 Subject: [PATCH 057/167] Update developer-docs-links.yaml --- src/data/developer-docs-links.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/developer-docs-links.yaml b/src/data/developer-docs-links.yaml index 1779ebc4ac1..4af287f4fff 100644 --- a/src/data/developer-docs-links.yaml +++ b/src/data/developer-docs-links.yaml @@ -184,7 +184,7 @@ items: - id: docs-nav-data-structures-rlp to: /developers/docs/data-structures/rlp/ - - id: docs-nav-data-structures-patricia-merkle-trie - to: /developers/docs/data-structures/patricia-merkle-trie/ + - id: docs-nav-data-structures-patricia-merkle-tries + to: /developers/docs/data-structures/patricia-merkle-tries/ - id: docs-nav-data-structures-ssz to: /developers/docs/data-structures/ssz/ From 1b43fd77faa7162480fd50cb2a0f11e6b5529f89 Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 8 Apr 2022 14:19:39 +0100 Subject: [PATCH 058/167] sync glossaries: eth.org, ethdocs.org & eth.wiki --- src/content/glossary/index.md | 198 +++++++++++++++++++++++++++++++--- 1 file changed, 185 insertions(+), 13 deletions(-) diff --git a/src/content/glossary/index.md b/src/content/glossary/index.md index 766cfc52713..796ceeffb34 100644 --- a/src/content/glossary/index.md +++ b/src/content/glossary/index.md @@ -43,6 +43,10 @@ both from outside the blockchain and for contract-to-contract interactions. An Application Programming Interface (API) is a set of definitions for how to use a piece of software. An API sits between an application and a web server, and facilitates the transfer of data between them. +### ASIC {#asic} + +Application-specific integrated circuit, in this case referring to an integrated circuit custom built for cryptocurrency mining. + ### assert {#assert} In [Solidity](#solidity), `assert(false)` compiles to `0xfe`, an invalid opcode, which uses up all remaining [gas](#gas) and reverts all changes. When an `assert()` statement fails, something very wrong and unexpected is happening, and you will need to fix your code. You should use `assert()` to avoid conditions that should never, ever occur. @@ -87,6 +91,26 @@ A collection of required information (a block header) about the comprised [trans Blocks +### block(chain) explorer + +A website that allows easy searching and extraction of data from the blockchain. + +### block header {#block-header} + +The data in a block which is unique to its content and the circumstances in which it was created. It includes the hash of the previous block’s header, the version of the software the block is mined with, the timestamp and the merkle root hash of the contents of the block. + +### block propagation {#block-propagation} + +The process of transmitting a confirmed block to all other nodes in the network. + +### block time + +The average time interval between the mining of two blocks. After the merge the block time will be the time between two Beacon blocks (under optimal conditions there will be one block per slot, which occurs every 6 seconds). + +### block validation {#block-validation} + +Checking of the coherence of the cryptographic signature of the block with the history stored in the entire blockchain. + ### blockchain {#blockchain} In Ethereum, a sequence of [blocks](#block) validated by the [proof-of-work](#pow) system, each linking to its predecessor all the way to the [genesis block](#genesis-block). There is no block size limit; it instead uses varying [gas limits](#gas-limit). @@ -95,6 +119,10 @@ In Ethereum, a sequence of [blocks](#block) validated by the [proof-of-work](#po What is a Blockchain? +### bootnode + +The nodes which can be used to initiate the discovery process when running a node. The endpoints of these nodes are recorded in the Ethereum source code. + ### bytecode {#bytecode} An abstract instruction set designed for efficient execution by a software interpreter or a virtual machine. Unlike human-readable source code, bytecode is expressed in numeric format. @@ -107,6 +135,10 @@ The first of two [hard forks](#hard-fork) for the [Metropolis](#metropolis) deve ## C {#section-c} +### Casper-FFG + +Casper-FFG is a proof-of-stake consensus protocol used in conjunction with the [LMD-GHOST](#lmd-ghost) fork choice algorithm to allow [consensus clients](#consensus-client) to agree on the head of the Beacon Chain. + ### checkpoint {#checkpoint} The [Beacon Chain](#beacon-chain) has a tempo divided into slots (12 seconds) and epochs (32 slots). The first slot in each epoch is a checkpoint. When a [supermajority](#supermajority) of validators attests to the link between two checkpoints, they can be [justified](#justification) and then when another checkpoint is justified on top, they can be [finalized](#finality). @@ -123,6 +155,10 @@ Converting code written in a high-level programming language (e.g., [Solidity](# A group of at least 128 [validators](#validator) assigned to beacon and shard blocks at random by [the Beacon Chain](#beacon-chain). +### computational infeasibility {#computational-infeasibility} + +a process is computationally infeasible if it would take an impracticably long time (eg. billions of years) to do it for anyone who might conceivably have an interest in carrying it out. + ### consensus {#consensus} When numerous nodes (usually most nodes on the network) all have the same blocks in their locally validated best blockchain. Not to be confused with [consensus rules](#consensus-rules). @@ -161,15 +197,19 @@ A crosslink provides a summary of a shard's state. It's how [shard](#shard) chai +### cryptoeconomics {#cryptoeconomics} + +The economics of cryptocurrencies. + ## D {#section-d} -### Decentralized Autonomous Organization (DAO) {#dao} +### Đ {#D-with-stroke} -A company or other organization that operates without hierarchical management. DAO may also refer to a contract named "The DAO" launched on April 30, 2016, which was then hacked in June 2016; this ultimately motivated a [hard fork](#hard-fork) (codenamed DAO) at block 1,192,000, which reversed the hacked DAO contract and caused Ethereum and Ethereum Classic to split into two competing systems. +Đ (D with stroke) is used in Old English, Middle English, Icelandic, and Faroese to stand for an uppercase letter “Eth”. It is used in words like ĐEV or Đapp (decentralized application), where the Đ is the Norse letter “eth”. The uppercase eth (Ð) is also used to symbolize the cryptocurrency Dogecoin. This is commonly seen in older Ethereum literature but is used less often today. - - Decentralized Autonomous Organizations (DAOs) - +### DAG {#DAG} + +DAG stands for Directed Acyclic Graph. It is a data structure composed of nodes and links between them. Ethereum uses a DAG in its [proof of work](#proof-of-work) algorithm, [Ethash](#ethash). ### Dapp {#dapp} @@ -179,6 +219,22 @@ Decentralized application. At a minimum, it is a [smart contract](#smart-contrac Introduction to Dapps +### Data availability {#data-availability} + +The property of a state that any node connected to the network could download any specific part of the state that they wish to + +### decentralization {#decentralization} + +The concept of moving the control and execution of processes away from a central entity. + +### Decentralized Autonomous Organization (DAO) {#dao} + +A company or other organization that operates without hierarchical management. DAO may also refer to a contract named "The DAO" launched on April 30, 2016, which was then hacked in June 2016; this ultimately motivated a [hard fork](#hard-fork) (codenamed DAO) at block 1,192,000, which reversed the hacked DAO contract and caused Ethereum and Ethereum Classic to split into two competing systems. + + + Decentralized Autonomous Organizations (DAOs) + + ### decentralized exchange (DEX) {#dex} A type of [dapp](#dapp) that lets you swap tokens with peers on the network. You need [ether](#ether) to use one (to pay [transactions fees](#transaction-fee)) but they are not subject to geographical restrictions like centralized exchanges – anyone can participate. @@ -213,6 +269,18 @@ A short string of data a user produces for a document using a [private key](#pri +### discovery {#discovery} + +The process by which an Ethereum node finds other nodes (computers running client software) to connect to. + +### distributed hash table {#distributed-hash-table} + +A distributed hash table (DHT) is a data structure containing `(key, value)` pairs used by Ethereum nodes to identify peers to connect to and determine which protocols to use to communicate. + +### double spend {#double-spend} + +A deliberate blockchain fork, where a user with a sufficiently large amount of mining power/stake sends a transaction moving some currency off-chain (e.g. exiting into fiat money or making an off-chain purchase) then reorganising the blockchain to remove that transaction. A successful double spend leaves the attacker with both their on and off-chain assets. + ## E {#section-e} ### elliptic curve digital signature algorithm (ECDSA) {#ecdsa} @@ -221,12 +289,20 @@ A cryptographic algorithm used by Ethereum to ensure that funds can only be spen ### epoch {#epoch} -A period of 32 [slots](#slot) (6.4 minutes) in the [Beacon Chain](#beacon-chain)-coordinated system. [Validator](#validator) [committees](#committee) are shuffled every epoch for security reasons. There's an opportunity at each epoch for the chain to be [finalized](#finality). +A period of 32 [slots](#slot) (6.4 minutes) in the [Beacon Chain](#beacon-chain)-coordinated system. [Validator](#validator) [committees](#committee) are shuffled every epoch for security reasons. There's an opportunity at each epoch for the chain to be [finalized](#finality). The term is also used on the [execution layer](#execution-layer) to mean the interval between each regeneration of the database used as a seed by the PoW algorithm [Ethash](#Ethash). The epoch in specified as 30000 blocks. Proof-of-stake +### equivocation {#equivocation} + +A validator sending two messages that contradict each other. One simple example is a transaction sender sending two transactions with the same nonce. Another is a block proposer proposing two blocks at the same block height (or for the same slot). + +### escrow {#escrow} + +If two mutually-untrusting entities are engaged in commerce, they may wish to pass funds through a mutually trusted third party and instruct that party to send the funds to the payee only when evidence of product delivery has been shown. This reduces the risk of the payer or payee committing fraud. Both this construction and the third party is called escrow. + ### Eth1 {#eth1} 'Eth1' is a term that referred to Mainnet Ethereum, the existing proof-of-work blockchain. This term has since been deprecated in favor of the 'execution layer'. [Learn more about this name change](https://blog.ethereum.org/2022/01/24/the-great-eth2-renaming/). @@ -243,6 +319,10 @@ A period of 32 [slots](#slot) (6.4 minutes) in the [Beacon Chain](#beacon-chain) More on the Ethereum upgrades +### etherbase {#etherbase} + +The default name of the primary account on an Ethereum client. Mining rewards are credited to this account. This is an Ethereum-specific version of "coinbase" which is applicable to other cryptocurrencies. + ### Ethereum Improvement Proposal (EIP) {#eip} A design document providing information to the Ethereum community, describing a proposed new feature or its processes or environment (see [ERC](#erc)). @@ -257,6 +337,10 @@ The ENS registry is a single central [contract](#smart-contract) that provides a [Read more at ens.domains](https://ens.domains) +### encryption + +Encryption is the conversion of electronic data into a form unreadable by anyone except the owner of the correct decryption key. + ### entropy {#entropy} In the context of cryptography, lack of predictability or level of randomness. When generating secret information, such as [private keys](#private-key), algorithms usually rely on a source of high entropy to ensure the output is unpredictable. @@ -382,6 +466,10 @@ A virtual fuel used in Ethereum to execute smart contracts. The [EVM](#evm) uses The maximum amount of [gas](#gas) a [transaction](#transaction) or [block](#block) may consume. +### gas price {#gas-price} + +Price in ether of one unit of gas specified in a transaction. With the launch of Homestead, the default gas price reduces from 50 shannon to 20 shannon (~60% reduction). + ### genesis block {#genesis-block} The first block in a [blockchain](#blockchain), used to initialize a particular network and its cryptocurrency. @@ -406,7 +494,11 @@ A permanent divergence in the [blockchain](#blockchain); also known as a hard-fo ### hash {#hash} -A fixed-length fingerprint of variable-size input, produced by a hash function. (See [keccak-256](#keccak-256)) +A fixed-length fingerprint of variable-size input, produced by a hash function. (See [keccak-256](#keccak-256)). + +### hashrate {#hash-rate} + +The number of hash calculations made per second by computers running mining software. ### HD wallet {#hd-wallet} @@ -418,6 +510,10 @@ A [wallet](#wallet) using the hierarchical deterministic (HD) key creation and t A value used to generate the master [private key](#private-key) and master chain code for an HD [wallet](#wallet). The wallet seed can be represented by mnemonic words, making it easier for humans to copy, back up, and restore private keys. +### hexadecimal {#hexadecimal} + +Common representation format for byte sequencing. Its advantage is that values are represented in a compact format using two characters per byte (the characters [0-9][a-f]). + ### homestead {#homestead} The second development stage of Ethereum, launched in March 2016 at block 1,150,000. @@ -460,6 +556,10 @@ A [transaction](#transaction) sent from a [contract account](#contract-account) +### issuance + +The minting and granting of new cryptocurrency to a miner who has found a new block. + ## K {#section-k} ### key derivation function (KDF) {#kdf} @@ -470,6 +570,10 @@ Also known as a "password stretching algorithm," it is used by [keystore](#keyst Smart contract security +### keyfile {#keyfile} + +Every account’s private key/address pair exists as a single keyfile in an Ethereum client. These are JSON text files which contains the encrypted private key of the account, which can only be decrypted with the password entered during account creation. + ### keccak-256 {#keccak-256} Cryptographic [hash](#hash) function used in Ethereum. Keccak-256 was standardized as [SHA](#sha)-3. @@ -518,6 +622,10 @@ The [fork-choice algorithm](#fork-choice-algorithm) used by Ethereum's consensus Short for "main network," this is the main public Ethereum [blockchain](#blockchain). Real ETH, real value, and real consequences. Also known as layer 1 when discussing [layer 2](#layer-2) scaling solutions. (Also, see [testnet](#testnet)) +### memory-hard + +Memory hard functions are processes that experience a drastic decrease in speed or feasibility when the amount of available memory even slightly decreases. An example id the Ethereum mining algorithm [Ethash](#ethash). + ### Merkle Patricia trie {#merkle-patricia-tree} A data structure used in Ethereum to efficiently store key-value pairs. @@ -534,6 +642,18 @@ The act of passing a [message](#message) from one account to another. If the des The third development stage of Ethereum, launched in October 2017. +### mining {#mining} + +The process of verifying transactions and contract execution on the Ethereum blockchain in exchange for a reward in ether with the mining of every block. + +### mining pool{#mining-pool} + +The pooling of resources by miners who share their processing power and split [mining rewards](#mining-reward). + +### mining reward {#mining-reward} + +The amount of ether given to a miner that mined a new block. + ### miner {#miner} A network [node](#node) that finds valid [proof-of-work](#pow) for new blocks, by repeated pass hashing (see [Ethash](#ethash)). @@ -558,6 +678,10 @@ Referring to the Ethereum network, a peer-to-peer network that propagates transa Networks +### network hashrate {#network-hashrate} + +The number of hash calculations miners on the Ethereum network can make per second collectively. + ### non-fungible token (NFT) {#nft} Also known as a "deed," this is a token standard introduced by the ERC-721 proposal. NFTs can be tracked and traded, but each token is unique and distinct; they are not interchangeable like ETH and [ERC-20 tokens](#token-standard). NFTs can represent ownership of digital or physical assets. @@ -613,6 +737,14 @@ An oracle is a bridge between the [blockchain](#blockchain) and the real world. One of the most prominent interoperable implementations of the Ethereum client software. +### peer {#peer} + +Connected computers running Ethereum client software that have identical copies of the [blockchain](#blockchain). + +### peer to peer network {#peer-to-peer-network} + +A network of computers ([peers](#peer)) that are collectively able to perform functionalities normally only possible with centralized, server-based services. + ### Plasma {#plasma} An off-chain scaling solution that uses [fraud proofs](#fraud-proof), like [Optimistic rollups](#optimistic-rollups). Plasma is limited to simple transactions like basic token transfers and swaps. @@ -621,10 +753,18 @@ An off-chain scaling solution that uses [fraud proofs](#fraud-proof), like [Opti Plasma +### presale {#presale} + +Sale of cryptocurrency before the actual launch of the network. + ### private key (secret key) {#private-key} A secret number that allows Ethereum users to prove ownership of an account or contracts, by producing a digital signature (see [public key](#public-key), [address](#address), [ECDSA](#ecdsa)). +### private chain + +A fully private blockchain is one with write permissions limited to one organization. + ### Proof-of-stake (PoS) {#pos} A method by which a cryptocurrency blockchain protocol aims to achieve distributed [consensus](#consensus). PoS asks users to prove ownership of a certain amount of cryptocurrency (their "stake" in the network) in order to be able to participate in the validation of transactions. @@ -661,6 +801,10 @@ An attack that consists of an attacker contract calling a victim contract functi Re-entrancy +### reputation {#reputation} + +The property of an identity that other entities believe that identity to be either (1) competent at some specific task, or (2) trustworthy in some context, i.e., not likely to betray others even if short-term profitable. + ### reward {#reward} An amount of ether included in each new block as a reward by the network to the [miner](#miner) who found the [proof-of-work](#pow) solution. @@ -679,8 +823,16 @@ A type of [layer 2](#layer-2) scaling solution that batches multiple transaction +### RPC {#rpc} + +Remote Procedure Call, a protocol that a program uses to request a service from a program located in another computer in a network without having to understand the network details. + ## S {#section-s} +### Secure Hash Algorithm (SHA) {#sha} + +A family of cryptographic hash functions published by the National Institute of Standards and Technology (NIST). + ### Serenity {#serenity} The stage of Ethereum development that initiated a set of scaling and sustainability upgrades, previously known as 'Ethereum 2.0', or 'Eth2'. @@ -689,9 +841,9 @@ The stage of Ethereum development that initiated a set of scaling and sustainabi Ethereum upgrades -### Secure Hash Algorithm (SHA) {#sha} +### serialization {#serialization} -A family of cryptographic hash functions published by the National Institute of Standards and Technology (NIST). +The process of converting a data structure into a sequence of bytes. ### shard / shard chain {#shard} @@ -709,6 +861,10 @@ A scaling solution that uses a separate chain with different, often faster, [con Sidechains +### signing {#signing} + +Demonstrating that some data originated from a certain person by encoding it using a private key. + ### singleton {#singleton} A computer programming term that describes an object of which only a single instance can exist. @@ -777,6 +933,10 @@ Short for "scalable transparent argument of knowledge", a STARK is a type of [ze Zero-knowledge rollups +### state {#state} + +A snapshot of all balances and data at a particular point in time on the blockchain, normally referring to the condition at a particular block. + ### state channels {#state-channels} A [layer 2](#layer-2) solution where a channel is set up between participants, where they can transact freely and cheaply. Only a [transaction](#transaction) to set up the channel and close the channel is sent to [Mainnet](#mainnet). This allows for very high transaction throughput, but does rely on knowing number of participants up front and locking up of funds. @@ -789,6 +949,10 @@ A [layer 2](#layer-2) solution where a channel is set up between participants, w Supermajority is the term given for an amount exceeding 2/3 (66%) of the total staked ether on the [Beacon Chain](#beacon-chain). A supermajority vote is required for blocks to be [finalized](#finality) on the Beacon Chain. +### syncing {#syncing} + +The process of downloading the entire blockchain. + ### sync committee {#sync-committee} A sync committee is a randomly selected group of [validators](#validator) on the [Beacon Chain](#beacon-chain) that refresh every ~27 hours. Their purpose is to add their signatures to valid block headers. Sync committees allow [light clients](#lightweight-client) to keep track of the head of the blockchain without having to access the entire validator set. @@ -813,6 +977,10 @@ Short for "test network," a network used to simulate the behavior of the main Et Testnets +### token {#token} + +A fungible virtual good that can be traded. More formally, a token is a database mapping addresses to numbers with the property that the primary allowed operation is a transfer of N tokens from A to B, with the conditions that N is non-negative, N is not greater than A’s current balance, and a document authorizing the transfer is digitally signed by A. + ### token standard {#token-standard} Introduced by ERC-20 proposal, this provides a standardized [smart contract](#smart-contract) structure for fungible tokens. Tokens from the same contract can be tracked, traded, and are interchangeable, unlike [NFTs](#nft). @@ -837,6 +1005,10 @@ At a technical level, your transaction fee relates to how much [gas](#gas) your Reducing transaction fees is a subject of intense interest right now. See [Layer 2](#layer-2) +### trustlessness {#trustlessness} + +Refers to the ability of a network to trustworthily mediate transactions without any of the involved parties needing to trust anyone else. + ### Turing complete {#turing-complete} A concept named after English mathematician and computer scientist Alan Turing- a system of data-manipulation rules (such as a computer's instruction set, a programming language, or a cellular automaton) is said to be "Turing complete" or "computationally universal" if it can be used to simulate any Turing machine. @@ -856,7 +1028,7 @@ A [node](#node) in a [proof-of-stake](#pos) system responsible for storing data, Staking in Ethereum -### Validity proof {#validity-proof} +### validity proof {#validity-proof} A security model for certain [layer 2](#layer-2) solutions where, to increase speed, transactions are [rolled up](/#rollups) into batches and submitted to Ethereum in a single transaction. The transaction computation is done off-chain and then supplied to the main chain with a proof of their validity. This method increases the amount of transactions possible while maintaining security. Some [rollups](#rollups) use [fraud proofs](#fraud-proof). @@ -864,7 +1036,7 @@ A security model for certain [layer 2](#layer-2) solutions where, to increase sp Zero-knowledge rollups -### Validium {#validium} +### validium {#validium} An off-chain solution that uses [validity proofs](#validity-proof) to improve transaction throughput. Unlike [Zero-knowledge rollups](#zk-rollup), Validium data isn't stored on layer 1 [Mainnet](#mainnet). @@ -912,7 +1084,7 @@ The smallest denomination of [ether](#ether). 1018 wei = 1 ether. A special Ethereum address, composed entirely of zeros, that is specified as the destination address of a [contract creation transaction](#contract-creation-transaction). -### Zero-knowledge proof {#zk-proof} +### zero-knowledge proof {#zk-proof} A zero-knowledge proof is a cryptographic method that allows an individual to prove that a statement is true without conveying any additional information. @@ -920,7 +1092,7 @@ A zero-knowledge proof is a cryptographic method that allows an individual to pr Zero-knowledge rollups -### Zero-knowledge rollup {#zk-rollup} +### zero-knowledge rollup {#zk-rollup} A [rollup](#rollups) of transactions that use [validity proofs](#validity-proof) to offer increased [layer 2](#layer-2) transaction throughput while using the security provided by [Mainnet](#mainnet) (layer 1). Although they can't handle complex transaction types, like [Optimistic rollups](#optimistic-rollups), they don't have latency issues because transactions are provably valid when submitted. From 8b27e68622c4941658c6763f321b2ca5785bef9c Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 8 Apr 2022 14:35:57 +0100 Subject: [PATCH 059/167] alphabetical reorg and add page links --- src/content/glossary/index.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/content/glossary/index.md b/src/content/glossary/index.md index 796ceeffb34..9767c0e612a 100644 --- a/src/content/glossary/index.md +++ b/src/content/glossary/index.md @@ -135,7 +135,7 @@ The first of two [hard forks](#hard-fork) for the [Metropolis](#metropolis) deve ## C {#section-c} -### Casper-FFG +### Casper-FFG {casper-ffg} Casper-FFG is a proof-of-stake consensus protocol used in conjunction with the [LMD-GHOST](#lmd-ghost) fork choice algorithm to allow [consensus clients](#consensus-client) to agree on the head of the Beacon Chain. @@ -287,6 +287,14 @@ A deliberate blockchain fork, where a user with a sufficiently large amount of m A cryptographic algorithm used by Ethereum to ensure that funds can only be spent by their owners. It's the preferred method for creating public and private keys. Relevant for account [address](#address) generation and [transaction](#transaction) verification. +### encryption {#encryption} + +Encryption is the conversion of electronic data into a form unreadable by anyone except the owner of the correct decryption key. + +### entropy {#entropy} + +In the context of cryptography, lack of predictability or level of randomness. When generating secret information, such as [private keys](#private-key), algorithms usually rely on a source of high entropy to ensure the output is unpredictable. + ### epoch {#epoch} A period of 32 [slots](#slot) (6.4 minutes) in the [Beacon Chain](#beacon-chain)-coordinated system. [Validator](#validator) [committees](#committee) are shuffled every epoch for security reasons. There's an opportunity at each epoch for the chain to be [finalized](#finality). The term is also used on the [execution layer](#execution-layer) to mean the interval between each regeneration of the database used as a seed by the PoW algorithm [Ethash](#Ethash). The epoch in specified as 30000 blocks. @@ -337,14 +345,6 @@ The ENS registry is a single central [contract](#smart-contract) that provides a [Read more at ens.domains](https://ens.domains) -### encryption - -Encryption is the conversion of electronic data into a form unreadable by anyone except the owner of the correct decryption key. - -### entropy {#entropy} - -In the context of cryptography, lack of predictability or level of randomness. When generating secret information, such as [private keys](#private-key), algorithms usually rely on a source of high entropy to ensure the output is unpredictable. - ### execution client {#execution-client} Execution clients (f.k.a. "Eth1 clients"), such as Besu, Erigon, go-ethereum, Nethermind, are tasked with processing and broadcasting transactions, as well as with managing Ethereum's state. They run the computations for each transaction in the [Ethereum Virtual Machine](#evm) to ensure that the rules of the protocol are followed. Today, they also handle [proof-of-work](#pow) consensus. After the transition to [proof-of-stake](#pos), they will delegate this to consensus clients. @@ -622,7 +622,7 @@ The [fork-choice algorithm](#fork-choice-algorithm) used by Ethereum's consensus Short for "main network," this is the main public Ethereum [blockchain](#blockchain). Real ETH, real value, and real consequences. Also known as layer 1 when discussing [layer 2](#layer-2) scaling solutions. (Also, see [testnet](#testnet)) -### memory-hard +### memory-hard {#memory-hard} Memory hard functions are processes that experience a drastic decrease in speed or feasibility when the amount of available memory even slightly decreases. An example id the Ethereum mining algorithm [Ethash](#ethash). @@ -761,7 +761,7 @@ Sale of cryptocurrency before the actual launch of the network. A secret number that allows Ethereum users to prove ownership of an account or contracts, by producing a digital signature (see [public key](#public-key), [address](#address), [ECDSA](#ecdsa)). -### private chain +### private chain {#private-chain} A fully private blockchain is one with write permissions limited to one organization. From 27cf522d463232d13a4a851f5a111420a412c4b9 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Wed, 13 Apr 2022 11:51:51 +0100 Subject: [PATCH 060/167] update according to @minimalsm comments --- .../docs/networking-layer/network-addresses/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index 7fba902c302..1ec0d2a789e 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -14,7 +14,7 @@ Some understanding of Ethereum's [networking layer](/src/content/developers/docs ## Multiaddr {#multiaddr} -The original Ethereum node address format was the 'multiaddr'. Multiaddr is a universal format designed for peer-to-peer networks. Addresses are represented as key-value pairs with keys and values separated with a forward slash. For example, the multiaddr for a node with IPv4 address `192.168.22.27` listening to TCP port `33000` looks like: +The original Ethereum node address format was the 'multiaddr' (short for 'multi-addresses'). Multiaddr is a universal format designed for peer-to-peer networks. Addresses are represented as key-value pairs with keys and values separated with a forward slash. For example, the multiaddr for a node with IPv4 address `192.168.22.27` listening to TCP port `33000` looks like: `/ip6/192.168.22.27/tcp/33000` @@ -32,7 +32,7 @@ In the following example, the node URL describes a node with IP address `10.3.58 ## Ethereum Node Records (ENRs) {#enr} -Ethereum Node Records (ENRs) are a standardized format for network addresses on Ethereum. They supercede multiaddresses and enodes. These are especially useful because they allow greater informational exchange between nodes. The ENR contains a signature, sequence number and fields detailing the identity scheme used to generate and validate signatures. The rest of the record can be populated with arbitrary data organised as key-value pairs. These key-value pairs contain the node's IP address and information about the sub-protocols the node is able to use. Consensus clients use a [specific ENR structure](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure) to identify boot nodes and also include an `eth2` field containing information about the current Ethereum fork and the attestation gossip subnet (this connects the node to a particular set of peers whose attestations are aggregated together). +Ethereum Node Records (ENRs) are a standardized format for network addresses on Ethereum. They supercede multiaddr's and enodes. These are especially useful because they allow greater informational exchange between nodes. The ENR contains a signature, sequence number and fields detailing the identity scheme used to generate and validate signatures. The ENR can also be populated with arbitrary data organized as key-value pairs. These key-value pairs contain the node's IP address and information about the sub-protocols the node is able to use. Consensus clients use a [specific ENR structure](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure) to identify boot nodes and also include an `eth2` field containing information about the current Ethereum fork and the attestation gossip subnet (this connects the node to a particular set of peers whose attestations are aggregated together). ## Further Reading {#further-reading} From a142f557f45b9711756d336a0d63eb4ae2c95d34 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Wed, 13 Apr 2022 11:54:54 +0100 Subject: [PATCH 061/167] Update index.md --- .../developers/docs/networking-layer/network-addresses/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index 1ec0d2a789e..4ef61c83161 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -6,7 +6,7 @@ sidebar: true sidebarDepth: 2 --- -Ethereum nodes have to identify themselves with some basic information to connect to peers. To ensure any potential peer can interpret this information, it is relayed in one of three standardized formats that any Ethereum node can understand: multiaddr, enode, or Ethereum Node Records. +Ethereum nodes have to identify themselves with some basic information to connect to peers. To ensure any potential peer can interpret this information, it is relayed in one of three standardized formats that any Ethereum node can understand: multiaddr, enode, or Ethereum Node Records (ENRs). ENRs are the current standard for Ethereum network addresses. ## Prerequisites {#prerequisites} From b0883078d2b8ba3e8fedf9c6f0598f4d7d233bfb Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Wed, 13 Apr 2022 11:55:12 +0100 Subject: [PATCH 062/167] Update src/content/developers/docs/networking-layer/network-addresses/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- .../developers/docs/networking-layer/network-addresses/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index 4ef61c83161..a5ae6b46dc6 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -36,6 +36,6 @@ Ethereum Node Records (ENRs) are a standardized format for network addresses on ## Further Reading {#further-reading} -[ENR EIP](https://eips.ethereum.org/EIPS/eip-778) +[EIP-778: Ethereum Node Records (ENR)](https://eips.ethereum.org/EIPS/eip-778) [Network addresses in Ethereum](https://dean.eigenmann.me/blog/2020/01/21/network-addresses-in-ethereum/) [LibP2P: Multiaddr-Enode-ENR?!](https://consensys.net/diligence/blog/2020/09/libp2p-multiaddr-enode-enr/) From 0776144ffeacc9d550eb58c7918b5b2ba4ef8c58 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Wed, 13 Apr 2022 11:57:10 +0100 Subject: [PATCH 063/167] Update src/content/developers/docs/networking-layer/index.md Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/developers/docs/networking-layer/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index 785d82388d3..24c11f7fd60 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -6,7 +6,7 @@ sidebar: true sidebarDepth: 2 --- -Ethereum's networking layer is the stack of protocols that allows nodes to find each other and exchange information. After the merge there will be two pieces of client software (execution clients and consensus clients) each with their own separate networking stack. As well as communicating with other nodes on the Ethereum network, the execution and consensus clients also have to communicate with each other. This page gives an introductory explanation of the protocols that enable this communication to take place. +Ethereum's networking layer is the stack of protocols that allows nodes to find each other and exchange information. After [The Merge](/upgrades/merge/), there will be two parts of client software (execution clients and consensus clients), each with its own distinct networking stack. As well as communicating with other Ethereum nodes, the execution and consensus clients have to communicate with each other. This page gives an introductory explanation of the protocols that enable this communication. ## Prerequisites {#prerequisites} From afc103fd1359c7f756be03c70d3a88d3fd25dc80 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Wed, 13 Apr 2022 11:59:31 +0100 Subject: [PATCH 064/167] Update index.md --- .../developers/docs/networking-layer/network-addresses/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index a5ae6b46dc6..d12b0a4ab31 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -10,7 +10,7 @@ Ethereum nodes have to identify themselves with some basic information to connec ## Prerequisites {#prerequisites} -Some understanding of Ethereum's [networking layer](/src/content/developers/docs/networking-layer/) will be helpful to understand this page. +Some understanding of Ethereum's [networking layer](/src/content/developers/docs/networking-layer/) is required to understand this page. ## Multiaddr {#multiaddr} From 5f47efc1aedbf49e36e6da6634424f6e96c65cfd Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Wed, 13 Apr 2022 12:01:30 +0100 Subject: [PATCH 065/167] 2nd lev el heading -> 3rd level heading --- src/content/developers/docs/networking-layer/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index 24c11f7fd60..8c5ef20be2b 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -46,7 +46,7 @@ The [Ethereum Node Record (ENR)](/developers/docs/networking-layer/network addre UDP does not support any error checking, resending of failed packets, or dynamically opening and closing connections - instead it just fires a continuous stream of information at a target, regardless of whether it is successfully received. This minimal functionality also translates into minimal overhead, making this kind of connection very fast. For discovery, where a node simply wants to make its presence known in order to then establish a formal connection with a peer, UDP is sufficient. However, for the rest of the networking stack, UDP is not fit for purpose. The informational exchange between nodes is quite complex and therefore needs a more fully featured protocol that can support resending, error checking etc. The additional overhead associated with TCP is worth the additional functionality. Therefore, the majority of the P2P stack operates over TCP. -## DevP2P {#devp2p} +### DevP2P {#devp2p} DevP2P is itself a whole stack of protocols that Ethereum implements to establish and maintain the peer-to-peer network. After new nodes enter the network, their interactions are governed by protocols in the [DevP2P](https://github.com/ethereum/devp2p) stack. These all sit on top of TCP and include the RLPx transport protocol, wire protocol and several sub-protocols. [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md) is the protocol governing initiating, authenticating and maintaining sessions between nodes. RLPx encodes messages using RLP (Recursive Length Prefix) which is a very space-efficient method of encoding data into a minimal structure for sending between nodes. From d5583305d2c6b07f4eab1efdc9dcd9ba36e8f9ee Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Wed, 13 Apr 2022 13:45:58 +0100 Subject: [PATCH 066/167] Apply suggestions from code review Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/glossary/index.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/content/glossary/index.md b/src/content/glossary/index.md index 9767c0e612a..43e9cf53fe2 100644 --- a/src/content/glossary/index.md +++ b/src/content/glossary/index.md @@ -45,7 +45,7 @@ An Application Programming Interface (API) is a set of definitions for how to us ### ASIC {#asic} -Application-specific integrated circuit, in this case referring to an integrated circuit custom built for cryptocurrency mining. +Application-specific integrated circuit. This usually refers to an integrated circuit, custom-built for cryptocurrency mining. ### assert {#assert} @@ -91,7 +91,7 @@ A collection of required information (a block header) about the comprised [trans Blocks -### block(chain) explorer +### block explorer {#block-explorer} A website that allows easy searching and extraction of data from the blockchain. @@ -103,7 +103,7 @@ The data in a block which is unique to its content and the circumstances in whic The process of transmitting a confirmed block to all other nodes in the network. -### block time +### block time {#block-time} The average time interval between the mining of two blocks. After the merge the block time will be the time between two Beacon blocks (under optimal conditions there will be one block per slot, which occurs every 6 seconds). @@ -119,7 +119,7 @@ In Ethereum, a sequence of [blocks](#block) validated by the [proof-of-work](#po What is a Blockchain? -### bootnode +### bootnode {#bootnode} The nodes which can be used to initiate the discovery process when running a node. The endpoints of these nodes are recorded in the Ethereum source code. @@ -271,7 +271,7 @@ A short string of data a user produces for a document using a [private key](#pri ### discovery {#discovery} -The process by which an Ethereum node finds other nodes (computers running client software) to connect to. +The process by which an Ethereum node finds other nodes to connect to. ### distributed hash table {#distributed-hash-table} @@ -468,7 +468,7 @@ The maximum amount of [gas](#gas) a [transaction](#transaction) or [block](#bloc ### gas price {#gas-price} -Price in ether of one unit of gas specified in a transaction. With the launch of Homestead, the default gas price reduces from 50 shannon to 20 shannon (~60% reduction). +Price in ether of one unit of gas specified in a transaction. ### genesis block {#genesis-block} @@ -825,7 +825,7 @@ A type of [layer 2](#layer-2) scaling solution that batches multiple transaction ### RPC {#rpc} -Remote Procedure Call, a protocol that a program uses to request a service from a program located in another computer in a network without having to understand the network details. +**Remote procedure call (RPC)** is a protocol that a program uses to request a service from a program located on another computer in a network without having to understand the network details. ## S {#section-s} @@ -863,7 +863,7 @@ A scaling solution that uses a separate chain with different, often faster, [con ### signing {#signing} -Demonstrating that some data originated from a certain person by encoding it using a private key. +Demonstrating that a transaction originated from a specific person by encoding it using a private key. ### singleton {#singleton} @@ -951,7 +951,7 @@ Supermajority is the term given for an amount exceeding 2/3 (66%) of the total s ### syncing {#syncing} -The process of downloading the entire blockchain. +The process of downloading the entire latest version of a blockchain to a node. ### sync committee {#sync-committee} @@ -1007,7 +1007,7 @@ Reducing transaction fees is a subject of intense interest right now. See [Layer ### trustlessness {#trustlessness} -Refers to the ability of a network to trustworthily mediate transactions without any of the involved parties needing to trust anyone else. +The ability of a network to mediate transactions without any of the involved parties needing to trust a third party ### Turing complete {#turing-complete} From ef59eec24ef684e62ec92ac9c9524c9173090ed1 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Wed, 13 Apr 2022 14:05:42 +0100 Subject: [PATCH 067/167] apply review suggestions --- src/content/glossary/index.md | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/content/glossary/index.md b/src/content/glossary/index.md index 43e9cf53fe2..349ef132099 100644 --- a/src/content/glossary/index.md +++ b/src/content/glossary/index.md @@ -93,7 +93,7 @@ A collection of required information (a block header) about the comprised [trans ### block explorer {#block-explorer} -A website that allows easy searching and extraction of data from the blockchain. +A website that allows a user to search for information from, and about, a blockchain. This includes retrieving individual transactions, activity associated with specific addresses and information about the network. ### block header {#block-header} @@ -105,7 +105,7 @@ The process of transmitting a confirmed block to all other nodes in the network. ### block time {#block-time} -The average time interval between the mining of two blocks. After the merge the block time will be the time between two Beacon blocks (under optimal conditions there will be one block per slot, which occurs every 6 seconds). +The average time interval between blocks being added to the blockchain. ### block validation {#block-validation} @@ -510,9 +510,6 @@ A [wallet](#wallet) using the hierarchical deterministic (HD) key creation and t A value used to generate the master [private key](#private-key) and master chain code for an HD [wallet](#wallet). The wallet seed can be represented by mnemonic words, making it easier for humans to copy, back up, and restore private keys. -### hexadecimal {#hexadecimal} - -Common representation format for byte sequencing. Its advantage is that values are represented in a compact format using two characters per byte (the characters [0-9][a-f]). ### homestead {#homestead} @@ -662,7 +659,7 @@ A network [node](#node) that finds valid [proof-of-work](#pow) for new blocks, b Mining -### Mint {#mint} +### mint {#mint} Minting is the process of creating new tokens and bringing them into circulation so that they can be used. It's a decentralized mechanism to create a new token without the involvement of the central authority. @@ -713,7 +710,7 @@ In cryptography, a value that can only be used once. There are two types of nonc When a [miner](#miner) finds a valid [block](#block), another miner may have published a competing block which is added to the tip of the blockchain first. This valid, but stale, block can be included by newer blocks as _ommers_ and receive a partial block reward. The term "ommer" is the preferred gender-neutral term for the sibling of a parent block, but this is also sometimes referred to as an "uncle". -### Optimistic rollup {#optimistic-rollup} +### optimistic rollup {#optimistic-rollup} A [rollup](#rollups) of transactions that use [fraud proofs](#fraud-proof) to offer increased [layer 2](#layer-2) transaction throughput while using the security provided by [Mainnet](#mainnet) (layer 1). Unlike [Plasma](#plasma), a similar layer 2 solution, Optimistic rollups can handle more complex transaction types – anything possible in the [EVM](#evm). They do have latency issues compared to [Zero-knowledge rollups](#zk-rollups) because a transaction can be challenged via the fraud proof. @@ -765,7 +762,7 @@ A secret number that allows Ethereum users to prove ownership of an account or c A fully private blockchain is one with write permissions limited to one organization. -### Proof-of-stake (PoS) {#pos} +### proof-of-stake (PoS) {#pos} A method by which a cryptocurrency blockchain protocol aims to achieve distributed [consensus](#consensus). PoS asks users to prove ownership of a certain amount of cryptocurrency (their "stake" in the network) in order to be able to participate in the validation of transactions. @@ -773,7 +770,7 @@ A method by which a cryptocurrency blockchain protocol aims to achieve distribut Proof-of-stake -### Proof-of-work (PoW) {#pow} +### proof-of-work (PoW) {#pow} A piece of data (the proof) that requires significant computation to find. In Ethereum, [miners](#miner) must find a numeric solution to the [Ethash](#ethash) algorithm that meets a network-wide [difficulty](#difficulty) target. @@ -979,7 +976,7 @@ Short for "test network," a network used to simulate the behavior of the main Et ### token {#token} -A fungible virtual good that can be traded. More formally, a token is a database mapping addresses to numbers with the property that the primary allowed operation is a transfer of N tokens from A to B, with the conditions that N is non-negative, N is not greater than A’s current balance, and a document authorizing the transfer is digitally signed by A. +A fungible virtual good that can be traded. ### token standard {#token-standard} From 0b20a3370f0979d4064c8e07f552b44599ea567a Mon Sep 17 00:00:00 2001 From: Nhan Vo Date: Wed, 13 Apr 2022 23:18:24 +0700 Subject: [PATCH 068/167] (vi): Update some translations and correct spelling mistakes in Vietnamese --- src/content/translations/vi/enterprise/index.md | 2 +- src/content/translations/vi/python/index.md | 2 +- src/content/translations/vi/wallets/index.md | 2 +- .../translations/vi/what-is-ethereum/index.md | 2 +- src/intl/vi/common.json | 12 ++++++------ src/intl/vi/page-developers-index.json | 16 ++++++++-------- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/content/translations/vi/enterprise/index.md b/src/content/translations/vi/enterprise/index.md index 39a9d3c1109..6d66644f3dc 100644 --- a/src/content/translations/vi/enterprise/index.md +++ b/src/content/translations/vi/enterprise/index.md @@ -33,7 +33,7 @@ Một số nỗ lực hợp tác để làm cho doanh nghiệp Ethereum thân th - [EEA -](https://entethalliance.org/) _Enterprise Ethereum Alliance là một tổ chức tiêu chuẩn do thành viên điều hành, có điều lệ là phát triển các thông số kỹ thuật chuỗi khối mở, hướng đến sự hài hòa và khả năng tương tác cho các doanh nghiệp và người tiêu dùng trên toàn thế giới. Cộng đồng thành viên toàn cầu của chúng tôi gồm các nhà lãnh đạo, người tiếp nhận, nhà đổi mới, nhà phát triển và doanh nghiệp cộng tác để tạo ra một trang web mở, phi tập trung vì lợi ích của mọi người._ -- [Hyperledger Foundation](https://hyperledger.org) _Hyperledger là một nỗ lực hợp tác mã nguồn mở được tạo ra để thúc đẩy các công nghệ chuỗi khối công nghiệp chéo. Đây là sự hợp tác toàn cầu, được tổ chức bởi Quỹ Linux, bao gồm các nhà lãnh đạo về tài chính, ngân hàng, Internet vạn vật, chuỗi cung ứng, sản xuất và Công nghệ._ _Nền tảng này có một số dự án hoạt động với ngăn xếp Ethereum:_ - [Hyperledger Besu](https://www.hyperledger.org/blog/2019/08/29/announcing-hyperledger-besu) - [Hyperledger Burrow](https://www.hyperledger.org/projects/hyperledger-burrow) +- [Hyperledger Foundation](https://hyperledger.org) _Hyperledger là một nỗ lực hợp tác mã nguồn mở được tạo ra để thúc đẩy các công nghệ chuỗi khối công nghiệp chéo. Đây là sự hợp tác toàn cầu, được tổ chức bởi Quỹ Linux, bao gồm các nhà lãnh đạo về tài chính, ngân hàng, Internet vạn vật, chuỗi cung ứng, sản xuất và Công nghệ._ _Nền tảng này có một số dự án hoạt động với Ethereum Stack:_ - [Hyperledger Besu](https://www.hyperledger.org/blog/2019/08/29/announcing-hyperledger-besu) - [Hyperledger Burrow](https://www.hyperledger.org/projects/hyperledger-burrow) ## Dịch vụ tập trung vào doanh nghiệp {#enterprise-focused-services} diff --git a/src/content/translations/vi/python/index.md b/src/content/translations/vi/python/index.md index d5b14cfbbc6..9318ab82b1b 100644 --- a/src/content/translations/vi/python/index.md +++ b/src/content/translations/vi/python/index.md @@ -51,7 +51,7 @@ Cần một hướng dẫn cơ bản hơn? Tham khảo [ethereum.org/learn](/vi/ - [py-evm](https://github.com/ethereum/py-evm) - _triển khai máy ảo Ethereum_ - [py-solc-x](https://pypi.org/project/py-solc-x/) - _Trình tập trung Python xung quanh trình biên dịch solc solidity với hỗ trợ 0,5.x_ - [py-wasm](https://github.com/ethereum/py-wasm) - _Python thực hiện trình thông dịch lắp ráp web_ -- [pydevp2p](https://github.com/ethereum/pydevp2p) - _Triển khai ngăn xếp Ethereum P2P_ +- [pydevp2p](https://github.com/ethereum/pydevp2p) - _Triển khai Ethereum Stack P2P_ - [pymaker](https://github.com/makerdao/pymaker) - _Python API cho hợp đồng của nhà sản xuất_ - [Mamba](https://mamba.black) - _framework để viết, biên dịch và triển khai các hợp đồng thông minh được viết bằng ngôn ngữ Vyper_ - [Trinity](https://github.com/ethereum/trinity) - _Ứng dụng Ethereum Python_ diff --git a/src/content/translations/vi/wallets/index.md b/src/content/translations/vi/wallets/index.md index a0a12bf02e9..13f37f4dec4 100644 --- a/src/content/translations/vi/wallets/index.md +++ b/src/content/translations/vi/wallets/index.md @@ -22,7 +22,7 @@ Ban muốn tạo ví? - [MyCrypto](https://mycrypto.com) _ví dựa trên web_ - [TrustWallet](https://trustwallet.com/) _Ví di động cho iOS và Android_ - [MyEtherWallet](https://www.myetherwallet.com/) _ví của phía máy khách_ -- [Opera](https://www.opera.com/crypto) _trình duyệt lớn với ví tích hợp_ +- [Opera](https://www.opera.com/crypto) _trình duyệt phổ biến với ví tích hợp_ Bạn muốn tìm hiểu thêm về ví Ethereum? diff --git a/src/content/translations/vi/what-is-ethereum/index.md b/src/content/translations/vi/what-is-ethereum/index.md index 663da306e9d..cdd740b90ce 100644 --- a/src/content/translations/vi/what-is-ethereum/index.md +++ b/src/content/translations/vi/what-is-ethereum/index.md @@ -11,7 +11,7 @@ Bạn mới bắt đầu tìm hiểu Ethereum? Bạn đang ở đúng nơi. Bắ **Ethereum là nền tảng cho kỷ nguyên của internet mới:** - Internet, nơi mà tiền và quá trình thanh toán được tích hợp. -- Internet nơi người dùng có thể sở hữu dữ liệu của họ và ứng dụng của bạn không bị bí mật thu thập thông tin và đánh cắp từ bạn. +- Internet, nơi người dùng có thể sở hữu dữ liệu của họ và ứng dụng của bạn không bị bí mật thu thập thông tin và đánh cắp từ bạn. - Internet, nơi mà mọi người có thể tiếp cận với một hệ thống tài chính mở. - Internet được xây dựng trên cơ sở hạ tầng truy cập mở, trung lập, không bị tổ chức hay cá nhân nào kiểm soát. diff --git a/src/intl/vi/common.json b/src/intl/vi/common.json index 91e82893464..90095f564ca 100644 --- a/src/intl/vi/common.json +++ b/src/intl/vi/common.json @@ -58,10 +58,10 @@ "consensus-run-beacon-chain": "Run a consensus client", "consensus-run-beacon-chain-desc": "Ethereum cần nhiều clients hoạt động nhất có thể. Sử dụng một dịch vụ chung của Ethereum này!", "consensus-when-shipping": "Khi nào đi vào hoạt động?", - "eth-upgrade-what-happened": "What happened to 'Eth2?'", + "eth-upgrade-what-happened": "Chuyện gì xảy ra với 'Eth2?'", "eth-upgrade-what-happened-description": "The term 'Eth2' has been deprecated as we approach the merge. The 'consensus layer' encapsulates what was formerly known as 'Eth2.'", "ethereum": "Ethereum", - "ethereum-upgrades": "Ethereum upgrades", + "ethereum-upgrades": "Nâng cấp Ethereum", "ethereum-brand-assets": "Tài sản thương hiệu Ethereum", "ethereum-community": "Cộng đồng Ethereum", "ethereum-online": "Giao tiếp trực tuyến", @@ -75,7 +75,7 @@ "ethereum-support": "Hỗ trợ từ Ethereum", "ethereum-studio": "Ethereum Studio", "ethereum-wallets": "Ví Ethereum", - "ethereum-whitepaper": "Sách trắng Ethereum", + "ethereum-whitepaper": "Ethereum Whitepaper", "events": "Sự kiện", "example-projects": "Các dự án mẫu", "find-wallet": "Tìm ví", @@ -94,7 +94,7 @@ "history-of-ethereum": "Lịch sử Ethereum", "home": "Trang chủ", "how-ethereum-works": "Cách hoạt động của Ethereum", - "image": "hình ảnh", + "image": "Hình ảnh", "in-this-section": "Trong phần này", "individuals": "Cá nhân", "individuals-menu": "Menu của cá nhân", @@ -222,7 +222,7 @@ "translation-banner-no-bugs-dont-show-again": "Không hiển thị lại", "tutorials": "Hướng dẫn", "uniswap-logo": "Logo Uniswap", - "upgrades": "Upgrades", + "upgrades": "Nâng cấp", "use": "Sử dụng", "use-ethereum": "Sử dụng Ethereum", "use-ethereum-menu": "Sử dụng menu Ethereum", @@ -231,7 +231,7 @@ "website-last-updated": "Trang cập nhật mới nhất", "what-is-ether": "Ether (ETH) là gì?", "what-is-ethereum": "Ethereum là gì?", - "whitepaper": "Sách trắng", + "whitepaper": "Whitepaper", "defi-page": "Tài chính phi tập trung (DeFi)", "dao-page": "Tổ chức tự trị phi tập trung (DAO)", "nft-page": "Non-Fungible Token (NFT)" diff --git a/src/intl/vi/page-developers-index.json b/src/intl/vi/page-developers-index.json index cb4c3d1b078..5fb6280f7ca 100644 --- a/src/intl/vi/page-developers-index.json +++ b/src/intl/vi/page-developers-index.json @@ -1,7 +1,7 @@ { "page-developer-meta-title": "Tài nguyên dành cho nhà phát triển Ethereum", "page-developers-about": "Giới thiệu về các tài nguyên dành cho nhà phát triển này", - "page-developers-about-desc": "ethereum.org là nơi giúp bạn xây dựng cùng Ethereum bằng tài liệu tham khảo về các khái niệm nền tảng cũng như ngăn xếp phát triển. Ngoài ra còn có các hướng dẫn để bắt đầu triển khai và đi vào hoạt động.", + "page-developers-about-desc": "ethereum.org là nơi giúp bạn xây dựng cùng Ethereum bằng tài liệu tham khảo về các khái niệm nền tảng cũng như phát triển Stack. Ngoài ra còn có các hướng dẫn để bắt đầu triển khai và đi vào hoạt động.", "page-developers-about-desc-2": "Lấy cảm hứng từ Mạng lưới Nhà phát triển của Mozilla, chúng tôi nghĩ rằng Ethereum cần một nơi để lưu giữ nội dung và tài nguyên dành cho nhà phát triển. Giống như các bạn chúng tôi tại Mozilla, mọi thứ ở đây đều là nguồn mở và sẵn sàng để bạn phát triển và cải thiện.", "page-developers-account-desc": "Hợp đồng hoặc những người trên mạng lưới này", "page-developers-accounts-link": "Tài khoản", @@ -36,14 +36,14 @@ "page-developers-intro-dapps-desc": "Giới thiệu về ứng dụng phi tập trung", "page-developers-intro-dapps-link": "Giới thiệu về ứng dụng phi tập trung", "page-developers-intro-eth-link": "Giới thiệu về Ethereum", - "page-developers-intro-stack": "Giới thiệu về ngăn xếp", + "page-developers-intro-stack": "Giới thiệu về Stack", "page-developers-intro-stack-desc": "Giới thiệu về Ethereum-Stack", - "page-developers-js-libraries-desc": "Sử dụng javascript để tương tác với các hợp đồng thông minh", + "page-developers-js-libraries-desc": "Sử dụng JavaScript để tương tác với các hợp đồng thông minh", "page-developers-js-libraries-link": "Thư viện JavaScript", "page-developers-language-desc": "Sử dụng Ethereum với các ngôn ngữ quen thuộc", "page-developers-languages": "Ngôn ngữ lập trình", "page-developers-learn": "Học cách phát triển Ethereum", - "page-developers-learn-desc": "Tìm hiểu các khái niệm chính và ngăn xếp Ethereum bằng các tài liệu của chúng tôi", + "page-developers-learn-desc": "Tìm hiểu các khái niệm chính và Ethereum Stack bằng các tài liệu của chúng tôi", "page-developers-learn-tutorials": "Học thông qua các hướng dẫn", "page-developers-learn-tutorials-cta": "Xem hướng dẫn", "page-developers-learn-tutorials-desc": "Học cách phát triển Ethereum từng bước từ các nhà phát triển đã từng làm điều đó.", @@ -63,8 +63,8 @@ "page-developers-smart-contract-security-desc": "Các biện pháp bảo mật cần xem xét trong quá trình phát triển", "page-developers-smart-contract-security-link": "Bảo mật", "page-developers-set-up": "Thiết lập môi trường cục bộ", - "page-developers-setup-desc": "Chuẩn bị ngăn xếp sẵn sàng để xây dựng bằng cách định cấu hình môi trường phát triển.", - "page-developers-smart-contracts-desc": "Lôgic đằng sau các ứng dụng phi tập trung - thỏa thuận tự thực thi", + "page-developers-setup-desc": "Sẵng sàng xây dựng Stack bằng cách cấu hình môi trường phát triển.", + "page-developers-smart-contracts-desc": "Logic đằng sau các ứng dụng phi tập trung - thỏa thuận tự thực thi", "page-developers-smart-contracts-link": "Hợp đồng thông minh", "page-developers-stack": "Ngăn xếp", "page-developers-start": "Bắt đầu thử nghiệm", @@ -73,8 +73,8 @@ "page-developers-storage-link": "Lưu trữ", "page-developers-subtitle": "Hướng dành cho nhà phát triển về Ethereum. Bởi nhà phát triển, dành cho nhà phát triển.", "page-developers-title-1": "Ethereum", - "page-developers-title-2": "nhà phát triển", - "page-developers-title-3": "tài nguyên", + "page-developers-title-2": "Nhà phát triển", + "page-developers-title-3": "Tài nguyên", "page-developers-token-standards-desc": "Tổng quan về các tiêu chuẩn mã thông báo được chấp nhận", "page-developers-token-standards-link": "Tiêu chuẩn mã thông báo", "page-developers-transactions-desc": "Cách Ethereum tuyên bố thay đổi", From 39e77491d483d2aacf5adeee17c260fb08483ef3 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Fri, 15 Apr 2022 14:57:11 +0100 Subject: [PATCH 069/167] Update src/content/developers/docs/data-structures/patricia-merkle-trie/index.md --- .../docs/data-structures/patricia-merkle-trie/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index 98afe3af23a..7fbc678c827 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -25,7 +25,7 @@ In a basic radix trie, every node looks as follows: Where `i0 ... in` represent the symbols of the alphabet (often binary or hex), `value` is the terminal value at the node, and the values in the `i0 ... in` slots are either `NULL` or pointers to (in our case, hashes of) other nodes. This forms a basic `(key, value)` store. For example, if you are interested in the value that is currently mapped to `dog` in the trie, you would first convert `dog` into letters of the alphabet (giving `64 6f 67`), and then descend the trie following that path until you find the value. That is, you would first look up the root hash in a flat key/value DB to find the root node of the trie (which is an array of keys to other nodes), use the value at index `6` as a key (and look it up in the flat key/value DB) to get the node one level down, then pick index `4` of that to look up the next value, then pick index `6` of that, and so on, until, once you followed the path: `root -> 6 -> 4 -> 6 -> 15 -> 6 -> 7`, you look up the value of the node that you have and return the result. -Note there is a difference between looking something up in the "trie" vs the underlying flat key/value "DB". They both define key/values arrangements, but the underlying DB can do a traditional 1 step lookup of a key, while looking up a key in the trie requires multiple underlying DB lookups to get to the final value as described above. To eliminate ambiguity, let's refer to the latter as a `path`. +There is a difference between looking something up in the 'trie' and the underlying flat key/value 'DB'. They both define key/values arrangements, but the underlying DB can do a traditional 1 step lookup of a key. Looking up a key in the trie requires multiple underlying DB lookups to get to the final value described above. Let's refer to the latter as a `path` to eliminate ambiguity. The update and delete operations for radix tries are simple, and can be defined roughly as follows: From 29d39749d46f63aab6dd626b9405ad364a2242a9 Mon Sep 17 00:00:00 2001 From: stoobie Date: Sun, 24 Apr 2022 17:28:10 +0300 Subject: [PATCH 070/167] 6058 Initial commit. Changed `internet` to ~`Web`. --- src/content/web3/index.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/content/web3/index.md b/src/content/web3/index.md index 10ebadb02c7..b9c562e9373 100644 --- a/src/content/web3/index.md +++ b/src/content/web3/index.md @@ -1,28 +1,28 @@ --- title: What is Web3 and why is it important? -description: An introduction to Web3—the next evolution of the internet—and why it matters. +description: An introduction to Web3—the next evolution of the World Wide Web—and why it matters. lang: en sidebar: true --- # Introduction to Web3 {#introduction} -Centralization has helped onboard billions of people to the internet and created the stable, robust infrastructure on which it lives. At the same time, a handful of centralized entities have a stronghold on large swathes of the internet, unilaterally deciding what should and should not be allowed. +Centralization has helped onboard billions of people to the World Wide Web and created the stable, robust infrastructure on which it lives. At the same time, a handful of centralized entities have a stronghold on large swathes of the World Wide Web, unilaterally deciding what should and should not be allowed. -Web3 is the answer to this dilemma. Instead of an internet monopolized by large technology companies, Web3 embraces decentralization and is being built, operated, and owned by its users. Web3 puts power in the hands of individuals rather than corporations. +Web3 is the answer to this dilemma. Instead of a Web monopolized by large technology companies, Web3 embraces decentralization and is being built, operated, and owned by its users. Web3 puts power in the hands of individuals rather than corporations. Before we talk about Web3, let's explore how we got here. -## The early internet {#early-internet} +## The early Web {#early-internet} -Most people think of the internet as a continuous pillar of modern life—it was invented and has just existed since. However, the internet most of us know today is quite different from originally imagined. To understand this better, it's helpful to break the internet's short history into loose periods—web 1.0 and web 2.0. +Most people think of the Web as a continuous pillar of modern life—it was invented and has just existed since. However, the Web most of us know today is quite different from originally imagined. To understand this better, it's helpful to break the Web's short history into loose periods—Web 1.0 and Web 2.0. ### Web 1.0: Read-Only (1990-2004) {#web1} -In 1989, in CERN, Geneva, Tim Berners-Lee was busy developing the protocols that would become the internet. His idea? To create open, decentralized protocols that allowed information-sharing from anywhere on Earth. +In 1989, in CERN, Geneva, Tim Berners-Lee was busy developing the protocols that would become the Web. His idea? To create open, decentralized protocols that allowed information-sharing from anywhere on Earth. -The first inception of the internet, now known as 'Web 1.0', occurred roughly between 1990 to 2004. The internet on Web 1.0 mainly was static websites owned by companies, and there was close to zero interaction between users - individuals seldom produced content - leading to it being known as the read-only web. +The first inception of the Web, now known as 'Web 1.0', occurred roughly between 1990 to 2004. Web 1.0 was mainly static websites owned by companies, and there was close to zero interaction between users - individuals seldom produced content - leading to it being known as the read-only web. ![Client-server architecture, representing Web 1.0](./web1.png) @@ -36,19 +36,19 @@ The Web 2.0 period began in 2004 with the emergence of social media platforms. I ## Web 3.0: Read-Write-Own {#web3} -The premise of 'Web 3.0' was coined by [Ethereum](/what-is-ethereum/) co-founder Gavin Wood shortly after Ethereum launched in 2014. Gavin put into words a solution for a problem that many early crypto adopters felt: the internet required too much trust. That is, most of the internet that people know and use today relies on trusting a handful of private companies to act in the public's best interests. +The premise of 'Web 3.0' was coined by [Ethereum](/what-is-ethereum/) co-founder Gavin Wood shortly after Ethereum launched in 2014. Gavin put into words a solution for a problem that many early crypto adopters felt: the Web required too much trust. That is, most of the Web that people know and use today relies on trusting a handful of private companies to act in the public's best interests. ![Decentralized node architecture, representing Web3](./web3.png) ### What is Web3? {#what-is-web3} -Web3 has become a catch-all term for the vision of a new, better internet. At its core, Web3 uses blockchains, cryptocurrencies, and NFTs to give power back to the users in the form of ownership. [A 2020 post on Twitter](https://twitter.com/himgajria/status/1266415636789334016) said it best: Web1 was read-only, Web2 is read-write, Web3 will be read-write-own. +Web3 has become a catch-all term for the vision of a new, better Web. At its core, Web3 uses blockchains, cryptocurrencies, and NFTs to give power back to the users in the form of ownership. [A 2020 post on Twitter](https://twitter.com/himgajria/status/1266415636789334016) said it best: Web1 was read-only, Web2 is read-write, Web3 will be read-write-own. #### Core ideas of Web3 {#core-ideas} Although it's challenging to provide a rigid definition of what Web3 is, a few core principles guide its creation. -- **Web3 is decentralized:** instead of large swathes of the internet controlled and owned by centralized entities, ownership gets distributed amongst its builders and users. +- **Web3 is decentralized:** instead of large swathes of the Web controlled and owned by centralized entities, ownership gets distributed amongst its builders and users. - **Web3 is permissionless:** everyone has equal access to participate in Web3, and no one gets excluded. - **Web3 has native payments:** it uses cryptocurrency for spending and sending money online instead of relying on the outdated infrastructure of banks and payment processors. - **Web3 is trustless:** it operates using incentives and economic mechanisms instead of relying on trusted third-parties. @@ -125,7 +125,7 @@ The Web3 ecosystem is young and quickly evolving. As a result, it currently depe Web3 is a young and evolving ecosystem. Gavin Wood coined the term in 2014, but many of these ideas have only recently become a reality. In the last year alone, there has been a considerable surge in the interest in cryptocurrency, improvements to layer 2 scaling solutions, massive experiments with new forms of governance, and revolutions in digital identity. -We are only at the beginning of creating a better internet with Web3, but as we continue to improve the infrastructure that will support it, the future of the internet looks bright. +We are only at the beginning of creating a better Web with Web3, but as we continue to improve the infrastructure that will support it, the future of the Web looks bright. ## How can I get involved {#get-involved} From ac2332034e1bde42faa9257541a7e7a401c9eb41 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 Apr 2022 23:49:14 +0000 Subject: [PATCH 071/167] Bump cross-fetch from 3.1.4 to 3.1.5 Bumps [cross-fetch](https://github.com/lquixada/cross-fetch) from 3.1.4 to 3.1.5. - [Release notes](https://github.com/lquixada/cross-fetch/releases) - [Commits](https://github.com/lquixada/cross-fetch/compare/v3.1.4...v3.1.5) --- updated-dependencies: - dependency-name: cross-fetch dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 0f5457494d2..0c492752cca 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "axios": "^0.21.2", "babel-plugin-styled-components": "^1.10.7", "clipboard": "^2.0.6", - "cross-fetch": "^3.1.3-alpha.6", + "cross-fetch": "^3.1.5", "dotenv": "^8.2.0", "ethereum-blockies-base64": "^1.0.2", "framer-motion": "^4.1.3", diff --git a/yarn.lock b/yarn.lock index 5fb9a91c0b2..5026715bc16 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5712,13 +5712,20 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-fetch@3.1.4, cross-fetch@^3.1.3-alpha.6: +cross-fetch@3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39" integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== dependencies: node-fetch "2.6.1" +cross-fetch@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -11741,14 +11748,7 @@ node-fetch@2.6.1: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== -node-fetch@^2.6.1, node-fetch@^2.6.6: - version "2.6.6" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" - integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^2.6.7: +node-fetch@2.6.7, node-fetch@^2.6.1, node-fetch@^2.6.6, node-fetch@^2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== From 6815b0f88731e8137ecfac9d7211d8058678a785 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Wed, 4 May 2022 20:38:15 +0100 Subject: [PATCH 072/167] Apply suggestions from code review committing the straightforward suggestions from Wackerow and S1na reviews Co-authored-by: Sina Mahmoodi <1591639+s1na@users.noreply.github.com> Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com> --- src/content/developers/docs/data-structures/index.md | 2 +- .../developers/docs/data-structures/rlp/index.md | 2 +- .../developers/docs/data-structures/ssz/index.md | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index 3da8a7eb7da..d98672372ba 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -16,7 +16,7 @@ You should understand the fundamentals of Ethereum and [client software]. Famili ### Patricia merkle tries {#patricia-merkle-tries} -Patricia Merkle Tries are structures that encode key-value pairs into a deterministic trie. These are used extensively across Ethereum's execution layer. +Patricia Merkle Tries are structures that encode key-value pairs into a deterministic and cryptographically authenticated trie. These are used extensively across Ethereum's execution layer. [More on Patricia Merkle Tries](developers/docs/data-structures/patricia-merkle-trie) diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md index 999e0e115c1..0773876ee17 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -158,4 +158,4 @@ def to_integer(b): ## Related topics {#related-topics} -- [Patricia merkle trie](/developers/docs/data-structures/patricia-merkle-trie) +- [Patricia merkle trie](/developers/docs/data-structures/patricia-merkle-tries) diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures/ssz/index.md index 4fca92c395d..e69a9aba7f4 100644 --- a/src/content/developers/docs/data-structures/ssz/index.md +++ b/src/content/developers/docs/data-structures/ssz/index.md @@ -84,17 +84,17 @@ This is still a simplification - the integers and zeros in the schematics above So the actual values for variable-length types are stored in a heap at the end of the serialized object with their offsets stored in their correct positions in the ordered list of fields. -There are also some special cases that require spoecific treatment, such as the `BitList` typoe that requires a length cap to be added during serialization and removed during deserialization. Full details are available in the [SSZ spec](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md). +There are also some special cases that require specific treatment, such as the `BitList` type that requires a length cap to be added during serialization and removed during deserialization. Full details are available in the [SSZ spec](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md). ### Deserialization {#deserialization} To deserialize this object requires the schema. The schema defines the precise layout of the serialized data so that each specific element can be deserialized from a blob of bytes into some meaningful object with the elements having the right type, value, size and position. It is the schema that tells the deserializer which values are actual values and which ones are offsets. All field names disappear when an object is serialized, but reinstantiated on deserialization according to the schema. -NB See [ssz.dev](https://www.ssz.dev/overview) for an interactive explainer on this. +See [ssz.dev](https://www.ssz.dev/overview) for an interactive explainer on this. ## Merkleization {#merkleization} -This SSZ serialized object can then be merkleized - that is transformed into a Merkle-tree representation of the same data. First, the number of 32-byte chunks in the serialized object is determined. These are the "leaves" of the tree. The total number of leaves must be a power of 2 so that hashign together the leaves eventually produces a single hash-tree-root. If this is not naturally the case, additional leaves containing 32 bytes of zeros are added. Diagramatically: +This SSZ serialized object can then be merkleized - that is transformed into a Merkle-tree representation of the same data. First, the number of 32-byte chunks in the serialized object is determined. These are the "leaves" of the tree. The total number of leaves must be a power of 2 so that hashing together the leaves eventually produces a single hash-tree-root. If this is not naturally the case, additional leaves containing 32 bytes of zeros are added. Diagrammatically: ``` hash tree root @@ -110,13 +110,13 @@ This SSZ serialized object can then be merkleized - that is transformed into a M leaf1 leaf2 leaf3 leaf4 ``` -There are also cases where the leaves of the tree do not naturally evenly distribute in the way they do int he exampel above. For example, leaf 4 could be a container with multiple elements that require additional "depth" to be added to the Merkle tree, creating an uneven tree. +There are also cases where the leaves of the tree do not naturally evenly distribute in the way they do in the example above. For example, leaf 4 could be a container with multiple elements that require additional "depth" to be added to the Merkle tree, creating an uneven tree. Instead of referring to these tree elements as leaf X, node X etc, we can give them generalized indices, starting with root = 1 and counting from left to right along each level. This is the generalized index explained above. Each element in the serialized list has a generalized index equal to `2**depth + idx` where idx is its zero-indexed position in the serialized object and the depth is the number of levels in the Merkle tree, which can be determined as the square root of the number of elements (leaves). ## Generalized indices {#generalized-indices} -A generalized index is an integer that represents a node in a binary merkle tree where each node has a generalized index `2 ** depth + index in row`. +A generalized index is an integer that represents a node in a binary Merkle tree where each node has a generalized index `2 ** depth + index in row`. ``` 1 --depth = 0 2**0 + 0 = 1 @@ -125,7 +125,7 @@ A generalized index is an integer that represents a node in a binary merkle tree ``` -This representation yields a node index for each piece of data in the merkle tree. +This representation yields a node index for each piece of data in the Merkle tree. ## Multiproofs {#multiproofs} From 36c7acc1b08b15d8b2b2a2e899fb5bb5c70acdb0 Mon Sep 17 00:00:00 2001 From: Joseph Schiarizzi <9449596+cupOJoseph@users.noreply.github.com> Date: Thu, 5 May 2022 11:12:05 -0400 Subject: [PATCH 073/167] alphabetized DAO; added hero dao --- src/content/community/get-involved/index.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/content/community/get-involved/index.md b/src/content/community/get-involved/index.md index 462438e102a..d8a1e1c903b 100644 --- a/src/content/community/get-involved/index.md +++ b/src/content/community/get-involved/index.md @@ -99,8 +99,14 @@ The Ethereum ecosystem is on a mission to fund public goods and impactful projec ## Join a DAO {#decentralized-autonomous-organizations-daos} -"DAOs" are decentralized autonomous organizations. These groups leverage Ethereum technology to facilitate organization and collaboration. For instance, for controlling membership, voting on proposals, or managing pooled assets. While DAOs are still experimental, they offer opportunities for you to find groups that you identify with, find collaborators, and grow your impact on the Ethereum community. [More on DAOs](/dao/) +"DAOs" are decentralized autonomous organizations. These groups leverage Ethereum technology to facilitate organization and collaboration. For instance, for controlling membership, voting on proposals, or managing pooled assets. While DAOs are still experimental, they offer opportunities for you to find groups that you identify with, find collaborators, and grow your impact on the Ethereum community and the world. [More on DAOs](/dao/) +- [DAOSquare](https://www.daosquare.io) [@DAOSquare](https://twitter.com/DAOSquare) - _Promote the DAO concept in non-tech field and help people create value through DAO._ +- [Developer DAO](https://www.developerdao.com/) [@developer_dao](https://twitter.com/developer_dao) - _Community of builders who believe in collective ownership of the internet_ +- [dOrg](https://dOrg.tech) [@dOrg_tech](https://twitter.com/dOrg_tech) - _Freelancer Web3 development collective working as a DAO_ +- [DXdao](https://DXdao.eth.link/) [@DXdao](https://twitter.com/DXdao_) - _Decentralized development & governance of dApps & protocols_ +- [HausDAO](https://daohaus.club) [@nowdaoit](https://twitter.com/nowdaoit) - _Community governance of DAOhaus_ +- [Hero DAO](https://herodao.org/) [@hero_dao](https://twitter.com/hero_dao) - _Community owned superhero franchise_ - [LexDAO](https://lexdao.coop) [@lex_DAO](https://twitter.com/lex_DAO) - _Legal engineering_ - [Machi X](https://machix.com) [@MachiXOfficial](https://twitter.com/MachiXOfficial) - _Art community_ - [MetaCartel](https://metacartel.org) [@Meta_Cartel](https://twitter.com/Meta_Cartel) - _DAO incubator_ @@ -110,8 +116,3 @@ The Ethereum ecosystem is on a mission to fund public goods and impactful projec - [MolochDAO](https://molochdao.com) [@MolochDAO](https://twitter.com/MolochDAO) - _Community focused on funding Ethereum development_ - [ΜΓΔ](https://metagammadelta.com/) (Meta Gamma Delta) [@metagammadelta](https://twitter.com/metagammadelta) - _Women-led projects_ - [Raid Guild](https://raidguild.org) [@RaidGuild](https://twitter.com/RaidGuild) - _Collective of Web3 builders_ -- [DAOSquare](https://www.daosquare.io) [@DAOSquare](https://twitter.com/DAOSquare) - _Promote the DAO concept in non-tech field and help people create value through DAO._ -- [dOrg](https://dOrg.tech) [@dOrg_tech](https://twitter.com/dOrg_tech) - _Freelancer Web3 development collective working as a DAO_ -- [HausDAO](https://daohaus.club) [@nowdaoit](https://twitter.com/nowdaoit) - _Community governance of DAOhaus_ -- [Developer DAO](https://www.developerdao.com/) [@developer_dao](https://twitter.com/developer_dao) - _Community of builders who believe in collective ownership of the internet_ -- [DXdao](https://DXdao.eth.link/) [@DXdao](https://twitter.com/DXdao_) - _Decentralized development & governance of dApps & protocols_ From 206c766f2904efbb1278f8e58fa5fe4d1e0ebe9f Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 5 May 2022 13:15:54 -0700 Subject: [PATCH 074/167] fix internal links --- src/content/developers/docs/data-structures/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index d98672372ba..d7cc7834901 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -18,16 +18,16 @@ You should understand the fundamentals of Ethereum and [client software]. Famili Patricia Merkle Tries are structures that encode key-value pairs into a deterministic and cryptographically authenticated trie. These are used extensively across Ethereum's execution layer. -[More on Patricia Merkle Tries](developers/docs/data-structures/patricia-merkle-trie) +[More on Patricia Merkle Tries](/developers/docs/data-structures/patricia-merkle-trie) ### Recursive Length Prefix {#recursive-length-prefix} Recursive Length Prefix (RLP) is a serialization method used extensively across Ethereum's execution layer. -[More on RLP](developers/docs/data-structures/rlp). +[More on RLP](/developers/docs/data-structures/rlp). ### Simple Serialize {#simple-serialize} Simple Serialize (SSZ) is the dominant serialization format on Ethereum's consensus layer because of its compatibility with merklelization. -[More on SSZ](developers/docs/data-structures/ssz). +[More on SSZ](/developers/docs/data-structures/ssz). From f89db6c7d0b6e6f116ebb2c79b9f46fe26323490 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 6 May 2022 08:56:01 +0100 Subject: [PATCH 075/167] change title to include "encoding" --- src/content/developers/docs/data-structures/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures/index.md index d7cc7834901..657f846a0ea 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures/index.md @@ -1,5 +1,5 @@ --- -title: Data structures +title: Data structures and encoding description: An overview of the fundamental Ethereum data structures. lang: en sidebar: true From fa4fc9642c1e4e956a99a39cacd694acb3051c4d Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 6 May 2022 08:58:40 +0100 Subject: [PATCH 076/167] sha3 -> keccak256 --- .../data-structures/patricia-merkle-trie/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index 7fbc678c827..de26b39e25f 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -62,7 +62,7 @@ The update and delete operations for radix tries are simple, and can be defined return hash(newnode) ``` -The "Merkle" part of the radix trie arises in the fact that a deterministic cryptographic hash of a node is used as the pointer to the node (for every lookup in the key/value DB `key == sha3(rlp(value))`, rather than some 32-bit or 64-bit memory location as might happen in a more traditional trie implemented in C. This provides a form of cryptographic authentication to the data structure; if the root hash of a given trie is publicly known, then anyone can provide a proof that the trie has a given value at a specific path by providing the hashes of each node joining a specific value to the tree root. It is impossible for an attacker to provide a proof of a (path, value) pair that does not exist since the root hash is ultimately based on all hashes below it, so any modification would change the root hash. +The "Merkle" part of the radix trie arises in the fact that a deterministic cryptographic hash of a node is used as the pointer to the node (for every lookup in the key/value DB `key == keccak256(rlp(value))`, rather than some 32-bit or 64-bit memory location as might happen in a more traditional trie implemented in C. This provides a form of cryptographic authentication to the data structure; if the root hash of a given trie is publicly known, then anyone can provide a proof that the trie has a given value at a specific path by providing the hashes of each node joining a specific value to the tree root. It is impossible for an attacker to provide a proof of a (path, value) pair that does not exist since the root hash is ultimately based on all hashes below it, so any modification would change the root hash. While traversing a path one nibble at a time, as described above, most nodes contain a 17-element array. One index for each possible value held by the next hex character (nibble) in the path, and one to hold the final target value if the path has been fully traversed. These 17-element array nodes are called `branch` nodes. @@ -179,9 +179,9 @@ Now, we build such a trie with the following key/value pairs in the underlying D hashE: [ <17>, [ <>, <>, <>, <>, <>, <>, [ <35>, 'coin' ], <>, <>, <>, <>, <>, <>, <>, <>, <>, 'puppy' ] ] ``` -When one node is referenced inside another node, what is included is `H(rlp.encode(x))`, where `H(x) = sha3(x) if len(x) >= 32 else x` and `rlp.encode` is the [RLP](/fundamentals/rlp) encoding function. +When one node is referenced inside another node, what is included is `H(rlp.encode(x))`, where `H(x) = keccak256(x) if len(x) >= 32 else x` and `rlp.encode` is the [RLP](/fundamentals/rlp) encoding function. -Note that when updating a trie, one needs to store the key/value pair `(sha3(x), x)` in a persistent lookup table _if_ the newly-created node has length >= 32. However, if the node is shorter than that, one does not need to store anything, since the function f(x) = x is reversible. +Note that when updating a trie, one needs to store the key/value pair `(keccak256(x), x)` in a persistent lookup table _if_ the newly-created node has length >= 32. However, if the node is shorter than that, one does not need to store anything, since the function f(x) = x is reversible. ## Tries in Ethereum {#tries-in-ethereum} @@ -195,12 +195,12 @@ From a block header there are 3 roots from 3 of these tries. ### State Trie {#state-trie} -There is one global state trie, and it updates over time. In it, a `path` is always: `sha3(ethereumAddress)` and a `value` is always: `rlp(ethereumAccount)`. More specifically an ethereum `account` is a 4 item array of `[nonce,balance,storageRoot,codeHash]`. At this point it's worth noting that this `storageRoot` is the root of another patricia trie: +There is one global state trie, and it updates over time. In it, a `path` is always: `keccak256(ethereumAddress)` and a `value` is always: `rlp(ethereumAccount)`. More specifically an ethereum `account` is a 4 item array of `[nonce,balance,storageRoot,codeHash]`. At this point it's worth noting that this `storageRoot` is the root of another patricia trie: ### Storage Trie {#storage-trie} -Storage trie is where _all_ contract data lives. There is a separate storage trie for each account. To calculate a 'path' in this trie first understand how solidity organizes a [variable's position](/json-rpc/API#eth_getstorageat). To get the `path` there is one extra hashing (the link does not describe this). For instance the `path` for the zeroith variable is `sha3(<0000000000000000000000000000000000000000000000000000000000000000>)` which is always `290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563`. The value at the leaf is the rlp encoding of the storage value `1234` (`0x04d2`), which is `<82 04 d2>`. -For the mapping example, the `path` is `sha3(<6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9>)` +Storage trie is where _all_ contract data lives. There is a separate storage trie for each account. To calculate a 'path' in this trie first understand how solidity organizes a [variable's position](/json-rpc/API#eth_getstorageat). To get the `path` there is one extra hashing (the link does not describe this). For instance the `path` for the zeroith variable is `keccak256(<0000000000000000000000000000000000000000000000000000000000000000>)` which is always `290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563`. The value at the leaf is the rlp encoding of the storage value `1234` (`0x04d2`), which is `<82 04 d2>`. +For the mapping example, the `path` is `keccak256(<6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9>)` ### Transactions Trie {#transaction-trie} From 5382c707bc1e8fd24c1a0c7266fee48d33200e36 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 6 May 2022 09:00:59 +0100 Subject: [PATCH 077/167] Apply suggestions from code review Co-authored-by: Sina Mahmoodi <1591639+s1na@users.noreply.github.com> --- .../docs/data-structures/patricia-merkle-trie/index.md | 2 +- src/content/developers/docs/data-structures/rlp/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index de26b39e25f..96c63d9ed45 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -204,7 +204,7 @@ For the mapping example, the `path` is `keccak256(<6661e9d6d8b923d5bbaab1b96e1dd ### Transactions Trie {#transaction-trie} -There is a separate transactions trie for every block. A `path` here is: `rlp(transactionIndex)`. `transactionIndex` is its index within the block it's mined. The ordering is mostly decided by a miner so this data is unknown until mined. After a block is mined, the transaction trie never updates. +There is a separate transactions trie for every block. A `path` here is: `rlp(transactionIndex)`. `transactionIndex` is its index within the block it's mined in. The ordering is mostly decided by a miner so this data is unknown until mined. After a block is mined, the transaction trie never updates. ### Receipts Trie {#receipts-trie} diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures/rlp/index.md index 0773876ee17..805a5a8537d 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures/rlp/index.md @@ -6,7 +6,7 @@ sidebar: true sidebarDepth: 2 --- -Recursive Length Prefix (RLP) serialization is used extensively in Ethereum's execution clients. RLP standardizes the transfer of data between nodes in a space-efficient format. Once established, RLP sessions allow the transfer of data between clients. The purpose of RLP is to encode arbitrarily nested arrays of binary data, and RLP is the primary encoding method used to serialize objects in Ethereum's execution layer. The only purpose of RLP is to encode structure; encoding specific data types (e.g. strings, floats) is left up to higher-order protocols; but positive RLP integers must be represented in big-endian binary form with no leading zeroes (thus making the integer value zero equivalent to the empty byte array). Deserialized positive integers with leading zeroes get treated as invalid. The integer representation of string length must also be encoded this way, as well as integers in the payload. +Recursive Length Prefix (RLP) serialization is used extensively in Ethereum's execution clients. RLP standardizes the transfer of data between nodes in a space-efficient format. The purpose of RLP is to encode arbitrarily nested arrays of binary data, and RLP is the primary encoding method used to serialize objects in Ethereum's execution layer. The only purpose of RLP is to encode structure; encoding specific data types (e.g. strings, floats) is left up to higher-order protocols; but positive RLP integers must be represented in big-endian binary form with no leading zeroes (thus making the integer value zero equivalent to the empty byte array). Deserialized positive integers with leading zeroes get treated as invalid. The integer representation of string length must also be encoded this way, as well as integers in the payload. More information in [the Ethereum yellow paper (Appendix B)](https://ethereum.github.io/yellowpaper/paper.pdf#page=19). From c6951d2e4e4be4b14832eaa310d930a18857d4db Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 6 May 2022 09:56:52 +0100 Subject: [PATCH 078/167] incorporate tutorial info for storage trie --- .../patricia-merkle-trie/index.md | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index 96c63d9ed45..601c486ca78 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -199,12 +199,48 @@ There is one global state trie, and it updates over time. In it, a `path` is alw ### Storage Trie {#storage-trie} -Storage trie is where _all_ contract data lives. There is a separate storage trie for each account. To calculate a 'path' in this trie first understand how solidity organizes a [variable's position](/json-rpc/API#eth_getstorageat). To get the `path` there is one extra hashing (the link does not describe this). For instance the `path` for the zeroith variable is `keccak256(<0000000000000000000000000000000000000000000000000000000000000000>)` which is always `290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563`. The value at the leaf is the rlp encoding of the storage value `1234` (`0x04d2`), which is `<82 04 d2>`. -For the mapping example, the `path` is `keccak256(<6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9>)` +Storage trie is where _all_ contract data lives. There is a separate storage trie for each account. To retrieve values at specific storage positions at a given address the storage address, integer position of the stored data in the storage, and the block ID are required. These can then be pased as arguments to the `eth_getStorageAt` defined in the JSON-RPC API, e.g. to retrieve the data in storage slot 0 for address `0x295a70b2de5e3953354a6a8344e616ed314d7251`: + +``` +curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545 + +{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"} + +``` +Retrieving other elements in storage is slightly more involved because the position in the storage trie must first be calculated. The position is calculated as the `keccak256` hash of the address and the storage position, both left-padded with zeros to a length of 32 bytes. For example, the position for the data in storage slot 1 for address `0x391694e7e0b0cce554cb130d723a9d27458f9298` is: + +``` keccak256(decodeHex("000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001")) +``` + +In a Geth console, this can be calculated as follows: + +``` +> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001" +undefined +> web3.sha3(key, {"encoding": "hex"}) +"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9" +``` + +The `path` is therefore `keccak256(<6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9>)`. This can now be used to retrieve the data from the storage trie as before: + +``` +curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}' localhost:8545 + +{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"} +``` + + ### Transactions Trie {#transaction-trie} -There is a separate transactions trie for every block. A `path` here is: `rlp(transactionIndex)`. `transactionIndex` is its index within the block it's mined in. The ordering is mostly decided by a miner so this data is unknown until mined. After a block is mined, the transaction trie never updates. +There is a separate transactions trie for every block, again storing (key, value) pairs. A path here is: rlp(transactionIndex) which represents the key that corresponds to a value determined by: + +``` +if legacyTx: + value = rlp(tx) +else: + value = TxType | encode(tx) +``` ### Receipts Trie {#receipts-trie} From 5ade831cb723045ca5c30451b976ab75f6ec2c8c Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 6 May 2022 10:09:10 +0100 Subject: [PATCH 079/167] apply suggestions from code review --- src/content/developers/docs/data-structures/ssz/index.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures/ssz/index.md index e69a9aba7f4..38867879af6 100644 --- a/src/content/developers/docs/data-structures/ssz/index.md +++ b/src/content/developers/docs/data-structures/ssz/index.md @@ -6,20 +6,18 @@ sidebar: true sidebarDepth: 2 --- -**Simple serialize (SSZ)** is the serialization method used on the Beacon Chain. It replaces the RLP serialization used on the execution layer everywhere across the consensus layer except the peer discovery protocol. SSZ is designed to be deterministic and compatible with merkleization. +**Simple serialize (SSZ)** is the serialization method used on the Beacon Chain. It replaces the RLP serialization used on the execution layer everywhere across the consensus layer except the peer discovery protocol. SSZ is designed to be deterministic and also to Merkleize efficiently. SSZ can be thought of as having two components: a serialization scheme and a Merkleization scheme that is designed to work efficiently with the serialized data structure. ## How does SSZ work? {#how-does-ssz-work} ### Serialization {#serialization} -The goal of SSZ serialization is to represent objects of arbitrary complexity as strings of bytes. Each bytestring has a fixed length (32 bytes) called a chunk. These chunks directly become leaves in the Merkle tree representing the object. - -This is a very simple process for "basic types". The element is simply converted to hexadecimal bytes and then right-padded until its length is equal to 32 bytes (little-endian representation). Basic types include: +SSZ is a serialization scheme that is not self-describing - rather it relies on a schema that must be known in advance. The goal of SSZ serialization is to represent objects of arbitrary complexity as strings of bytes. This is a very simple process for "basic types". The element is simply converted to hexadecimal bytes. Basic types include: - unsigned integers - Booleans -For complex "composite" types, serialization is more complicated because the composite type contains multiple elements that might have different types or different sizes, or both. For example, vectors contain elements of uniform type but varying size. Where these objects all have fixed lengths (i.e. the size of the elements is always going to be constant irrespective of their actual values) the serialization is simply a conversion of each element in the composite type ordered into little-endian bytestrings. These bytestrings are joined together and padded to the nearest multiple of 32-bytes. The serialized object has the bytelist representation of the fixed-length elements in the same order as they appear in the deserialized object. +For complex "composite" types, serialization is more complicated because the composite type contains multiple elements that might have different types or different sizes, or both. Where these objects all have fixed lengths (i.e. the size of the elements is always going to be constant irrespective of their actual values) the serialization is simply a conversion of each element in the composite type ordered into little-endian bytestrings. These bytestrings are joined together. The serialized object has the bytelist representation of the fixed-length elements in the same order as they appear in the deserialized object. For types with variable lengths, the actual data gets replaced by an "offset" value in that element's position in the serialized object. The actual data gets added to a heap at the end of the serialized object. The offset value is the index for the start of the actual data in the heap, acting as a pointer to the relevant bytes. From 1e9ee98eaacef9d1a45b9a33923c01a66239bf9a Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 6 May 2022 10:25:12 +0100 Subject: [PATCH 080/167] Apply suggestions from code review Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/content/glossary/index.md | 42 ++++++++++++++--------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/src/content/glossary/index.md b/src/content/glossary/index.md index 349ef132099..96e586b586c 100644 --- a/src/content/glossary/index.md +++ b/src/content/glossary/index.md @@ -93,7 +93,7 @@ A collection of required information (a block header) about the comprised [trans ### block explorer {#block-explorer} -A website that allows a user to search for information from, and about, a blockchain. This includes retrieving individual transactions, activity associated with specific addresses and information about the network. +An interface that allows a user to search for information from, and about, a blockchain. This includes retrieving individual transactions, activity associated with specific addresses and information about the network. ### block header {#block-header} @@ -135,7 +135,7 @@ The first of two [hard forks](#hard-fork) for the [Metropolis](#metropolis) deve ## C {#section-c} -### Casper-FFG {casper-ffg} +### Casper-FFG {#casper-ffg} Casper-FFG is a proof-of-stake consensus protocol used in conjunction with the [LMD-GHOST](#lmd-ghost) fork choice algorithm to allow [consensus clients](#consensus-client) to agree on the head of the Beacon Chain. @@ -157,7 +157,7 @@ A group of at least 128 [validators](#validator) assigned to beacon and shard bl ### computational infeasibility {#computational-infeasibility} -a process is computationally infeasible if it would take an impracticably long time (eg. billions of years) to do it for anyone who might conceivably have an interest in carrying it out. +A process is computationally infeasible if it would take an impracticably long time (eg. billions of years) to do it for anyone who might conceivably have an interest in carrying it out. ### consensus {#consensus} @@ -219,20 +219,20 @@ Decentralized application. At a minimum, it is a [smart contract](#smart-contrac Introduction to Dapps -### Data availability {#data-availability} +### data availability {#data-availability} -The property of a state that any node connected to the network could download any specific part of the state that they wish to +The property of a state that any node connected to the network could download any specific part of the state that they wish to. ### decentralization {#decentralization} The concept of moving the control and execution of processes away from a central entity. -### Decentralized Autonomous Organization (DAO) {#dao} +### decentralized autonomous organization (DAO) {#dao} A company or other organization that operates without hierarchical management. DAO may also refer to a contract named "The DAO" launched on April 30, 2016, which was then hacked in June 2016; this ultimately motivated a [hard fork](#hard-fork) (codenamed DAO) at block 1,192,000, which reversed the hacked DAO contract and caused Ethereum and Ethereum Classic to split into two competing systems. - Decentralized Autonomous Organizations (DAOs) + Decentralized autonomous organizations (DAOs) ### decentralized exchange (DEX) {#dex} @@ -273,9 +273,9 @@ A short string of data a user produces for a document using a [private key](#pri The process by which an Ethereum node finds other nodes to connect to. -### distributed hash table {#distributed-hash-table} +### distributed hash table (DHT) {#distributed-hash-table} -A distributed hash table (DHT) is a data structure containing `(key, value)` pairs used by Ethereum nodes to identify peers to connect to and determine which protocols to use to communicate. +A data structure containing `(key, value)` pairs used by Ethereum nodes to identify peers to connect to and determine which protocols to use to communicate. ### double spend {#double-spend} @@ -297,7 +297,7 @@ In the context of cryptography, lack of predictability or level of randomness. W ### epoch {#epoch} -A period of 32 [slots](#slot) (6.4 minutes) in the [Beacon Chain](#beacon-chain)-coordinated system. [Validator](#validator) [committees](#committee) are shuffled every epoch for security reasons. There's an opportunity at each epoch for the chain to be [finalized](#finality). The term is also used on the [execution layer](#execution-layer) to mean the interval between each regeneration of the database used as a seed by the PoW algorithm [Ethash](#Ethash). The epoch in specified as 30000 blocks. +A period of 32 [slots](#slot) (6.4 minutes) in the [Beacon Chain](#beacon-chain)-coordinated system. [Validator](#validator) [committees](#committee) are shuffled every epoch for security reasons. There's an opportunity at each epoch for the chain to be [finalized](#finality). The term is also used on the [execution layer](#execution-layer) to mean the interval between each regeneration of the database used as a seed by the proof-of-work algorithm [Ethash](#Ethash). The epoch in specified as 30000 blocks. Proof-of-stake @@ -307,10 +307,6 @@ A period of 32 [slots](#slot) (6.4 minutes) in the [Beacon Chain](#beacon-chain) A validator sending two messages that contradict each other. One simple example is a transaction sender sending two transactions with the same nonce. Another is a block proposer proposing two blocks at the same block height (or for the same slot). -### escrow {#escrow} - -If two mutually-untrusting entities are engaged in commerce, they may wish to pass funds through a mutually trusted third party and instruct that party to send the funds to the payee only when evidence of product delivery has been shown. This reduces the risk of the payer or payee committing fraud. Both this construction and the third party is called escrow. - ### Eth1 {#eth1} 'Eth1' is a term that referred to Mainnet Ethereum, the existing proof-of-work blockchain. This term has since been deprecated in favor of the 'execution layer'. [Learn more about this name change](https://blog.ethereum.org/2022/01/24/the-great-eth2-renaming/). @@ -643,13 +639,13 @@ The third development stage of Ethereum, launched in October 2017. The process of verifying transactions and contract execution on the Ethereum blockchain in exchange for a reward in ether with the mining of every block. -### mining pool{#mining-pool} +### mining pool {#mining-pool} -The pooling of resources by miners who share their processing power and split [mining rewards](#mining-reward). +The pooling of resources by miners who share their processing power and split [block rewards](#block-reward). -### mining reward {#mining-reward} +### block reward {#block-reward} -The amount of ether given to a miner that mined a new block. +The amount of ether rewarded to the producer of a new valid block. ### miner {#miner} @@ -677,7 +673,7 @@ Referring to the Ethereum network, a peer-to-peer network that propagates transa ### network hashrate {#network-hashrate} -The number of hash calculations miners on the Ethereum network can make per second collectively. +The collective [hashrate](#hashrate) produced by the entire Ethereum mining network. ### non-fungible token (NFT) {#nft} @@ -740,7 +736,7 @@ Connected computers running Ethereum client software that have identical copies ### peer to peer network {#peer-to-peer-network} -A network of computers ([peers](#peer)) that are collectively able to perform functionalities normally only possible with centralized, server-based services. +A network of computers ([peers](#peer)) that are collectively able to perform functionalities without the need for centralized, server-based services. ### Plasma {#plasma} @@ -760,7 +756,7 @@ A secret number that allows Ethereum users to prove ownership of an account or c ### private chain {#private-chain} -A fully private blockchain is one with write permissions limited to one organization. +A fully private blockchain is one with permissioned access, not publicly available for use. ### proof-of-stake (PoS) {#pos} @@ -798,10 +794,6 @@ An attack that consists of an attacker contract calling a victim contract functi Re-entrancy -### reputation {#reputation} - -The property of an identity that other entities believe that identity to be either (1) competent at some specific task, or (2) trustworthy in some context, i.e., not likely to betray others even if short-term profitable. - ### reward {#reward} An amount of ether included in each new block as a reward by the network to the [miner](#miner) who found the [proof-of-work](#pow) solution. From 6d38e81f22d294ecc3b2ec79ea6ead2aba609a8a Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 6 May 2022 10:46:17 +0100 Subject: [PATCH 081/167] update after code review --- src/content/glossary/index.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/content/glossary/index.md b/src/content/glossary/index.md index 96e586b586c..7d76d3d2cd6 100644 --- a/src/content/glossary/index.md +++ b/src/content/glossary/index.md @@ -103,6 +103,10 @@ The data in a block which is unique to its content and the circumstances in whic The process of transmitting a confirmed block to all other nodes in the network. +### block reward {#block-reward} + +The amount of ether rewarded to the producer of a new valid block. + ### block time {#block-time} The average time interval between blocks being added to the blockchain. @@ -551,7 +555,7 @@ A [transaction](#transaction) sent from a [contract account](#contract-account) ### issuance -The minting and granting of new cryptocurrency to a miner who has found a new block. +The minting of new ether to reward block proposal, attestation and whistle-blowing. ## K {#section-k} @@ -563,7 +567,7 @@ Also known as a "password stretching algorithm," it is used by [keystore](#keyst Smart contract security -### keyfile {#keyfile} +### keystore {#keyfile} Every account’s private key/address pair exists as a single keyfile in an Ethereum client. These are JSON text files which contains the encrypted private key of the account, which can only be decrypted with the password entered during account creation. @@ -571,9 +575,6 @@ Every account’s private key/address pair exists as a single keyfile in an Ethe Cryptographic [hash](#hash) function used in Ethereum. Keccak-256 was standardized as [SHA](#sha)-3. -### keystore file {#keystore-file} - -A JSON-encoded file that contains a single (randomly generated) [private key](#private-key), encrypted by a passphrase for extra security. @@ -643,10 +644,6 @@ The process of verifying transactions and contract execution on the Ethereum blo The pooling of resources by miners who share their processing power and split [block rewards](#block-reward). -### block reward {#block-reward} - -The amount of ether rewarded to the producer of a new valid block. - ### miner {#miner} A network [node](#node) that finds valid [proof-of-work](#pow) for new blocks, by repeated pass hashing (see [Ethash](#ethash)). @@ -852,7 +849,7 @@ A scaling solution that uses a separate chain with different, often faster, [con ### signing {#signing} -Demonstrating that a transaction originated from a specific person by encoding it using a private key. +Demonstrating cryptographically that a transaction was approved by the holder of a specific private key. ### singleton {#singleton} @@ -968,7 +965,7 @@ Short for "test network," a network used to simulate the behavior of the main Et ### token {#token} -A fungible virtual good that can be traded. +A tradable virtual good defined in smart contracts on the Ethereum blockchain. ### token standard {#token-standard} From 3df31f9b8260d8498ae9bfc4898ceb49fcfc1745 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 6 May 2022 11:10:53 +0100 Subject: [PATCH 082/167] add link to EIP2718 --- .../docs/data-structures/patricia-merkle-trie/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index 601c486ca78..59bbdc6e10e 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -229,6 +229,7 @@ curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": [ {"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"} ``` +More information on this can be found in the [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718) documentation. ### Transactions Trie {#transaction-trie} From b21c271d2d4b02de91409bc2176ad471398842fd Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Fri, 6 May 2022 12:00:03 +0100 Subject: [PATCH 083/167] Update src/content/developers/docs/data-structures/ssz/index.md --- src/content/developers/docs/data-structures/ssz/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures/ssz/index.md index 38867879af6..4642c590460 100644 --- a/src/content/developers/docs/data-structures/ssz/index.md +++ b/src/content/developers/docs/data-structures/ssz/index.md @@ -142,7 +142,7 @@ The hash of (8,9) should equal hash (4), which hashes with 5 to produce 2, which ``` -## Further Reading {#further-reading} +## Further reading {#further-reading} - [Upgrading Ethereum: SSZ](https://eth2book.info/altair/part2/building_blocks/ssz) - [Upgrading Ethereum: Merkleization](https://eth2book.info/altair/part2/building_blocks/merkleization) From d3893725f55e6dd0bb8dd67d8c0a6ef5f2c6b4cd Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Fri, 6 May 2022 12:00:10 +0100 Subject: [PATCH 084/167] Update src/content/developers/docs/data-structures/ssz/index.md --- src/content/developers/docs/data-structures/ssz/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures/ssz/index.md index 4642c590460..0f4c9b9c4e3 100644 --- a/src/content/developers/docs/data-structures/ssz/index.md +++ b/src/content/developers/docs/data-structures/ssz/index.md @@ -1,5 +1,5 @@ --- -title: Simple Serialize +title: Simple serialize description: Explanation of Ethereum's SSZ format. lang: en sidebar: true From 295316d83604cad3794dc837165b988fbdc6b898 Mon Sep 17 00:00:00 2001 From: booklearner Date: Sun, 8 May 2022 20:50:29 -0400 Subject: [PATCH 085/167] Update index.md --- src/content/staking/solo/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/staking/solo/index.md b/src/content/staking/solo/index.md index 42a671c458d..d039f1217bd 100644 --- a/src/content/staking/solo/index.md +++ b/src/content/staking/solo/index.md @@ -185,7 +185,7 @@ Offline penalties are proportional to how many others are offline at the same ti Anyone currently running a CL (Beacon Chain) client will be required to also run an EL client after The Merge. This is a result of the new Engine API that will be used to interface between the two layers. Anyone currently running a Beacon Chain without an execution layer client will need to sync the execution layer before The Merge to continue being in sync with the network. -The Merge will also bring unburnt transaction fees to validators. These fees to not accumulate to the balance associated with the validator keys, but instead can be directly to a regular Ethereum address of your choice. In order to properly receive the priority fees/tips from proposed blocks, stakers must update their client settings with the address they would like to receive tips at. See individual client documentation for details. +The Merge will also bring unburnt transaction fees to validators. These fees do not accumulate in the balance associated with the validator keys, but instead can be directed to a regular Ethereum address of your choice. In order to properly receive the priority fees/tips from proposed blocks, stakers must update their client settings with the address they would like to receive tips at. See individual client documentation for details. ## Further reading {#further-reading} From 42b0ba5fe1449917c3ae7896349d489b3e4af4e9 Mon Sep 17 00:00:00 2001 From: Joseph Schiarizzi <9449596+cupOJoseph@users.noreply.github.com> Date: Sun, 8 May 2022 23:34:41 -0400 Subject: [PATCH 086/167] =?UTF-8?q?swap=20=CE=9C=CE=93=CE=94=20order?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/content/community/get-involved/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/community/get-involved/index.md b/src/content/community/get-involved/index.md index d8a1e1c903b..51e3a8e44ce 100644 --- a/src/content/community/get-involved/index.md +++ b/src/content/community/get-involved/index.md @@ -99,7 +99,7 @@ The Ethereum ecosystem is on a mission to fund public goods and impactful projec ## Join a DAO {#decentralized-autonomous-organizations-daos} -"DAOs" are decentralized autonomous organizations. These groups leverage Ethereum technology to facilitate organization and collaboration. For instance, for controlling membership, voting on proposals, or managing pooled assets. While DAOs are still experimental, they offer opportunities for you to find groups that you identify with, find collaborators, and grow your impact on the Ethereum community and the world. [More on DAOs](/dao/) +"DAOs" are decentralized autonomous organizations. These groups leverage Ethereum technology to facilitate organization and collaboration. For instance, for controlling membership, voting on proposals, or managing pooled assets. While DAOs are still experimental, they offer opportunities for you to find groups that you identify with, find collaborators, and grow your impact on the Ethereum community. [More on DAOs](/dao/) - [DAOSquare](https://www.daosquare.io) [@DAOSquare](https://twitter.com/DAOSquare) - _Promote the DAO concept in non-tech field and help people create value through DAO._ - [Developer DAO](https://www.developerdao.com/) [@developer_dao](https://twitter.com/developer_dao) - _Community of builders who believe in collective ownership of the internet_ @@ -113,6 +113,6 @@ The Ethereum ecosystem is on a mission to fund public goods and impactful projec - [MetaCartel Ventures](https://metacartel.xyz) [@VENTURE_DAO](https://twitter.com/VENTURE_DAO) - _Venture for pre-seed crypto projects_ - [MetaGame](https://metagame.wtf) [@MetaFam](https://twitter.com/MetaFam) - _MMORPG Game Mechanics for Real Life_ - [MetaFactory](https://metafactory.ai) [@TheMetaFactory](https://twitter.com/TheMetaFactory) - _Digiphysical Apparel Brands_ -- [MolochDAO](https://molochdao.com) [@MolochDAO](https://twitter.com/MolochDAO) - _Community focused on funding Ethereum development_ - [ΜΓΔ](https://metagammadelta.com/) (Meta Gamma Delta) [@metagammadelta](https://twitter.com/metagammadelta) - _Women-led projects_ +- [MolochDAO](https://molochdao.com) [@MolochDAO](https://twitter.com/MolochDAO) - _Community focused on funding Ethereum development_ - [Raid Guild](https://raidguild.org) [@RaidGuild](https://twitter.com/RaidGuild) - _Collective of Web3 builders_ From 9217f655d3abaecd5dbb1f3f9d1649cb6a677359 Mon Sep 17 00:00:00 2001 From: byhow Date: Mon, 9 May 2022 17:43:14 -0700 Subject: [PATCH 087/167] update testnet url for setting up light node docs --- src/content/developers/tutorials/run-light-node-geth/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/tutorials/run-light-node-geth/index.md b/src/content/developers/tutorials/run-light-node-geth/index.md index d6d67ecd4a2..2281246cb6c 100644 --- a/src/content/developers/tutorials/run-light-node-geth/index.md +++ b/src/content/developers/tutorials/run-light-node-geth/index.md @@ -77,7 +77,7 @@ This console allows direct interaction with Ethereum. For example, running the ` Geth runs your node on [Ethereum Mainnet](/glossary/#mainnet) by default. -It is also possible to use Geth to run a node on one of the [public test networks](/networks/#testnets), by running one of the following commands in Terminal: +It is also possible to use Geth to run a node on one of the [public test networks](/developers/docs/networks/#ethereum-testnets), by running one of the following commands in Terminal: ```bash geth --syncmode light --ropsten From 65c59f1a45c699b6de0b60854dd0b0531e003619 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 10 May 2022 11:36:33 +0100 Subject: [PATCH 088/167] add eip 2178 link and info to receipts section --- .../docs/data-structures/patricia-merkle-trie/index.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md index 59bbdc6e10e..52973c6a2b2 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md @@ -229,7 +229,6 @@ curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": [ {"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"} ``` -More information on this can be found in the [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718) documentation. ### Transactions Trie {#transaction-trie} @@ -243,9 +242,13 @@ else: value = TxType | encode(tx) ``` +More information on this can be found in the [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718) documentation. + ### Receipts Trie {#receipts-trie} -Every block has its own Receipts trie. A `path` here is: `rlp(transactionIndex)`. `transactionIndex` is its index within the block it's mined. The receipts trie never updates. +Every block has its own Receipts trie. A `path` here is: `rlp(transactionIndex)`. `transactionIndex` is its index within the block it's mined. The receipts trie never updates. Similarly to the Transactions trie, there are current and legacy receipts. To query a specific receipt in the Receipts trie the index of the transaction in its block, the receipt payload and the transaction type are required. The Returned receipt can be of type `Receipt` which is defined as the concentenation of `transaction type` and `transaction payload` or it can be of type `LegacyReceipt` which is defined as `rlp([status, cumulativeGasUsed, logsBloom, logs])`. + +More information on this can be found in the [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718) documentation. ## Further Reading {#further-reading} From 503bee18e350f193d22b842675682506095f90b1 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 10 May 2022 11:48:34 +0100 Subject: [PATCH 089/167] rename dir to data-structures-and-encoding --- .../index.md | 4 ++-- .../patricia-merkle-trie/index.md | 8 ++++---- .../rlp/index.md | 4 ++-- .../ssz/index.md | 0 src/data/developer-docs-links.yaml | 18 +++++++++--------- src/intl/en/page-developers-docs.json | 10 +++++----- src/intl/en/page-developers-index.json | 6 +++--- src/pages/developers/index.js | 6 +++--- 8 files changed, 28 insertions(+), 28 deletions(-) rename src/content/developers/docs/{data-structures => data-structures-and-encoding}/index.md (94%) rename src/content/developers/docs/{data-structures => data-structures-and-encoding}/patricia-merkle-trie/index.md (98%) rename src/content/developers/docs/{data-structures => data-structures-and-encoding}/rlp/index.md (99%) rename src/content/developers/docs/{data-structures => data-structures-and-encoding}/ssz/index.md (100%) diff --git a/src/content/developers/docs/data-structures/index.md b/src/content/developers/docs/data-structures-and-encoding/index.md similarity index 94% rename from src/content/developers/docs/data-structures/index.md rename to src/content/developers/docs/data-structures-and-encoding/index.md index 657f846a0ea..65b912e324a 100644 --- a/src/content/developers/docs/data-structures/index.md +++ b/src/content/developers/docs/data-structures-and-encoding/index.md @@ -16,7 +16,7 @@ You should understand the fundamentals of Ethereum and [client software]. Famili ### Patricia merkle tries {#patricia-merkle-tries} -Patricia Merkle Tries are structures that encode key-value pairs into a deterministic and cryptographically authenticated trie. These are used extensively across Ethereum's execution layer. +Patricia Merkle Tries are structures that encode key-value pairs into a deterministic and cryptographically authenticated trie. These are used extensively across Ethereum's execution layer. [More on Patricia Merkle Tries](/developers/docs/data-structures/patricia-merkle-trie) @@ -28,6 +28,6 @@ Recursive Length Prefix (RLP) is a serialization method used extensively across ### Simple Serialize {#simple-serialize} -Simple Serialize (SSZ) is the dominant serialization format on Ethereum's consensus layer because of its compatibility with merklelization. +Simple Serialize (SSZ) is the dominant serialization format on Ethereum's consensus layer because of its compatibility with merklelization. [More on SSZ](/developers/docs/data-structures/ssz). diff --git a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md similarity index 98% rename from src/content/developers/docs/data-structures/patricia-merkle-trie/index.md rename to src/content/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md index 52973c6a2b2..bdba5bbedb5 100644 --- a/src/content/developers/docs/data-structures/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md @@ -6,7 +6,7 @@ sidebar: true sidebarDepth: 2 --- -A Patricia Merkle Trie provides a cryptographically authenticated data structure that can be used to store all `(key, value)` bindings. +A Patricia Merkle Trie provides a cryptographically authenticated data structure that can be used to store all `(key, value)` bindings. Patricia Merkle Tries are fully deterministic, meaning that a trie with the same `(key, value)` bindings is guaranteed to be identical—down to the last byte. This means they have the same root hash, providing the holy grail of `O(log(n))` efficiency for inserts, lookups and deletes. Also, they are simpler to understand and code than more complex comparison-based alternatives, like red-black trees. @@ -207,9 +207,11 @@ curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": [ {"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"} ``` + Retrieving other elements in storage is slightly more involved because the position in the storage trie must first be calculated. The position is calculated as the `keccak256` hash of the address and the storage position, both left-padded with zeros to a length of 32 bytes. For example, the position for the data in storage slot 1 for address `0x391694e7e0b0cce554cb130d723a9d27458f9298` is: -``` keccak256(decodeHex("000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001")) +```keccak256(decodeHex("000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001")) + ``` In a Geth console, this can be calculated as follows: @@ -229,8 +231,6 @@ curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": [ {"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"} ``` - - ### Transactions Trie {#transaction-trie} There is a separate transactions trie for every block, again storing (key, value) pairs. A path here is: rlp(transactionIndex) which represents the key that corresponds to a value determined by: diff --git a/src/content/developers/docs/data-structures/rlp/index.md b/src/content/developers/docs/data-structures-and-encoding/rlp/index.md similarity index 99% rename from src/content/developers/docs/data-structures/rlp/index.md rename to src/content/developers/docs/data-structures-and-encoding/rlp/index.md index 805a5a8537d..a086e99f70d 100644 --- a/src/content/developers/docs/data-structures/rlp/index.md +++ b/src/content/developers/docs/data-structures-and-encoding/rlp/index.md @@ -6,7 +6,7 @@ sidebar: true sidebarDepth: 2 --- -Recursive Length Prefix (RLP) serialization is used extensively in Ethereum's execution clients. RLP standardizes the transfer of data between nodes in a space-efficient format. The purpose of RLP is to encode arbitrarily nested arrays of binary data, and RLP is the primary encoding method used to serialize objects in Ethereum's execution layer. The only purpose of RLP is to encode structure; encoding specific data types (e.g. strings, floats) is left up to higher-order protocols; but positive RLP integers must be represented in big-endian binary form with no leading zeroes (thus making the integer value zero equivalent to the empty byte array). Deserialized positive integers with leading zeroes get treated as invalid. The integer representation of string length must also be encoded this way, as well as integers in the payload. +Recursive Length Prefix (RLP) serialization is used extensively in Ethereum's execution clients. RLP standardizes the transfer of data between nodes in a space-efficient format. The purpose of RLP is to encode arbitrarily nested arrays of binary data, and RLP is the primary encoding method used to serialize objects in Ethereum's execution layer. The only purpose of RLP is to encode structure; encoding specific data types (e.g. strings, floats) is left up to higher-order protocols; but positive RLP integers must be represented in big-endian binary form with no leading zeroes (thus making the integer value zero equivalent to the empty byte array). Deserialized positive integers with leading zeroes get treated as invalid. The integer representation of string length must also be encoded this way, as well as integers in the payload. More information in [the Ethereum yellow paper (Appendix B)](https://ethereum.github.io/yellowpaper/paper.pdf#page=19). @@ -27,7 +27,7 @@ For example, all of the following are items: - an empty string; - the string containing the word "cat"; - a list containing any number of strings; -- and a more complex data structures like `["cat", ["puppy", "cow"], "horse", [[]], "pig", [""], "sheep"]`. +- and a more complex data structures like `["cat", ["puppy", "cow"], "horse", [[]], "pig", [""], "sheep"]`. Note that in the context of the rest of this page, 'string' means "a certain number of bytes of binary data"; no special encodings are used, and no knowledge about the content of the strings is implied. diff --git a/src/content/developers/docs/data-structures/ssz/index.md b/src/content/developers/docs/data-structures-and-encoding/ssz/index.md similarity index 100% rename from src/content/developers/docs/data-structures/ssz/index.md rename to src/content/developers/docs/data-structures-and-encoding/ssz/index.md diff --git a/src/data/developer-docs-links.yaml b/src/data/developer-docs-links.yaml index 4af287f4fff..c10ff4ffcc4 100644 --- a/src/data/developer-docs-links.yaml +++ b/src/data/developer-docs-links.yaml @@ -178,13 +178,13 @@ to: /developers/docs/scaling/plasma/ - id: docs-nav-scaling-validium to: /developers/docs/scaling/validium/ - - id: docs-nav-data-structures - to: /developers/docs/data-structures/ - description: docs-nav-data-structures-description + - id: docs-nav-data-structures-and-encoding + to: /developers/docs/data-structures-and-encoding/ + description: docs-nav-data-structures-and-encoding-description items: - - id: docs-nav-data-structures-rlp - to: /developers/docs/data-structures/rlp/ - - id: docs-nav-data-structures-patricia-merkle-tries - to: /developers/docs/data-structures/patricia-merkle-tries/ - - id: docs-nav-data-structures-ssz - to: /developers/docs/data-structures/ssz/ + - id: docs-nav-data-structures-and-encoding-rlp + to: /developers/docs/data-structures-and-encoding/rlp/ + - id: docs-nav-data-structures-and-encoding-patricia-merkle-tries + to: /developers/docs/data-structures-and-encoding/patricia-merkle-tries/ + - id: docs-nav-data-structures-and-encoding-ssz + to: /developers/docs/data-structures-and-encoding/ssz/ diff --git a/src/intl/en/page-developers-docs.json b/src/intl/en/page-developers-docs.json index a8d697b002d..3f3b3191584 100644 --- a/src/intl/en/page-developers-docs.json +++ b/src/intl/en/page-developers-docs.json @@ -93,11 +93,11 @@ "docs-nav-transactions-description": "Transfers and other actions that cause Ethereum's state to change", "docs-nav-web2-vs-web3": "Web2 vs Web3", "docs-nav-web2-vs-web3-description": "The fundamental differences that blockchain-based applications provide", - "docs-nav-data-structures": "Data structures", - "docs-nav-data-structures-description": "Explanation of the data structures used across the Ethereum stack", - "docs-nav-data-structures-rlp": "Recursive-length prefix (RLP)", - "docs-nav-data-structures-patricia-merkle-tries": "Patricia Merkle Tries", - "docs-nav-data-structures-ssz": "Simple serialize (SSZ)", + "docs-nav-data-structures-and-encoding": "Data structures and encoding", + "docs-nav-data-structures-and-encoding-description": "Explanation of the data structures and encoding schema used across the Ethereum stack", + "docs-nav-data-structures-and-encoding-rlp": "Recursive-length prefix (RLP)", + "docs-nav-data-structures-and-encoding-patricia-merkle-tries": "Patricia Merkle Tries", + "docs-nav-data-structures-and-encoding-ssz": "Simple serialize (SSZ)", "page-calltocontribute-desc-1": "If you're an expert on the topic and want to contribute, edit this page and sprinkle it with your wisdom.", "page-calltocontribute-desc-2": "You'll be credited and you'll be helping the Ethereum community!", "page-calltocontribute-desc-3": "Use this flexible", diff --git a/src/intl/en/page-developers-index.json b/src/intl/en/page-developers-index.json index d736233e508..6aa1b8a7eab 100644 --- a/src/intl/en/page-developers-index.json +++ b/src/intl/en/page-developers-index.json @@ -85,7 +85,7 @@ "page-developers-transactions-link": "Transactions", "page-developers-web3-desc": "How the web3 world of development is different", "page-developers-web3-link": "Web2 vs Web3", - "page-developers-data-structures": "Data Structures", - "page-developers-data-structures-link": "Data Structures", - "page-developers-data-structures-desc": "Introduction to the data structures used in the Ethereum stack" + "page-developers-data-structures-and-encoding": "Data structures and encoding", + "page-developers-data-structures-and-encoding-link": "Data structures and encoing", + "page-developers-data-structures-and-encoding-desc": "Introduction to the data structures and encoding schema used in the Ethereum stack" } diff --git a/src/pages/developers/index.js b/src/pages/developers/index.js index 7c5e09c1244..56df436f9ca 100644 --- a/src/pages/developers/index.js +++ b/src/pages/developers/index.js @@ -515,11 +515,11 @@ const DevelopersPage = ({ data }) => {

- - + +

- +

From d8a75707c89741641e65d271bbcc8b7cd47550e0 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 10 May 2022 12:04:39 +0100 Subject: [PATCH 090/167] fix sidebar link --- src/data/developer-docs-links.yaml | 4 ++-- src/intl/en/page-developers-docs.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/data/developer-docs-links.yaml b/src/data/developer-docs-links.yaml index c10ff4ffcc4..e14485db4fa 100644 --- a/src/data/developer-docs-links.yaml +++ b/src/data/developer-docs-links.yaml @@ -184,7 +184,7 @@ items: - id: docs-nav-data-structures-and-encoding-rlp to: /developers/docs/data-structures-and-encoding/rlp/ - - id: docs-nav-data-structures-and-encoding-patricia-merkle-tries - to: /developers/docs/data-structures-and-encoding/patricia-merkle-tries/ + - id: docs-nav-data-structures-and-encoding-patricia-merkle-trie + to: /developers/docs/data-structures-and-encoding/patricia-merkle-trie/ - id: docs-nav-data-structures-and-encoding-ssz to: /developers/docs/data-structures-and-encoding/ssz/ diff --git a/src/intl/en/page-developers-docs.json b/src/intl/en/page-developers-docs.json index 3f3b3191584..b6f5a2d373a 100644 --- a/src/intl/en/page-developers-docs.json +++ b/src/intl/en/page-developers-docs.json @@ -96,7 +96,7 @@ "docs-nav-data-structures-and-encoding": "Data structures and encoding", "docs-nav-data-structures-and-encoding-description": "Explanation of the data structures and encoding schema used across the Ethereum stack", "docs-nav-data-structures-and-encoding-rlp": "Recursive-length prefix (RLP)", - "docs-nav-data-structures-and-encoding-patricia-merkle-tries": "Patricia Merkle Tries", + "docs-nav-data-structures-and-encoding-patricia-merkle-trie": "Patricia Merkle Trie", "docs-nav-data-structures-and-encoding-ssz": "Simple serialize (SSZ)", "page-calltocontribute-desc-1": "If you're an expert on the topic and want to contribute, edit this page and sprinkle it with your wisdom.", "page-calltocontribute-desc-2": "You'll be credited and you'll be helping the Ethereum community!", From 1fd8aa33fc9d18be02520e11df440d04de9c9ad9 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 10 May 2022 12:16:44 +0100 Subject: [PATCH 091/167] add to intro paragraph --- src/content/developers/docs/networking-layer/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index 8c5ef20be2b..cf2da81fe86 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -6,7 +6,9 @@ sidebar: true sidebarDepth: 2 --- -Ethereum's networking layer is the stack of protocols that allows nodes to find each other and exchange information. After [The Merge](/upgrades/merge/), there will be two parts of client software (execution clients and consensus clients), each with its own distinct networking stack. As well as communicating with other Ethereum nodes, the execution and consensus clients have to communicate with each other. This page gives an introductory explanation of the protocols that enable this communication. +Ethereum is a peer-to-peer network with thousands of nodes that must be able to communicate with one another using standardized protocols. The "networking layer" is the stack of protocols that allow those nodes to find each other and exchange information. This includes "gossiping" information (one-to-many communication) over the network as well as swapping requests and responses between specific nodes (one-to-one communication). Each node must adhere to specific networking rules to ensure they are sending and receiving the correct information. + +After [The Merge](/upgrades/merge/), there will be two parts of client software (execution clients and consensus clients), each with its own distinct networking stack. As well as communicating with other Ethereum nodes, the execution and consensus clients have to communicate with each other. This page gives an introductory explanation of the protocols that enable this communication. ## Prerequisites {#prerequisites} From 96de76b637dcc5218bcd76e467dbd740584755ef Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 10 May 2022 12:33:29 +0100 Subject: [PATCH 092/167] Apply suggestions from code review Co-authored-by: Sam Richards Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com> --- .../developers/docs/networking-layer/index.md | 44 +++++++++---------- .../network-addresses/index.md | 2 +- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index cf2da81fe86..e474ff6bd55 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -28,7 +28,7 @@ Both stacks work in parallel. The discovery stack feeds new network participants Discovery is the process of finding other nodes in network. This is bootstrapped using a small set of bootnodes (nodes whose addresses are [hardcoded](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go) into the client so they can be found immediately and connect the client to peers). These bootnodes only exist to introduce a new node to a set of peers - this is their sole purpose, they do not participate in normal client tasks like syncing the chain, and they are only used the very first time a client is spun up. -The protocol used for the node-bootnode interactions is a modified form of [Kademlia](https://medium.com/coinmonks/a-brief-overview-of-kademlia-and-its-use-in-various-decentralized-platforms-da08a7f72b8f) which uses a distributed hash table to share lists of nodes. Each node has a version of this table containing the information required to connect to its closest peers. This 'closeness' is not geographical - distance is defined by the similarity of the node's ID. Each node's table is regularly refreshed as a security feature. For example, in the [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5), discovery protocol nodes are also able to send 'ads' that display the subprotocols that the client supports, allowing peers to negotiate about the protocols they can both use to communicate over. +The protocol used for the node-bootnode interactions is a modified form of [Kademlia](https://medium.com/coinmonks/a-brief-overview-of-kademlia-and-its-use-in-various-decentralized-platforms-da08a7f72b8f) which uses a [distributed hash table](https://en.wikipedia.org/wiki/Distributed_hash_table) to share lists of nodes. Each node has a version of this table containing the information required to connect to its closest peers. This 'closeness' is not geographical - distance is defined by the similarity of the node's ID. Each node's table is regularly refreshed as a security feature. For example, in the [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5), discovery protocol nodes are also able to send 'ads' that display the subprotocols that the client supports, allowing peers to negotiate about the protocols they can both use to communicate over. Discovery starts wih a game of PING-PONG. A successful PING-PONG "bonds" the new node to a bootnode. The initial message that alerts a bootnode to the existence of a new node entering the network is a `PING`. This `PING` includes hashed information about the new node, the bootnode and an expiry time-stamp. The bootnode receives the PING and returns a `PONG` containing the `PING` hash. If the `PING` and `PONG` hashes match then the connection between the new node and bootnode is verified and they are said to have "bonded". @@ -86,11 +86,11 @@ The [witness protocol](https://github.com/ethereum/devp2p/blob/master/caps/wit.m #### Whisper {#whisper} -This was a protocol that aimed to deliver secure messaging between peers without writing any information to the blockchain. It was part of the DevP2p wire protocol but is now deprecated. Other [related projects](https://wakunetwork.com/) exist with similar aims. +Whisper was a protocol that aimed to deliver secure messaging between peers without writing any information to the blockchain. It was part of the DevP2P wire protocol but is now deprecated. Other [related projects](https://wakunetwork.com/) exist with similar aims. -## Execution layer networking after the merge {#execution-after-merge} +## Execution layer networking after The Merge {#execution-after-merge} -After the merge, an Ethereum node will run an execution client and a consensus client. The execution clients will operate similary to today, but with the proof-of-work consensus and block gossip functionality removed. The EVM, validator deposit contract and selecting/executing transactions from the mempool will still be the domain of the execution client. This means execution clients still need to participate in transaction gossip so that they can manage the transaction mempool. This requires encrypted communication between authenticated peers meaning the networking layer for consensus clients will still be a critical component, includng both the discovery protocol and DevP2P layer. Encoding will continue to be predominantly RLP on the execution layer. +After the Merge, an Ethereum node will run an execution client and a consensus client. The execution clients will operate similarly to today, but with the proof-of-work consensus and block gossip functionality removed. The EVM, validator deposit contract and selecting/executing transactions from the mempool will still be the domain of the execution client. This means execution clients still need to participate in transaction gossip so that they can manage the transaction mempool. This requires encrypted communication between authenticated peers meaning the networking layer for consensus clients will still be a critical component, including both the discovery protocol and DevP2P layer. Encoding will continue to be predominantly RLP on the execution layer. ## The consensus layer {#consensus-layer} @@ -98,11 +98,11 @@ The consensus clients participate in a separate peer-to-peer network with a diff ### Discovery {#consensus-discovery} -Similarly to the execution clients, consensus clients use [discv5](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-discovery-domain-discv5) over UDP for finding peers. The consensus layer implementation of discv5 differs from that of the execution clients only in that it includes an adaptor connecting discv5 into a [libP2P](https://libp2p.io/) stack, deprecating devP2P. The execution layer's RLPx sessions are deprecated in favour of libP2P's noise secure channel handshake. +Similarly to the execution clients, consensus clients use [discv5](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-discovery-domain-discv5) over UDP for finding peers. The consensus layer implementation of discv5 differs from that of the execution clients only in that it includes an adaptor connecting discv5 into a [libP2P](https://libp2p.io/) stack, deprecating DevP2P. The execution layer's RLPx sessions are deprecated in favour of libP2P's noise secure channel handshake. ### ENRs {#consensus-enr} -The ENR for consensus nodes includes the node's public key, IP address, UDP and TCP ports and two consensus-specific fields: the attestation subnet bitfield and eth2 key. The former makes it easier for nodes to find peers participating in specific attestation gossip sub-networks. The eth2 key contans information about which Ethereum fork version the node is using, ensuring peers are connecting to the right Ethereum. +The ENR for consensus nodes includes the node's public key, IP address, UDP and TCP ports and two consensus-specific fields: the attestation subnet bitfield and `eth2` key. The former makes it easier for nodes to find peers participating in specific attestation gossip sub-networks. The `eth2` key contains information about which Ethereum fork version the node is using, ensuring peers are connecting to the right Ethereum. ### libP2P {#libp2p} @@ -112,9 +112,9 @@ The libP2P stack supports all communications after discovery. Clients can dial a The gossip domain includes all information that has to spread rapidly throughout the network. This includes beacon blocks, proofs, attestations, exits and slashings. This is transmitted using libP2P gossipsub v1 and relies on various metadata being stored locally at each node, including maximum size of gossip payloads to receive and transmit. Detailed information about the gossip domain is available [here](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub). -### Req/Resp {#req-resp} +### Request-response {#request-response} -The request/response domain contains protocols for clients requesting specific information from their peers. Examples include requesting specific Beacon blocks matching certain root hashes or within a range of slots. The responses are always returned as snappy-compressed SSZ encoded bytes. +The request-response domain contains protocols for clients requesting specific information from their peers. Examples include requesting specific Beacon blocks matching certain root hashes or within a range of slots. The responses are always returned as snappy-compressed SSZ encoded bytes. ## Why does the consensus client prefer SSZ to RLP? {#ssz-vs-rlp} @@ -122,30 +122,30 @@ SSZ stands for simple serialization. It uses fixed offsets that make it easy to ## Connecting the execution and consensus clients {#connecting-clients} -After the merge, both consensus and execution clients will run in parallel. They need to be connected together so that the consensus client can provide instructions to the execution client and the execution client can pass bundles of transactions to the consensus client to include in Beacon Blocks. This communication between the two clients can be achieved using a local RPC connection. Since both clients sit behind a single network identity, they share a ENR (Ethereum node record) which contains a separate key for each client (eth1 key and eth2 key). +After the Merge, both consensus and execution clients will run in parallel. They need to be connected together so that the consensus client can provide instructions to the execution client and the execution client can pass bundles of transactions to the consensus client to include in Beacon blocks. This communication between the two clients can be achieved using a local RPC connection. Since both clients sit behind a single network identity, they share a ENR (Ethereum node record) which contains a separate key for each client (eth1 key and eth2 key). A summary of the control flow is shown beloiw, with the relevant networking stack in brackets. ##### When consensus client is not block producer: -- consensus client receives a block via the block gossip protocol (consensus p2p) -- consensus client prevalidates the block, i.e. ensures it arrived from a valid sender with correct metadata +- Consensus client receives a block via the block gossip protocol (consensus p2p) +- Consensus client pre-validates the block, i.e. ensures it arrived from a valid sender with correct metadata - The transactions in the block are sent to the execution layer as an execution payload (local RPC connection) - The execution layer executes the transactions and validates the state in the block header (i.e. checks hashes match) -- execution layer passes validation data back to consensus layer, block now considered to be validated (local RPC connection) -- consensus layer adds block to head of its own blockchain and attests to it, broadcasting the attestation over the network (consensus p2p) +- Execution layer passes validation data back to consensus layer, block now considered to be validated (local RPC connection) +- Consensus layer adds block to head of its own blockchain and attests to it, broadcasting the attestation over the network (consensus p2p) ##### When consensus client is block producer -- consensus client receives notice that it is the next block producer (consensus p2p) -- consensus layer calls `create block` method in execution client (local RPC) -- execution layer accesses the transaction mempool which has been populated by the transaction gossip protocol (execution p2p) -- execution client bundles transactions into a block, executes the transactions and generates a block hash -- consensus client grabs the transactions and block hash from the consensus client and adds them to the beacon block (local RPC) -- consensus client broadcasts the block over the block gossip protocol (consensus p2p) -- other clients receive the proposed block via the block gossip protocol and validate as described above (consensus p2p) +- Consensus client receives notice that it is the next block producer (consensus p2p) +- Consensus layer calls `create block` method in execution client (local RPC) +- Execution layer accesses the transaction mempool which has been populated by the transaction gossip protocol (execution p2p) +- Execution client bundles transactions into a block, executes the transactions and generates a block hash +- Consensus client grabs the transactions and block hash from the consensus client and adds them to the beacon block (local RPC) +- Consensus client broadcasts the block over the block gossip protocol (consensus p2p) +- Other clients receive the proposed block via the block gossip protocol and validate as described above (consensus p2p) -Once the block has been attested by sufficient validators it is added to the head of the chain, justified and eventually finalised. +Once the block has been attested by sufficient validators it is added to the head of the chain, justified and eventually finalized. ![](cons_client_net_layer.png) ![](exe_client_net_layer.png) @@ -154,7 +154,7 @@ Network layer schematic for post-merge consensus and execution clients, from [et ## Further Reading {#further-reading} -[DevP2p](https://github.com/ethereum/devp2p) +[DevP2P](https://github.com/ethereum/devp2p) [LibP2p](https://github.com/libp2p/specs) [Consensus layer network specs](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure) [kademlia to discv5](https://vac.dev/kademlia-to-discv5) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index d12b0a4ab31..ba662aa0855 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -16,7 +16,7 @@ Some understanding of Ethereum's [networking layer](/src/content/developers/docs The original Ethereum node address format was the 'multiaddr' (short for 'multi-addresses'). Multiaddr is a universal format designed for peer-to-peer networks. Addresses are represented as key-value pairs with keys and values separated with a forward slash. For example, the multiaddr for a node with IPv4 address `192.168.22.27` listening to TCP port `33000` looks like: -`/ip6/192.168.22.27/tcp/33000` +`/ip4/192.168.22.27/tcp/33000` For an Ethereum node, the multiaddr contains the node-ID (a hash of their public key): From 6ea6f53510c256402770a78ae6d9531ff3b0f6af Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 10 May 2022 13:12:25 +0100 Subject: [PATCH 093/167] fix ip addr --- .../developers/docs/networking-layer/network-addresses/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index ba662aa0855..2232e7f2db7 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -20,7 +20,7 @@ The original Ethereum node address format was the 'multiaddr' (short for 'multi- For an Ethereum node, the multiaddr contains the node-ID (a hash of their public key): -`/ip6/192.168.22.27/tcp/33000/p2p/5t7Nv7dG2d6ffbvAiewVsEwWweU3LdebSqX2y1bPrW8br` +`/ip4/192.168.22.27/tcp/33000/p2p/5t7Nv7dG2d6ffbvAiewVsEwWweU3LdebSqX2y1bPrW8br` ## Enode {#enode} From 25445b0e516019ca94d61a42454c1a1e374cb251 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 10 May 2022 13:15:20 +0100 Subject: [PATCH 094/167] mention engine api --- src/content/developers/docs/networking-layer/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index e474ff6bd55..3050ec2a94e 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -122,7 +122,7 @@ SSZ stands for simple serialization. It uses fixed offsets that make it easy to ## Connecting the execution and consensus clients {#connecting-clients} -After the Merge, both consensus and execution clients will run in parallel. They need to be connected together so that the consensus client can provide instructions to the execution client and the execution client can pass bundles of transactions to the consensus client to include in Beacon blocks. This communication between the two clients can be achieved using a local RPC connection. Since both clients sit behind a single network identity, they share a ENR (Ethereum node record) which contains a separate key for each client (eth1 key and eth2 key). +After the Merge, both consensus and execution clients will run in parallel. They need to be connected together so that the consensus client can provide instructions to the execution client and the execution client can pass bundles of transactions to the consensus client to include in Beacon blocks. This communication between the two clients can be achieved using a local RPC connection. An API known as the ['Engine-API'](https://github.com/ethereum/execution-apis/blob/main/src/engine/specification.md) defines the instructions sent between the two clients. Since both clients sit behind a single network identity, they share a ENR (Ethereum node record) which contains a separate key for each client (eth1 key and eth2 key). A summary of the control flow is shown beloiw, with the relevant networking stack in brackets. From 8ed6495c259e0590264dd42e83d59e090cb66260 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 10 May 2022 13:49:34 +0100 Subject: [PATCH 095/167] Update src/content/developers/docs/networking-layer/index.md Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com> --- src/content/developers/docs/networking-layer/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/index.md b/src/content/developers/docs/networking-layer/index.md index 3050ec2a94e..3816d93136c 100644 --- a/src/content/developers/docs/networking-layer/index.md +++ b/src/content/developers/docs/networking-layer/index.md @@ -68,7 +68,7 @@ Along with the hello messages, the wire protocol can also send a "disconnect" me ### Sub-protocols {#sub-protocols} -#### Eth (wire protocol) {#wire-protocol} +#### Wire protocol {#wire-protocol} Once peers are connected and an RLPx session has been started, the wire protocol defines how peers communicate. There are three main tasks defined by the wire protocol: chain synchronization, block propagation and transaction exchange. Chain synchronization is the process of validating blocks near head of the chain, checking their proof-of-work data and re-executing their transactions to ensure their root hashes are correct, then cascading back in history via those blocks' parents, grandparents etc until the whole chain has been downloaed and validated. State sync is a faster alternative that only validates block headers. Block propagation is the process of sending and receiving newly mined blocks. Transaction exchnage refers to exchangign pending transactions between nodes so that miners can select some of them for inclusion in the next block. Detailed information about these tasks are available [here](https://github.com/ethereum/devp2p/blob/master/caps/eth.md). Clients that support these sub-protocols exose them via the [json-rpc](/developers/docs/apis/json-rpc). From cbc1e9e7b1ba5a4bc96ca52331082d1c6f57f1e0 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 10 May 2022 13:49:56 +0100 Subject: [PATCH 096/167] update page link --- .../developers/docs/networking-layer/network-addresses/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index 2232e7f2db7..d968dec8c63 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -10,7 +10,7 @@ Ethereum nodes have to identify themselves with some basic information to connec ## Prerequisites {#prerequisites} -Some understanding of Ethereum's [networking layer](/src/content/developers/docs/networking-layer/) is required to understand this page. +Some understanding of Ethereum's [networking layer](/developers/docs/networking-layer/) is required to understand this page. ## Multiaddr {#multiaddr} From c748029dda122d698e033f2b48037c259ce7850b Mon Sep 17 00:00:00 2001 From: Sam Richards Date: Tue, 10 May 2022 23:14:13 +0200 Subject: [PATCH 097/167] Update bug bounty title & description --- src/intl/en/page-upgrades-get-involved-bug-bounty.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/intl/en/page-upgrades-get-involved-bug-bounty.json b/src/intl/en/page-upgrades-get-involved-bug-bounty.json index 48b54f159db..25be1d471a7 100644 --- a/src/intl/en/page-upgrades-get-involved-bug-bounty.json +++ b/src/intl/en/page-upgrades-get-involved-bug-bounty.json @@ -30,8 +30,8 @@ "page-upgrades-bug-bounty-leaderboard-points": "points", "page-upgrades-bug-bounty-ledger-desc": "The Ethereum Specifications detail the design rationale for the Execution Layer and Consensus Layer.", "page-upgrades-bug-bounty-ledger-title": "Specification bugs", - "page-upgrades-bug-bounty-meta-description": "An overview of the consensus layer bug bounty program: how to get involved and reward information.", - "page-upgrades-bug-bounty-meta-title": "Bug Bounty Program", + "page-upgrades-bug-bounty-meta-description": "An overview of the Ethereum bug bounty program: how to get involved and reward information.", + "page-upgrades-bug-bounty-meta-title": "Ethereum Bug Bounty Program", "page-upgrades-bug-bounty-not-included": "Out of scope", "page-upgrades-bug-bounty-not-included-desc": "Only the targets listed under in-scope are part of the Bug Bounty Program. This means that for example our infrastructure; such as webpages, dns, email etc, are not part of the bounty-scope. The Merge and shard chain upgrades are still in active development and so are not yet included as part of this bounty program. ERC20 contract bugs are typically not included in the bounty scope. However, we can help reach out to affected parties, such as authors or exchanges in such cases. ENS is maintained by the ENS foundation, and is not part of the bounty scope.", "page-upgrades-bug-bounty-owasp": "View OWASP method", From 12de412b031dfd4ef18cb510947832d21907840f Mon Sep 17 00:00:00 2001 From: Sora Nature <105337203+soranature@users.noreply.github.com> Date: Wed, 11 May 2022 17:25:03 +0900 Subject: [PATCH 098/167] Fix incorrect path to optimistic rollups --- src/content/developers/docs/scaling/zk-rollups/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/scaling/zk-rollups/index.md b/src/content/developers/docs/scaling/zk-rollups/index.md index ee5b3fc4fab..ade7b5890a4 100644 --- a/src/content/developers/docs/scaling/zk-rollups/index.md +++ b/src/content/developers/docs/scaling/zk-rollups/index.md @@ -26,7 +26,7 @@ Being on layer 2, ZK-rollups can be optimised to reduce transaction size further | Pros | Cons | | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | Faster finality time since the state is instantly verified once the proofs are sent to the main chain. | Some don't have EVM support. | -| Not vulnerable to the economic attacks that [Optimistic rollups](#optimistic-pros-and-cons) can be vulnerable to. | Validity proofs are intense to compute – not worth it for applications with little on-chain activity. | +| Not vulnerable to the economic attacks that [Optimistic rollups](/developers/docs/scaling/optimistic-rollups/#optimistic-pros-and-cons) can be vulnerable to. | Validity proofs are intense to compute – not worth it for applications with little on-chain activity. | | Secure and decentralized, since the data that is needed to recover the state is stored on the layer 1 chain. | An operator can influence transaction ordering. | ### A visual explanation of ZK-rollups {#zk-video} From 84dc600a17fd5d0ffc7c6654c55afb22f02f463e Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 11 May 2022 14:48:01 +0000 Subject: [PATCH 099/167] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d09ec57a2ea..7b1273fd253 100644 --- a/README.md +++ b/README.md @@ -1198,6 +1198,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
mradkov

📖
Bienvenido Rodriguez

📖 🤔 +
Sora Nature

📖 From 79241937bbf4c9ac3e69d02042429bb5d8a0508b Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 11 May 2022 14:48:03 +0000 Subject: [PATCH 100/167] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index a0669a91d8e..bcebfd6e0c0 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7388,6 +7388,15 @@ "doc", "ideas" ] + }, + { + "login": "soranature", + "name": "Sora Nature", + "avatar_url": "https://avatars.githubusercontent.com/u/105337203?v=4", + "profile": "https://github.com/soranature", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, From e9eb4b7b9e2ae1d70b301319e6692a1cfa69c7c6 Mon Sep 17 00:00:00 2001 From: Willian Mitsuda Date: Wed, 11 May 2022 12:57:18 -0300 Subject: [PATCH 101/167] Add Otterscan to the list of block explorers --- .../developers/docs/data-and-analytics/block-explorers/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/content/developers/docs/data-and-analytics/block-explorers/index.md b/src/content/developers/docs/data-and-analytics/block-explorers/index.md index dd879e0d699..2506f4dd60c 100644 --- a/src/content/developers/docs/data-and-analytics/block-explorers/index.md +++ b/src/content/developers/docs/data-and-analytics/block-explorers/index.md @@ -20,6 +20,7 @@ You should understand the basic concepts of Ethereum so you can make sense of th - [Blockchair](https://blockchair.com/ethereum) –_Also available in Spanish, French, Italian, Dutch, Portuguese, Russian, Chinese, and Farsi_ - [Blockscout](https://blockscout.com/) - [OKLink](https://www.oklink.com/eth) +- [Otterscan](https://otterscan.io/) ## Data {#data} From 8009ed3cd900d90680d03e9b701f518ef8c98b18 Mon Sep 17 00:00:00 2001 From: Fredrik Svantes <84518844+fredriksvantes@users.noreply.github.com> Date: Wed, 11 May 2022 21:50:16 +0200 Subject: [PATCH 102/167] Clarifying scope and impact --- src/intl/en/page-upgrades-get-involved-bug-bounty.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/intl/en/page-upgrades-get-involved-bug-bounty.json b/src/intl/en/page-upgrades-get-involved-bug-bounty.json index 48b54f159db..e23aeb85666 100644 --- a/src/intl/en/page-upgrades-get-involved-bug-bounty.json +++ b/src/intl/en/page-upgrades-get-involved-bug-bounty.json @@ -33,7 +33,7 @@ "page-upgrades-bug-bounty-meta-description": "An overview of the consensus layer bug bounty program: how to get involved and reward information.", "page-upgrades-bug-bounty-meta-title": "Bug Bounty Program", "page-upgrades-bug-bounty-not-included": "Out of scope", - "page-upgrades-bug-bounty-not-included-desc": "Only the targets listed under in-scope are part of the Bug Bounty Program. This means that for example our infrastructure; such as webpages, dns, email etc, are not part of the bounty-scope. The Merge and shard chain upgrades are still in active development and so are not yet included as part of this bounty program. ERC20 contract bugs are typically not included in the bounty scope. However, we can help reach out to affected parties, such as authors or exchanges in such cases. ENS is maintained by the ENS foundation, and is not part of the bounty scope.", + "page-upgrades-bug-bounty-not-included-desc": "Only the targets listed under in-scope are part of the Bug Bounty Program. This means that for example our infrastructure; such as webpages, dns, email etc, are not part of the bounty-scope. ERC20 contract bugs are typically not included in the bounty scope. However, we can help reach out to affected parties, such as authors or exchanges in such cases. ENS is maintained by the ENS foundation, and is not part of the bounty scope.", "page-upgrades-bug-bounty-owasp": "View OWASP method", "page-upgrades-bug-bounty-points": "The EF will also provide rewards based on:", "page-upgrades-bug-bounty-points-error": "Error loading data... please refresh.", @@ -56,7 +56,7 @@ "page-upgrades-bug-bounty-execution-specs": "Execution Layer Specifications", "page-upgrades-bug-bounty-specs-docs": "Specification documents", "page-upgrades-bug-bounty-submit": "Submit a bug", - "page-upgrades-bug-bounty-submit-desc": "For each valid bug you find you’ll earn rewards. The quantity of rewards awarded will vary depending on Severity. The severity is calculated according to the OWASP risk rating model based on Impact and Likelihood.", + "page-upgrades-bug-bounty-submit-desc": "For each valid bug you find you’ll earn rewards. The quantity of rewards awarded will vary depending on Severity. The severity is calculated according to the OWASP risk rating model based on Impact on the Ethereum Network and Likelihood.", "page-upgrades-bug-bounty-subtitle": "Earn up to $250,000 USD and a place on the leaderboard by finding protocol, client and Solidity bugs affecting the Ethereum network.", "page-upgrades-bug-bounty-title": "Open for submissions", "page-upgrades-bug-bounty-title-1": "Beacon Chain", From ec53f8b45a993a4f6479ea2a7f20da913c3209d1 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 11 May 2022 14:07:08 -0600 Subject: [PATCH 103/167] filter out stablecoins not on Ethereum --- src/pages/stablecoins.js | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/pages/stablecoins.js b/src/pages/stablecoins.js index 9d6c18d65dc..ea3dfa1b518 100644 --- a/src/pages/stablecoins.js +++ b/src/pages/stablecoins.js @@ -309,7 +309,6 @@ const StablecoinsPage = ({ data }) => { DUSD: { type: CRYPTO, url: "https://dusd.finance/" }, PAXG: { type: ASSET, url: "https://www.paxos.com/paxgold/" }, AMPL: { type: ALGORITHMIC, url: "https://www.ampleforth.org/" }, - UST: { type: ALGORITHMIC, url: "https://www.terra.money/" }, FRAX: { type: ALGORITHMIC, url: "https://frax.finance/" }, MIM: { type: ALGORITHMIC, url: "https://abracadabra.money/" }, USDP: { type: FIAT, url: "https://paxos.com/usdp/" }, @@ -322,14 +321,25 @@ const StablecoinsPage = ({ data }) => { ;(async () => { try { // No option to filter by stablecoins, so fetching the top tokens by market cap - const data = await getData( - "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=250&page=1&sparkline=false" + + const ethereumData = await getData( + "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&category=ethereum-ecosystem&order=market_cap_desc&per_page=100&page=1&sparkline=false" + ) + const stablecoinData = await getData( + "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&category=stablecoins&order=market_cap_desc&per_page=100&page=1&sparkline=false" + ) + + const filteredData = stablecoinData.filter( + (stablecoin) => + ethereumData.findIndex( + (etherToken) => stablecoin.id == etherToken.id + ) > -1 ) - const markets = data - .filter((token) => - Object.keys(stablecoins).includes(token.symbol.toUpperCase()) - ) - .slice(0, 10) + + const markets = filteredData + .filter((token) => { + return stablecoins[token.symbol.toUpperCase()] + }) .map((token) => { return { name: token.name, From f67599c5f511b8dc22c93c168637a6739621b1b8 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 16:27:05 -0700 Subject: [PATCH 104/167] bg homepage import from crowdin --- src/intl/bg/common.json | 82 +++++++++++++++++++++++++-------- src/intl/bg/page-index.json | 90 ++++++++++++++++++------------------- 2 files changed, 109 insertions(+), 63 deletions(-) diff --git a/src/intl/bg/common.json b/src/intl/bg/common.json index af13614ca90..f7bce272d42 100644 --- a/src/intl/bg/common.json +++ b/src/intl/bg/common.json @@ -1,22 +1,26 @@ { "1inch-logo": "Лого на 1inch", "aave-logo": "Лого на Ааве", + "acknowledgements": "Благодарности", "about": "Относно", "about-ethereum-org": "За ethereum.org", "about-us": "За нас", "alt-eth-blocks": "Илюстрация на блокове, организирани като символ на ETH", "aria-toggle-search-button": "Бутон за търсенеToggle", "aria-toggle-menu-button": "Бутон за Toggle меню", + "zen-mode": "Дзен режим", "back-to-top": "Към началото", "banner-page-incomplete": "Тази страница не е довършена и ние бихме приели с радост помощта ви. Редактирайте тази страница и добавете това, което мислите, че ще е полезно за другите.", "beacon-chain": "Сигнална верига", "binance-logo": "Лого на Binance", "bittrex-logo": "Лого на Bittrex", "brand-assets": "Характеристики на марката", + "bridges": "Мостове на блокова верига", "bug-bounty": "Акция за намиране на бъгове", "coinbase-logo": "Лого на Coinbase", "coinmama-logo": "Лого на Coinmama", "community": "Общност", + "community-hub": "Център на общността", "community-menu": "Меню на общността", "compound-logo": "Лого на Compound", "cons": "Аргументи срещу", @@ -30,10 +34,9 @@ "copy": "Копиране", "dark-mode": "Тъмно", "data-provided-by": "Източник на данни:", - "decentralized-applications-dapps": "Децентрализирани приложения (дапс/dapps)", + "decentralized-applications-dapps": "Децентрализирани приложения (dapps)", "deposit-contract": "Договор за депозит", "devcon": "Девкон/Devcon", - "developer-resources": "Източници на разработчиците", "developers": "Разработчици", "developers-home": "Начална страница на разработчиците", "docs": "Документи", @@ -43,32 +46,42 @@ "edit-page": "Редактиране на страницата", "ef-blog": "Блог на фондация Етереум", "eips": "Предложения за подобрения в Етереум", + "energy-consumption": "Потребление на електричество от Етериум", "enterprise": "Предприятие", "enterprise-menu": "Меню на предприятието", "esp": "Програма за поддръжка на екосистемата", "eth-current-price": "Настояща цена на ETH (в USD)", - "consensus-beaconcha-in-desc": "Open source explorer на Сигналната верига на Eth2", - "consensus-beaconscan-desc": "Explorer на Сигналната верига на Eth2 – Etherscan за Eth2", + "consensus-beaconcha-in-desc": "Експлорър с отворен код на бийкън чейн", + "consensus-beaconscan-desc": "Експлорър за бийкън чейн – Етерскан (Etherscan) за консенсусния слой", "consensus-become-staker": "Станете залагащ", - "consensus-become-staker-desc": "Залагането е живо! Ако желаете да заложите вашите ETH, за да помогнете при осигуряване на мрежата, уверете се, че сте наясно с рисковете.", + "consensus-become-staker-desc": "Залагането стартира! Ако желаете да заложите вашите ETH, за да помогнете за осигуряване на мрежата, уверете се, че сте наясно с рисковете.", "consensus-explore": "Разгледайте данните", - "consensus-run-beacon-chain": "Действия със сигналния клиент", + "consensus-run-beacon-chain": "Активирайте клиент за консенсус", "consensus-run-beacon-chain-desc": "Етереум има нужда от колкото може повече клиенти. Помогнете за общественото благо на Етереум!", "consensus-when-shipping": "Кога излиза?", + "eth-upgrade-what-happened": "Какво се случи с „Eth2“?", + "eth-upgrade-what-happened-description": "С наближаването на сливането (The Merge) терминът „Eth2“ бива отхвърлен. Това, което преди беше известно като „Eth2“, сега е „консенсусен слой“ (consensus layer).", "ethereum": "Етереум", - "ethereum-upgrades": "Етереум 2.0", + "ethereum-upgrades": "Подобрения на Етереум", "ethereum-brand-assets": "Характеристики на марката Етереум", "ethereum-community": "Общността на Етереум", + "ethereum-online": "Общности в мрежата", + "ethereum-events": "Събития на Етериум", "ethereum-foundation": "Фондация Етереум", "ethereum-foundation-logo": "Лого на Фондация Етереум", "ethereum-glossary": "Кратък речник на Етереум", - "ethereum-governance": "Управление на Етереум", + "ethereum-governance": "Управление на Ethereum", "ethereum-logo": "Лого на Етереум", - "ethereum-security": "Сигурност и защита от измами при Етереум", + "ethereum-security": "Сигурност и защита от измами при Ethereum", + "ethereum-support": "Поддръжка на Етериум", "ethereum-studio": "Студиото на Етереум", "ethereum-wallets": "Портфейлите на Етереум", "ethereum-whitepaper": "Визията/Принципите/Whitepaper на Етереум", + "events": "Събития", "example-projects": "Примерни проекти", + "feedback-prompt": "Тази страница отговори ли на вашия въпрос?", + "feedback-title-helpful": "Благодарим ви за отзивите!", + "feedback-title-not-helpful": "Присъединете се към нашия публичен Дискорд/Discord и получете отговора, който търсите.", "find-wallet": "Намери портфейл", "foundation": "Фондация", "gemini-logo": "Лого на Gemini", @@ -92,6 +105,7 @@ "jobs": "Работни позиции", "kraken-logo": "Лого на Kraken", "language-ar": "Арабски", + "language-az": "Азербайджански", "language-bg": "Български", "language-bn": "Бенгалски", "language-ca": "Каталунски", @@ -103,26 +117,34 @@ "language-fa": "Фарси", "language-fi": "Финландски", "language-fr": "Френски", - "language-hu": "Унгарски", - "language-hr": "Хърватски", + "language-gl": "Галисийски", "language-hi": "Хинди", + "language-hr": "Хърватски", + "language-hu": "Унгарски", "language-id": "Индонезийски", "language-ig": "Игбо", "language-it": "Италиански", "language-ja": "Японски", + "language-ka": "Грузински", "language-ko": "Корейски", "language-lt": "Литовски", "language-ml": "Малайски", + "language-mr": "Маратхи", + "language-ms": "Малайски", "language-nb": "Норвежки", "language-nl": "Нидерландски", "language-pl": "Полски", "language-pt": "Португалски", "language-pt-br": "Португалски (бразилски)", + "language-resources": "Езикови ресурси", "language-ro": "Румънски", "language-ru": "Руски", "language-se": "Шведски", "language-sk": "Словашки", "language-sl": "Словенски", + "language-sr": "Сръбски", + "language-sw": "Суахили", + "language-th": "Тайландски", "language-support": "Езикова поддръжка", "language-tr": "Турски", "language-uk": "Украински", @@ -132,6 +154,7 @@ "languages": "Езици", "last-24-hrs": "Последните 24 часа", "last-edit": "Последна редакция", + "layer-2": "Слой 2", "learn": "Научете", "learn-by-coding": "Научете, като кодирате", "learn-menu": "Как да научиш", @@ -147,27 +170,37 @@ "loading-error-refresh": "Грешка, моля, заредете отново страницата.", "logo": "лого", "loopring-logo": "Лого на Loopring", - "london-upgrade-banner": "Лондонската актуализация ще бъде на живо в: ", - "london-upgrade-banner-released": "Лондонската актуализация е пусната!", "mainnet-ethereum": "Основната мрежа на Етереум", "makerdao-logo": "Лого на MakerDao", "matcha-logo": "Лого на Matcha", + "medalla-data-challenge": "Предизвикателството на Medalla данните", "merge": "Сливане", "more": "Още", + "more-info": "Повече информация", "nav-beginners": "За начинаещи", + "nav-developers": "Разработчици", + "nav-developers-docs": "Документация за разработчици", + "nav-primary": "Основен", "next": "Напред", + "no": "Не", "oasis-logo": "Лого на Oasis", + "online": "Онлайн", "on-this-page": "На тази страница", "page-content": "Съдържание на страницата", "page-enterprise": "Предприятие", - "page-last-updated": "Последен ъпдейт на страницата", + "page-last-updated": "Последна актуализация на страницата", "previous": "Назад", "privacy-policy": "Политика за поверителност", "private-ethereum": "Поверителният Етереум", "pros": "Аргументи за", "read-more": "Прочети повече", "refresh": "Моля, обновете страницата.", + "return-home": "към началната страница", + "run-a-node": "Активиране на възел", "review-progress": "До къде сте стигнали", + "rollup-component-website": "Уебсайт", + "rollup-component-developer-docs": "Документация на разработчика", + "rollup-component-technology-and-risk-summary": "Технология и обобщение на рисковете", "search": "Търсене", "search-box-blank-state-text": "Търсете по-нататък!", "search-eth-address": "Това прилича на адреса на Етереум. Ние не предлагаме данни, които са специфични за даден адрес. Опитайте да го намерите в block explorer като", @@ -180,9 +213,17 @@ "show-less": "Покажи по-малко", "site-description": "Етереум е глобална, децентрализирана платформа за пари и нови видове приложения. Върху Етереум може да създавате код, който контролира пари, и да правите приложения, достъпни по целия свят.", "site-title": "ethereum.org", + "skip-to-main-content": "Прeскачане към основното съдържание", + "smart-contracts": "Умни договори", "stablecoins": "Стейбълкойни/Stablecoins", "staking": "Залагане", + "solo": "Solo залагане", + "saas": "Залагането като услуга", + "pools": "Пул залагане", + "staking-community-grants": "Грантове за общността на залагащите", + "academic-grants-round": "Етап за академични субсидии", "summary": "Обобщение", + "support": "Поддръжка", "terms-of-use": "Условия за ползване", "transaction-fees": "Какви са таксите при трансакция?", "translation-banner-body-new": "Виждате тази страница на английски език, защото все още не сме я превели. Помогнете ни да преведем съдържанието.", @@ -195,21 +236,26 @@ "translation-banner-title-update": "Помогнете да обновим тази страница", "translation-program": "Програма за преводи", "translation-progress": "Напредък при превода", - "translation-banner-no-bugs-title": "Няма грешки тук!", - "translation-banner-no-bugs-content": "Тази страница не се превежда. Засега умишлено оставихме тази страница на английски.", - "translation-banner-no-bugs-dont-show-again": "Не показвай отново.", + "translation-banner-no-bugs-title": "Тук няма грешки!", + "translation-banner-no-bugs-content": "Тази страница не се превежда. Засега нарочно сме я оставили на английски език.", + "translation-banner-no-bugs-dont-show-again": "Да не се показва отново", + "try-using-search": "Опитайте да намерите това, което търсите, с търсачката или", "tutorials": "Ръководства", "uniswap-logo": "Лого на Uniswap", + "upgrades": "Подобрения", "use": "Използвай", "use-ethereum": "Използвайте Етереум", "use-ethereum-menu": "Използвайте менюто на Етереум", "vision": "Визия", "wallets": "Портфейли", + "we-couldnt-find-that-page": "Не можахме да намерим тази страница", + "web3": "Какво представлява Web3?", "website-last-updated": "Последно обновяване на уебсайта", "what-is-ether": "Какво е етер/ether (ETH)?", "what-is-ethereum": "Какво е Етереум?", "whitepaper": "Визията на проекта/Whitepaper", "defi-page": "Децентрализирани финанси (DeFi)", "dao-page": "Децентрализирани автономни организации (DAOs)", - "nft-page": "Незаменяеми токени (NFTs)" + "nft-page": "Незаменяеми токени (NFTs)", + "yes": "Да" } diff --git a/src/intl/bg/page-index.json b/src/intl/bg/page-index.json index cd5476f8b32..7dbf5d1fa10 100644 --- a/src/intl/bg/page-index.json +++ b/src/intl/bg/page-index.json @@ -1,77 +1,77 @@ { - "page-index-hero-image-alt": "Изображение на футуристичен град, представляващ екосистемата на Етереум.", - "page-index-meta-description": "Етереум е глобална, децентрализирана платформа за пари и нови видове приложения. На Етереум може да създавате код, който контролира пари, и да правите приложения, достъпни по целия свят.", + "page-index-hero-image-alt": "Изображение на футуристичен град, представящ екосистемата на Eтереум.", + "page-index-meta-description": "Eтереум е глобална, децентрализирана платформа за пари и нови видове приложения. В Eтереум можете да създавате код, който контролира пари, и да правите приложения, достъпни по целия свят.", "page-index-meta-title": "Начална страница", - "page-index-title": "Добре дошли в Етереум", - "page-index-description": "Етереум е технология, управлявана от общност, която поддържа криптовалутата, етер (ETH) и хиляди други децентрализирани приложения.", - "page-index-title-button": "Разучете Етереум", - "page-index-get-started": "Начало", - "page-index-get-started-description": "ethereum.org е порталът ти към света на Етереум. Технологията е нова и непрекъснато развиваща се - от помощ е да имаш гид. Ето какво препоръчваме да направиш, ако искаш да навлезеш.", + "page-index-title": "Добре дошли в Eтереум", + "page-index-description": "Eтереум е технология, управлявана от общност, която поддържа криптовалутата етер (ETH) и хиляди други децентрализирани приложения.", + "page-index-title-button": "Разучете Eтереум", + "page-index-get-started": "Първи стъпки", + "page-index-get-started-description": "ethereum.org е вашият портал към света на Eтереум. Технологията е нова и непрекъснато развиваща се – по-лесно е, ако получите напътствия. Ето какво препоръчваме да направите, ако искате да навлезете.", "page-index-get-started-image-alt": "Илюстрация на човек, работещ на компютър.", "page-index-get-started-wallet-title": "Изберете портфейл", - "page-index-get-started-wallet-description": "Портфейлът ти позволява да се свържеш с Етереум и да управляваш авоарите си.", - "page-index-get-started-wallet-image-alt": "Илюстрация на робот с тяло като свод, изобразяваща портфейл в Етереум.", + "page-index-get-started-wallet-description": "Портфейлът ви позволява да се свържете с Eтереум и да управлявате авоарите си.", + "page-index-get-started-wallet-image-alt": "Илюстрация на робот, чието тяло е сейф, представляващ портфейл в Eтереум.", "page-index-get-started-eth-title": "Вземете ETH", - "page-index-get-started-eth-description": "ETH е валутата на Етереум - можеш да я ползваш в приложения.", + "page-index-get-started-eth-description": "ETH е валутата на Eтереум – можете да я използвате в приложения.", "page-index-get-started-eth-image-alt": "Илюстрация на група от хора, застинали в страхопочитание пред релефното изображение на етер (ETH).", - "page-index-get-started-dapps-title": "Използвай dapp", - "page-index-get-started-dapps-description": "Dapps са приложения, поддържани от Етереум. Вижте какво може да направите.", + "page-index-get-started-dapps-title": "Използвайте dapp", + "page-index-get-started-dapps-description": "Dapps са приложения, поддържани от Eтереум. Вижте какво може да направите.", "page-index-get-started-dapps-image-alt": "Илюстрация на дож, който използва компютър.", "page-index-get-started-devs-title": "Започнете изграждането", - "page-index-get-started-devs-description": "Ако започнете да пишете код с Етереум, ние разполагаме с документация, обучителни материали и други такива в нашия портал за разработки.", - "page-index-get-started-devs-image-alt": "Илюстрация на ръка, създаваща логото на ETH, направено от тухлички на лего.", - "page-index-what-is-ethereum": "Какво е Етереум?", - "page-index-what-is-ethereum-description": "Етереум е технология, която събира дигитални пари, глобални разплащания и приложения. Общността е създала една процъфтяваща дигитална икономика, смели новаторски решения за творци, които печелят онлайн, и много подобни такива. Тя е отворена към всички, където и да се намирате по света - всичко, от което се нуждаете, е интернет.", - "page-index-what-is-ethereum-button": "Какво е Етереум?", + "page-index-get-started-devs-description": "Ако искате да започнете да пишете код с Eтереум, ние разполагаме с документация, обучителни материали и други ресурси в нашия портал за разработки.", + "page-index-get-started-devs-image-alt": "Илюстрация на ръка, създаваща логото на ETH от лего.", + "page-index-what-is-ethereum": "Какво е Eтереум?", + "page-index-what-is-ethereum-description": "Eтереум е технология за дигитални пари, глобални плащания и приложения. Общността е създала една процъфтяваща дигитална икономика, смели новаторски начини създателите да печелят онлайн и много други неща. Тя е отворена за всички, където и да се намирате по света – единственото, от което се нуждаете, е интернет.", + "page-index-what-is-ethereum-button": "Какво е Eтереум?", "page-index-what-is-ethereum-secondary-button": "Повече за дигиталните пари", - "page-index-what-is-ethereum-image-alt": "Илюстрация на човек, който наднича в един пазар, направен да представлява Етереум.", + "page-index-what-is-ethereum-image-alt": "Илюстрация на човек, надничащ в пазар, чиито замисъл е да представлява Eтереум.", "page-index-defi": "По-честна финансова система", - "page-index-defi-description": "Днес милиарди хора не могат да отворят свои банкови сметки, а на други плащанията са блокирани. Децентрализираната финансова система (DeFi) на Етереум никога не е пасивна или дискриминираща. Само с интернет връзка вие можете да изпращате, получавате, вземате назаем, печелите лихви и даже да насочвате средства по всички точки на света.", + "page-index-defi-description": "Днес милиарди хора не могат да открият свои банкови сметки, а плащанията на други са блокирани. Децентрализираната финансова система (DeFi) на Eтереум никога не спира и не дискриминира. Само с интернет връзка вие можете да изпращате, получавате, вземате назаем, печелите лихви и даже да насочвате средства по всички точки на света.", "page-index-defi-button": "Запознайте се с DeFi", "page-index-defi-image-alt": "Изображение на ръце, които подават символа на ETH.", "page-index-internet": "Отворен интернет", - "page-index-internet-description": "Днес ние получаваме достъп до „безплатни“ интернет услуги, като им предаваме контрола върху личните ни данни. Услугите на Етереум са отворени по подразбиране - имате нужда само от портфейл. Те са безплатни и лесни за настройка, контролират се от вас и работят без никаква лична информация.", + "page-index-internet-description": "В днешно време получаваме достъп до „безплатни“ интернет услуги, като се отказваме от контрола си върху личните данни. Услугите на Eтереум са отворени по подразбиране – трябва ви само портфейл. Те са безплатни и лесни за настройване, контролират се от вас и работят без никаква лична информация.", "page-index-internet-button": "Запознайте се с отворения интернет", "page-index-internet-secondary-button": "Повече за портфейлите", - "page-index-internet-image-alt": "Изображение на настройката на футуристичен компютър, захранван от кристалите на Етереум.", - "page-index-developers": "Нова граница за развитие", - "page-index-developers-description": "Етереум и неговите приложения за прозрачни и с отворен код. Вие може да създадете разклонение на кода и отново да използвате функционалности, които другите вече са създали. Ако не желаете да учите нов език може просто да работите с отворен код, ползвайки JavaScript и другите съществуващи езици.", + "page-index-internet-image-alt": "Изображение на инсталиран футуристичен компютър, захранван от кристалите на Eтереум.", + "page-index-developers": "Нова предел за развитие", + "page-index-developers-description": "Eтереум и неговите приложения са прозрачни и с отворен код. Можете да създадете разклонение на кода и да използвате функционалности, които другите вече са създали. Ако не желаете да учите нов език, може просто да работите с отворен код, като използвате JavaScript и другите съществуващи езици.", "page-index-developers-button": "Портал за програмисти", - "page-index-developers-code-examples": "Code examples", - "page-index-developers-code-example-title-0": "Твоя собствена банка", + "page-index-developers-code-examples": "Примерни кодове", + "page-index-developers-code-example-title-0": "Ваша собствена банка", "page-index-developers-code-example-description-0": "Може да изградите банка, управлявана от логиката, програмирана от вас.", - "page-index-developers-code-example-title-1": "Твоя собствена валута", - "page-index-developers-code-example-description-1": "Можеш да създадеш токени, които да прехвърлиш и да ползваш в различни приложения.", - "page-index-developers-code-example-title-2": "JavaScript портфейл на Етереум", - "page-index-developers-code-example-description-2": "Вие може да използвате съществуващите езици, за да взаимодействате с Етереум и другите приложения.", + "page-index-developers-code-example-title-1": "Вашата собствена валута", + "page-index-developers-code-example-description-1": "Можете да създавате токени, които да прехвърляте и да използвате в различни приложения.", + "page-index-developers-code-example-title-2": "JavaScript портфейл за Етереум", + "page-index-developers-code-example-description-2": "Можете да използвате съществуващите езици, за да взаимодействате с Етереум и други приложения.", "page-index-developers-code-example-title-3": "Отворен DNS без нужда от разрешения", - "page-index-developers-code-example-description-3": "Вие може отново да си представите съществуващите услуги като децентрализирани, отворени приложения.", - "page-index-network-stats-title": "Етереум днес", + "page-index-developers-code-example-description-3": "Можете да промените възгледите за съществуващите услуги като децентрализирани, отворени приложения.", + "page-index-network-stats-title": "Ethereum днес", "page-index-network-stats-subtitle": "Твоите последни мрежови статистики", "page-index-network-stats-eth-price-description": "ETH цена (USD)", - "page-index-network-stats-eth-price-explainer": "Последната цена за 1 етер. Можеш да си купиш дори само 0.000000000000000001 - няма нужда да купуваш един цял ETH.", + "page-index-network-stats-eth-price-explainer": "Най-актуалната цена за 1 етер. Можете да си купите дори само 0,000000000000000001 – няма нужда да купувате един цял ETH.", "page-index-network-stats-tx-day-description": "Трансакции от днес", "page-index-network-stats-tx-day-explainer": "Брой трансакции успешно обработени в мрежата за последните 24 часа.", "page-index-network-stats-value-defi-description": "Стойност, заключена в DeFi (USD)", - "page-index-network-stats-value-defi-explainer": "Количеството пари в децентрализираните финансови (DeFi) приложения, дигиталната икономика на Етереум.", + "page-index-network-stats-value-defi-explainer": "Количеството пари в децентрализираните финансови (DeFi) приложения, дигиталната икономика на Eтереум.", "page-index-network-stats-nodes-description": "Възли", - "page-index-network-stats-nodes-explainer": "Етереум се управлява от хиляди доброволци по света, известни като възли.", + "page-index-network-stats-nodes-explainer": "Ethereum се управлява от хиляди доброволци по света, известни като възли.", "page-index-touts-header": "Запознайте се с ethereum.org", "page-index-contribution-banner-title": "Дайте своя принос към ethereum.org", - "page-index-contribution-banner-description": "Този уебсайт е с отворен код и стотици членове на общността със свой принос. Може да предлагате редактиране на която и да е част от съдържанието на този сайт, да предлагате чудесни нови характеристики или да ни помагате да се справим с грешките.", - "page-index-contribution-banner-image-alt": "Лого на Етереум, направено от тухлички на лего.", + "page-index-contribution-banner-description": "Този уебсайт е с отворен код и стотици членове на общността със собствен принос. Можете да предлагате редактиране на която и да е част от съдържанието на сайта, да предлагате страхотни нови функции или да ни помагате да се справяме с проблемите.", + "page-index-contribution-banner-image-alt": "Логото на Eтереум, направено от лего.", "page-index-contribution-banner-button": "Повече за приноса", - "page-index-tout-upgrades-title": "Обновете познанията си по Eth2", - "page-index-tout-upgrades-description": "Ethereum 2.0 е програма на взаимосвързани актуализации, създадени да направят Ethereum по-мащабен, сигурен и устойчив.", - "page-index-tout-upgrades-image-alt": "Изображение на космически кораб, представляващ нарасналата мощ на Eth2.", + "page-index-tout-upgrades-title": "Повишете нивото на знанията си за подобренията", + "page-index-tout-upgrades-description": "Планът за развитие на Етереум се състои от взаимосвързани ъпгрейди, разработени с цел да направят мрежата по-годна за разширяване, по-сигурна и устойчива.", + "page-index-tout-upgrades-image-alt": "Илюстрация на космически кораб, представяща нарасналата мощ на Етерeум след подобренията.", "page-index-tout-enterprise-title": "Ethereum за предприятия", - "page-index-tout-enterprise-description": "Вижте как Ethereum може да открие нови бизнес модели, да намали разходите ви и да обезпечи за в бъдеще вашия бизнес.", + "page-index-tout-enterprise-description": "Вижте как Eтереум може да открие нови бизнес модели, да намали разходите ви и да обезпечи за в бъдеще вашия бизнес.", "page-index-tout-enterprise-image-alt": "Изображение на футуристичен компютър/устройство.", - "page-index-tout-community-title": "Общността на Етереум", - "page-index-tout-community-description": "В Етереум всичко се върти около общността. Тя е образувана от хора с различен произход и интереси. Вижте как може да се присъедините към нея.", - "page-index-tout-community-image-alt": "Изображение на група строители, които работят заедно.", + "page-index-tout-community-title": "Общността на Eтереум", + "page-index-tout-community-description": "В Eтереум всичко се върти около общността. Тя е сформирана от хора с различен произход и интереси. Вижте как може да се присъедините към нея.", + "page-index-tout-community-image-alt": "Изображение на група разработчици, които работят заедно.", "page-index-nft": "Интернетът на активите", - "page-index-nft-description": "Етереум не е само за дигитални пари. Всичко, което притежавате, може да бъде представено, търгувано и да влезе в употреба като незаменяеми токени (NFTs). Може да токенизирате свое произведение на изкуството и автоматично да ви бъдат заплащани авторски права всеки път, когато то се продава и препродава. Или да използвате токен за нещо, което притежавате, за да вземете заем. Възможностите непрекъснато растат.", - "page-index-nft-button": "Повече за NFTs", + "page-index-nft-description": "Eтереум не е само за дигитални пари. Всичко, което притежавате, може да бъде представено, търгувано и да влезе в употреба като незаменими токени (NFTs). Можете да превърнете свое произведение на изкуството в токен и автоматично да ви бъде плащано за авторски права всеки път, когато той се продава и препродава. Или да използвате токен за нещо, което притежавате, за да вземете заем. Възможностите непрекъснато растат.", + "page-index-nft-button": "Повече за NFT", "page-index-nft-alt": "Лого на Eth, представено чрез холограма." } From b530abd526a38284f73a409151fdbc3ad48659e3 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 16:27:23 -0700 Subject: [PATCH 105/167] de homepage import from crowdin --- src/intl/de/common.json | 39 +++++++++++++++++++++++++++++-------- src/intl/de/page-index.json | 14 ++++++------- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/src/intl/de/common.json b/src/intl/de/common.json index 4263a9d975b..0558f7906ed 100644 --- a/src/intl/de/common.json +++ b/src/intl/de/common.json @@ -15,6 +15,7 @@ "binance-logo": "Binance-Logo", "bittrex-logo": "Bittrex-Logo", "brand-assets": "Marken-Assets", + "bridges": "Blockchain-Brücken", "bug-bounty": "Bug-Bounty", "coinbase-logo": "Coinbase-Logo", "coinmama-logo": "Coinmama-Logo", @@ -33,7 +34,7 @@ "copy": "Kopieren", "dark-mode": "Dunkel", "data-provided-by": "Datenquelle:", - "decentralized-applications-dapps": "Dezentralisierte Anwendungen (DApps)", + "decentralized-applications-dapps": "Dezentralisierte Anwendungen (dApps)", "deposit-contract": "Einzahlungsvertrag", "devcon": "Devcon", "developers": "Entwickler", @@ -50,7 +51,7 @@ "enterprise-menu": "Enterprise-Menü", "esp": "Ökosystem-Supportprogramm", "eth-current-price": "Aktueller ETH-Preis (USD)", - "consensus-beaconcha-in-desc": "Der Open-Source-Beacon-Chain-Explorer", + "consensus-beaconcha-in-desc": "Der Open-Source-Beacon Chain-Explorer", "consensus-beaconscan-desc": "Der Beacon Chain Explorer - Etherscan für die Konsensebene", "consensus-become-staker": "Werde ein Staker", "consensus-become-staker-desc": "Staking ist hier! Wenn du deine ETH staken möchtest, um das Netzwerk zu sichern, stelle sicher, dass du dir der Risiken bewusst bist.", @@ -78,6 +79,9 @@ "ethereum-whitepaper": "Ethereum Whitepaper", "events": "Veranstaltungen", "example-projects": "Beispielprojekte", + "feedback-prompt": "Hat diese Seite geholfen, Ihre Frage zu beantworten?", + "feedback-title-helpful": "Danke für Ihr Feedback!", + "feedback-title-not-helpful": "Treten Sie unserem öffentlichen Discord-Kanal bei und erhalten Sie die Antworten, nach denen Sie suchen.", "find-wallet": "Finde Wallet", "foundation": "Foundation", "gemini-logo": "Gemini-Logo", @@ -101,6 +105,7 @@ "jobs": "Jobangebote", "kraken-logo": "Kraken-Logo", "language-ar": "Arabisch", + "language-az": "Aserbaidschanisch", "language-bg": "Bulgarisch", "language-bn": "Bengalisch", "language-ca": "Katalanisch", @@ -112,6 +117,7 @@ "language-fa": "Farsi", "language-fi": "Finnisch", "language-fr": "Französisch", + "language-gl": "Galizisch", "language-hi": "Hindi", "language-hr": "Kroatisch", "language-hu": "Ungarisch", @@ -119,6 +125,7 @@ "language-ig": "Igbo", "language-it": "Italienisch", "language-ja": "Japanisch", + "language-ka": "Georgisch", "language-ko": "Koreanisch", "language-lt": "Litauisch", "language-ml": "Malayalam", @@ -147,6 +154,7 @@ "languages": "Sprachen", "last-24-hrs": "Letzte 24 Stunden", "last-edit": "Letzte Änderung", + "layer-2": "Ebene 2", "learn": "Lernen", "learn-by-coding": "Lernen durch Programmieren", "learn-menu": "Lernen-Menü", @@ -162,8 +170,6 @@ "loading-error-refresh": "Fehler, bitte aktualisieren.", "logo": "Logo", "loopring-logo": "Loopring-Logo", - "london-upgrade-banner": "Das London Upgrade geht live in: ", - "london-upgrade-banner-released": "Das London Upgrade wurde freigegeben!", "mainnet-ethereum": "Mainnet Ethereum", "makerdao-logo": "MakerDao-Logo", "matcha-logo": "Matcha-Logo", @@ -172,7 +178,11 @@ "more": "Mehr", "more-info": "Mehr Infos", "nav-beginners": "Anfänger", + "nav-developers": "Entwickler:innen", + "nav-developers-docs": "Entwicklerdokumentation", + "nav-primary": "Primäre", "next": "Weiter", + "no": "Nein", "oasis-logo": "Oasis-Logo", "online": "Online", "on-this-page": "Auf dieser Seite", @@ -185,7 +195,12 @@ "pros": "Vorteile", "read-more": "Mehr erfahren", "refresh": "Bitte aktualisiere die Seite.", + "return-home": "Zur Startseite", + "run-a-node": "Einen Knoten betreiben", "review-progress": "Fortschritt der Prüfung", + "rollup-component-website": "Website", + "rollup-component-developer-docs": "Entwicklerdokumentation", + "rollup-component-technology-and-risk-summary": "Technologie- und Risikozusammenfassung", "search": "Suche", "search-box-blank-state-text": "Suche!", "search-eth-address": "Sieht aus wie eine Ethereum-Adresse. Wir liefern keine Daten zu Adressen. Versuche es auf einem Block-Explorer wie", @@ -202,7 +217,11 @@ "smart-contracts": "Intelligente Verträge", "stablecoins": "Stablecoins", "staking": "Staking", + "solo": "Solo-Staking", + "saas": "Staking als Dienst", + "pools": "Gepooltes Staking", "staking-community-grants": "Zuwendungen der Staking-Community", + "academic-grants-round": "Akademische Stipendienrunde", "summary": "Zusammenfassung", "support": "Support", "terms-of-use": "Nutzungsbedingungen", @@ -217,9 +236,10 @@ "translation-banner-title-update": "Hilf mit, diese Seite zu aktualisieren", "translation-program": "Übersetzungsprogramm", "translation-progress": "Übersetzungsfortschritt", - "translation-banner-no-bugs-title": "Das ist kein Fehler!", - "translation-banner-no-bugs-content": "Diese Seite wird nicht übersetzt. Wir haben diese Seite absichtlich vorerst auf Englisch belassen.", - "translation-banner-no-bugs-dont-show-again": "Nicht mehr anzeigen", + "translation-banner-no-bugs-title": "Hier sind keine Fehler!", + "translation-banner-no-bugs-content": "Diese Seite wird nicht übersetzt. Wir haben diese Seite bewusst vorerst auf Englisch belassen.", + "translation-banner-no-bugs-dont-show-again": "Nicht erneut anzeigen", + "try-using-search": "Benutzen Sie die Suchfunktion, um zu finden, wonach Sie suchen", "tutorials": "Tutorials", "uniswap-logo": "Uniswap-Logo", "upgrades": "Die Upgrades", @@ -228,11 +248,14 @@ "use-ethereum-menu": "Ethereum verwenden – Menü", "vision": "Vision", "wallets": "Wallets", + "we-couldnt-find-that-page": "Diese Seite konnte nicht gefunden werden", + "web3": "Was ist Web3?", "website-last-updated": "Website zuletzt aktualisiert", "what-is-ether": "Was ist Ether (ETH)?", "what-is-ethereum": "Was ist Ethereum?", "whitepaper": "Whitepaper", "defi-page": "Dezentrales Finanzwesen (DeFi)", "dao-page": "Dezentrale autonome Organisationen (DAOs)", - "nft-page": "Non-Fungible Tokens (NFTs)" + "nft-page": "Non-Fungible Tokens (NFTs)", + "yes": "Ja" } diff --git a/src/intl/de/page-index.json b/src/intl/de/page-index.json index 65dcd821218..5f4218d274c 100644 --- a/src/intl/de/page-index.json +++ b/src/intl/de/page-index.json @@ -1,10 +1,10 @@ { - "page-index-hero-image-alt": "Eine Illustration einer futuristischen Stadt, die das Ethereum Ökosystem repräsentiert.", - "page-index-meta-description": "Ethereum ist eine globale, dezentrale Plattform für Geld und neue Anwendungsmöglichkeiten. Auf Ethereum kannst du Code schreiben, der Geld kontrolliert, und Anwendungen erstellen, die überall auf der Welt zugänglich sind.", + "page-index-hero-image-alt": "Eine Illustration einer futuristischen Stadt, die das Ethereum Ökosystem darstellt.", + "page-index-meta-description": "Ethereum ist eine globale, dezentrale Plattform für Geld- und neue Arten von Anwendungen. Auf Ethereum können Sie Code zur Steuerung von Geld schreiben und Anwendungen erstellen, die weltweit zugänglich sind.", "page-index-meta-title": "Startseite", "page-index-title": "Willkommen bei Ethereum", - "page-index-description": "Ethereum ist ein gemeinschaftlich betriebenes technisches Verfahren, welches die Kryptowährung Ether (ETH) sowie tausende andere Anwendungen voranbringt.", - "page-index-title-button": "Entdecke Ethereum", + "page-index-description": "Ethereum ist eine gemeinschaftlich betriebene Technologie, die die Kryptowährung Ether (ETH) sowie tausende andere Anwendungen voranbringt.", + "page-index-title-button": "Ethereum entdecken", "page-index-get-started": "Erste Schritte", "page-index-get-started-description": "ethereum.org ist dein Tor zur Ethereum-Welt. Die Technologie ist neu und sie entwickelt sich ständig weiter – einen Leitfaden zu haben hilft. Hier leiten wir dich an, wie Du darin eintauchen kannst.", "page-index-get-started-image-alt": "Darstellung einer Person, die am Computer arbeitet.", @@ -58,11 +58,11 @@ "page-index-network-stats-nodes-explainer": "Ethereum wird von Tausenden von Freiwilligen rund um den Globus betrieben, bekannt als Nodes.", "page-index-touts-header": "Entdecke ethereum.org", "page-index-contribution-banner-title": "Zu ethereum.org beitragen", - "page-index-contribution-banner-description": "Dies ist eine Open-Source-Website mit hunderten Beitragenden aus der Community. Du kannst Änderungen zu allen Inhalten der Website oder fantastische neue Funktionen vorschlagen oder uns dabei helfen, Fehler zu beseitigen.", + "page-index-contribution-banner-description": "Dies ist eine Open-Source-Website mit hunderten Mitwirkenden aus der Community. Du kannst Änderungen zu allen Inhalten der Website oder fantastische neue Funktionen vorschlagen oder uns dabei helfen, Fehler zu beseitigen.", "page-index-contribution-banner-image-alt": "Ein Ethereum-Logo aus Legosteinen.", - "page-index-contribution-banner-button": "Mehr zum Beitragen", + "page-index-contribution-banner-button": "Mehr zum Mitwirken", "page-index-tout-upgrades-title": "Erweitern Sie ihr Wissen", - "page-index-tout-upgrades-description": "Ethereum besteht aus miteinander verbundenen Erweiterungen, die das Netzwerk skalierbarer, sicherer und nachhaltiger machen sollen.", + "page-index-tout-upgrades-description": "Die Ethereum-Roadmap besteht aus miteinander verknüpften Upgrades, die das Netzwerk skalierbarer, sicherer und nachhaltiger machen sollen.", "page-index-tout-upgrades-image-alt": "Die Illustration eines Raumschiffs, welches die Leistungssteigerungen der Ethereum Upgrades darstellt.", "page-index-tout-enterprise-title": "Ethereum für Unternehmen", "page-index-tout-enterprise-description": "Erfahre, wie Ethereum neue Unternehmensmodelle erschaffen, die Ausgaben senken und das Unternehmen zukunftssicher machen kann.", From 40ec9f1f75636f8a25be299b3a5b9bcc9be22985 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 16:27:28 -0700 Subject: [PATCH 106/167] es homepage import from crowdin --- src/intl/es/common.json | 115 +++++++++++++++++++++--------------- src/intl/es/page-index.json | 66 ++++++++++----------- 2 files changed, 102 insertions(+), 79 deletions(-) diff --git a/src/intl/es/common.json b/src/intl/es/common.json index 36dada36f18..17a4f48001e 100644 --- a/src/intl/es/common.json +++ b/src/intl/es/common.json @@ -10,11 +10,12 @@ "aria-toggle-menu-button": "Cambiar botón de menú", "zen-mode": "Modo Zen", "back-to-top": "Volver arriba", - "banner-page-incomplete": "Esta página está incompleta y nos encantaría tu ayuda. Edita esta página y añade cualquier cosa que creas que pueda ser útil para otros.", - "beacon-chain": "Cadena de Baliza", + "banner-page-incomplete": "Esta página está incompleta y nos encantaría que nos ayudara a acabarla: edítela añadiendo cualquier cosa que crea que pueda sernos de utilidad.", + "beacon-chain": "Cadena de baliza", "binance-logo": "Logo de Binance", "bittrex-logo": "Logo de Bittrex", "brand-assets": "Activos de marca", + "bridges": "Puentes de cadena de bloques", "bug-bounty": "Recompensa de error", "coinbase-logo": "Logo de Coinbase", "coinmama-logo": "Logo de Coinmama", @@ -25,7 +26,7 @@ "cons": "Desventajas", "contact": "Contacto", "content-versions": "Versiones de contenido", - "contributing": "Contribuyendo", + "contributing": "Cómo contribuir", "contributors": "Colaboradores", "contributors-thanks": "A todos los que han contribuido a esta página, ¡gracias!", "cookie-policy": "Política de cookies", @@ -43,31 +44,31 @@ "dydx-logo": "Logo de Dydx", "ecosystem": "Ecosistema", "edit-page": "Editar página", - "ef-blog": "Blog de la Fundación Ethereum", + "ef-blog": "Blog de Ethereum Foundation", "eips": "Propuestas de mejora de Ethereum", "energy-consumption": "Consumo energético de Ethereum", "enterprise": "Empresa", - "enterprise-menu": "Menú Empresa", + "enterprise-menu": "Menú para empresa", "esp": "Programa de soporte del ecosistema", "eth-current-price": "Precio de ETH actual (USD)", "consensus-beaconcha-in-desc": "Explorador de la cadena de baliza de código abierto", "consensus-beaconscan-desc": "Explorador de la cadena de baliza - Etherscan para la capa de consenso", "consensus-become-staker": "Conviértase en un participante", - "consensus-become-staker-desc": "El «staking» ya es una realidad. Si quiere hacer «staking» (apuestas) con sus ETH para ayudar a hacer segura la red, asegúrese de que es consciente de los riesgos.", + "consensus-become-staker-desc": "El «staking» (o apuestas) ya es una realidad. Si quiere hacer apuestas con sus ETH para ayudar a hacer segura la red, asegúrese de que es consciente de los riesgos.", "consensus-explore": "Explorar los datos", "consensus-run-beacon-chain": "Ejecutar un cliente de consenso", "consensus-run-beacon-chain-desc": "Ethereum necesita tantos clientes participando como sea posible. ¡Ayude con este bien público de Ethereum!", "consensus-when-shipping": "¿Cuándo se lanza?", "eth-upgrade-what-happened": "¿Qué sucedió con «Eth2»?", - "eth-upgrade-what-happened-description": "El término «Eth2» ha quedado obsoleto a medida que nos acercamos a la fusión. La «capa de consenso» encapsula lo que en el pasado era más conocido como «Eth2».", + "eth-upgrade-what-happened-description": "El término «Eth2» ha quedado obsoleto a medida que nos acercamos a la fusión. La «capa de consenso» engloba lo que en el pasado era más conocido como «Eth2».", "ethereum": "Ethereum", - "ethereum-upgrades": "Mejoras de Ethereum", + "ethereum-upgrades": "Actualizaciones de Ethereum", "ethereum-brand-assets": "Activos de marca de Ethereum", "ethereum-community": "Comunidad Ethereum", "ethereum-online": "Comunidades en línea", "ethereum-events": "Eventos de Ethereum", - "ethereum-foundation": "Fundación Ethereum", - "ethereum-foundation-logo": "Logo de la Fundación Ethereum", + "ethereum-foundation": "Ethereum Foundation", + "ethereum-foundation-logo": "Logo de Ethereum Foundation", "ethereum-glossary": "Glosario de Ethereum", "ethereum-governance": "Gobernanza de Ethereum", "ethereum-logo": "Logo de Ethereum", @@ -78,16 +79,19 @@ "ethereum-whitepaper": "Informe de Ethereum", "events": "Eventos", "example-projects": "Proyectos de ejemplo", + "feedback-prompt": "¿Ha respondido esta página a su pregunta?", + "feedback-title-helpful": "¡Gracias por su comentario!", + "feedback-title-not-helpful": "Únase a nuestra comunidad pública en Discord y encontrará la solución que busca.", "find-wallet": "Encontrar cartera", "foundation": "Fundación", "gemini-logo": "Logo de Gemini", "get-eth": "Conseguir ETH", - "get-involved": "Involucrarse", + "get-involved": "Participar", "get-started": "Comenzar", "gitcoin-logo": "Logo de Gitcoin", "glossary": "Glosario", "governance": "Gobernanza", - "grants": "Subsidios", + "grants": "Subvenciones", "grant-programs": "Programas para subvenciones del ecosistema", "guides-and-resources": "Guías y recursos para la comunidad", "history": "Historia", @@ -98,9 +102,10 @@ "in-this-section": "En esta sección", "individuals": "Usuarios", "individuals-menu": "Menú del usuario", - "jobs": "Empleos", + "jobs": "Empleo", "kraken-logo": "Logo de Kraken", "language-ar": "Árabe", + "language-az": "Azerbaiyano", "language-bg": "Búlgaro", "language-bn": "Bengalí", "language-ca": "Catalán", @@ -109,16 +114,18 @@ "language-el": "Griego", "language-en": "Inglés", "language-es": "Español", - "language-fa": "Farsi", + "language-fa": "Farsí", "language-fi": "Finlandés", "language-fr": "Francés", - "language-hi": "Hindú", + "language-gl": "Gallego", + "language-hi": "Hindi", "language-hr": "Croata", "language-hu": "Húngaro", "language-id": "Indonesio", "language-ig": "Igbo", "language-it": "Italiano", "language-ja": "Japonés", + "language-ka": "Georgiano", "language-ko": "Coreano", "language-lt": "Lituano", "language-ml": "Malabar", @@ -129,7 +136,7 @@ "language-pl": "Polaco", "language-pt": "Portugués", "language-pt-br": "Portugués (Brasil)", - "language-resources": "Recursos de lenguaje", + "language-resources": "Recursos lingüísticos", "language-ro": "Rumano", "language-ru": "Ruso", "language-se": "Sueco", @@ -147,36 +154,39 @@ "languages": "Idiomas", "last-24-hrs": "Últimas 24 horas", "last-edit": "Última edición", + "layer-2": "Capa 2", "learn": "Aprender", "learn-by-coding": "Aprender mediante codificación", "learn-menu": "Menú de aprendizaje", "learn-more": "Más información", "less": "Menos", "light-mode": "Claro", - "listing-policy-disclaimer": "Todos los productos enumerados en esta página no cuentan con aprobación oficial y se proporcionan únicamente con fines informativos. Si quieres añadir un producto o comentario sobre la política, plantea un asunto en GitHub.", - "listing-policy-raise-issue-link": "Plantear asunto", + "listing-policy-disclaimer": "Todos los productos enumerados en esta página no cuentan con aprobación oficial y se proporcionan únicamente con fines informativos. Si quiere añadir un producto o comentario sobre la política, cree una incidencia en GitHub.", + "listing-policy-raise-issue-link": "Crear una incidencia", "live-help": "Ayuda en directo", "live-help-menu": "Menú de ayuda en directo", "loading": "Cargando...", "loading-error": "Error al cargar.", - "loading-error-refresh": "Error. Actualiza la página.", + "loading-error-refresh": "Error. Actualice la página.", "logo": "logo", "loopring-logo": "Logo de Loopring", - "london-upgrade-banner": "La actualización Londres estará disponible en: ", - "london-upgrade-banner-released": "¡La actualización Londres ya está disponible!", "mainnet-ethereum": "Red principal de Ethereum", "makerdao-logo": "Logo de MakerDao", "matcha-logo": "Logo de Matcha", "medalla-data-challenge": "Reto de datos Medalla", - "merge": "Unir", + "merge": "Fusión", "more": "Más", "more-info": "Más información", "nav-beginners": "Principiantes", + "nav-developers": "Desarrolladores", + "nav-developers-docs": "Documentos para desarrolladores", + "nav-primary": "Principal", "next": "Siguiente", + "no": "No", "oasis-logo": "Logo de Oasis", "online": "En línea", "on-this-page": "En esta página", - "page-content": "Contenido de página", + "page-content": "Contenido de la página", "page-enterprise": "Empresa", "page-last-updated": "Última actualización de la página", "previous": "Anterior", @@ -184,55 +194,68 @@ "private-ethereum": "Red privada de Ethereum", "pros": "Ventajas", "read-more": "Más información", - "refresh": "Actualiza la página.", - "review-progress": "Revisar progreso", + "refresh": "Actualice la página.", + "return-home": "volver a la página principal", + "run-a-node": "Ejecutar un nodo", + "review-progress": "Revisar el progreso", + "rollup-component-website": "Sitio web", + "rollup-component-developer-docs": "Documentos para desarrolladores", + "rollup-component-technology-and-risk-summary": "Resumen de tecnología y riesgos", "search": "Buscar", - "search-box-blank-state-text": "¡Busca en otro sitio!", - "search-eth-address": "Esto parece una dirección de Ethereum. No proporcionamos datos específicos sobre las direcciones. Intenta buscarlo en un explorador de bloques como", - "search-no-results": "No hay resultados para tu búsqueda", + "search-box-blank-state-text": "¡Buscar en otro sitio!", + "search-eth-address": "Esto parece una dirección de Ethereum. No proporcionamos datos específicos sobre las direcciones. Intente buscarlo en un explorador de bloques como", + "search-no-results": "No hay resultados para su búsqueda", "security": "Seguridad", "see-contributors": "Ver colaboradores", "set-up-local-env": "Configurar entorno local", "shard-chains": "Cadenas de fragmentos", "show-all": "Mostrar todo", "show-less": "Mostrar menos", - "site-description": "Ethereum es una plataforma mundial descentralizada para dinero y nuevos tipos de aplicaciones. En Ethereum, puedes escribir código que controla el dinero y construir aplicaciones accesibles desde cualquier rincón del mundo.", + "site-description": "Ethereum es una plataforma mundial descentralizada para dinero y nuevos tipos de aplicaciones. En Ethereum, puede escribir un código que controla el dinero y construir aplicaciones accesibles desde cualquier rincón del mundo.", "site-title": "ethereum.org", "skip-to-main-content": "Ir al contenido principal", "smart-contracts": "Contratos inteligentes", - "stablecoins": "Stablecoins", - "staking": "Staking", - "staking-community-grants": "Apostar concesiones de comunidad", - "summary": "Sumario", + "stablecoins": "Monedas estables", + "staking": "Staking (apostar)", + "solo": "Apostar en conjunto", + "saas": "Staking como Servicio", + "pools": "Apostar en conjunto", + "staking-community-grants": "Apostar subvenciones de comunidad", + "academic-grants-round": "Serie de becas académicas", + "summary": "Resumen", "support": "Soporte", - "terms-of-use": "Términos de uso", + "terms-of-use": "Condiciones de uso", "transaction-fees": "¿Qué son las tarifas de transacción?", - "translation-banner-body-new": "Estás viendo esta página en inglés porque aún no la hemos traducido. Ayúdanos a traducir este contenido.", - "translation-banner-body-update": "Disponemos de una nueva versión de esta página, pero solo está en inglés por ahora. Ayúdanos a traducir la última versión.", - "translation-banner-button-join-translation-program": "Únete al programa de traducción", + "translation-banner-body-new": "Está viendo esta página en inglés porque aún no la hemos traducido. Ayúdenos a traducir este contenido.", + "translation-banner-body-update": "Disponemos de una nueva versión de esta página, pero solo está en inglés por ahora. Ayúdenos a traducir la última versión.", + "translation-banner-button-join-translation-program": "Únase al programa de traducción", "translation-banner-button-learn-more": "Más información", "translation-banner-button-see-english": "Ver en inglés", - "translation-banner-button-translate-page": "Traducir página", - "translation-banner-title-new": "Ayúdanos a traducir esta página.", - "translation-banner-title-update": "Ayúdanos a actualizar esta página.", + "translation-banner-button-translate-page": "Traducir la página", + "translation-banner-title-new": "Ayúdenos a traducir esta página.", + "translation-banner-title-update": "Ayúdenos a actualizar esta página.", "translation-program": "Programa de traducción", - "translation-progress": "Progreso de traducción", - "translation-banner-no-bugs-title": "¡No hay ningún error!", - "translation-banner-no-bugs-content": "No vamos a traducir esta página. Por ahora la hemos dejado en inglés a propósito.", - "translation-banner-no-bugs-dont-show-again": "No volver a mostrar", + "translation-progress": "Progreso de la traducción", + "translation-banner-no-bugs-title": "¡Aquí no hay ningún error!", + "translation-banner-no-bugs-content": "Esta página no se está traduciendo. Por ahora hemos dejado esta página en inglés.", + "translation-banner-no-bugs-dont-show-again": "No volver a mostrar.", + "try-using-search": "Utilice el buscador para encontrar lo que está buscando o", "tutorials": "Tutoriales", "uniswap-logo": "Logo de Uniswap", - "upgrades": "Mejoras", + "upgrades": "Actualizaciones", "use": "Usar", "use-ethereum": "Usar Ethereum", "use-ethereum-menu": "Usar menú de Ethereum", "vision": "Visión", "wallets": "Carteras", + "we-couldnt-find-that-page": "No hemos podido encontrar esa página.", + "web3": "¿Qué es Web 3.0?", "website-last-updated": "Última actualización del sitio web", "what-is-ether": "¿Qué es el ether (ETH)?", "what-is-ethereum": "¿Qué es Ethereum?", "whitepaper": "Informe", "defi-page": "Finanzas descentralizadas (DeFi)", "dao-page": "Organizaciones Autónomas Descentralizadas (DAO)", - "nft-page": "Tokens No Fungibles (NFT)" + "nft-page": "Tókenes no fungibles (NFT)", + "yes": "Sí" } diff --git a/src/intl/es/page-index.json b/src/intl/es/page-index.json index fcfbd1f02b9..0a3bfc953d1 100644 --- a/src/intl/es/page-index.json +++ b/src/intl/es/page-index.json @@ -1,77 +1,77 @@ { "page-index-hero-image-alt": "Una ilustración de una ciudad futurista, que representa el ecosistema Ethereum.", - "page-index-meta-description": "Ethereum es una plataforma mundial descentralizada para el dinero y nuevos tipos de aplicaciones. En Ethereum, puedes escribir código que controla el dinero y construir aplicaciones accesibles desde cualquier rincón del mundo.", + "page-index-meta-description": "Ethereum es una plataforma mundial descentralizada para el dinero y nuevos tipos de aplicaciones. En Ethereum, puede escribir un código que controla el dinero y construir aplicaciones accesibles desde cualquier rincón del mundo.", "page-index-meta-title": "Inicio", "page-index-title": "Bienvenido a Ethereum", "page-index-description": "Ethereum es la tecnología de gestión comunitaria que impulsa la criptomoneda ether (ETH) y miles de aplicaciones descentralizadas.", - "page-index-title-button": "Explora Ethereum", + "page-index-title-button": "Explorar Ethereum", "page-index-get-started": "Empezar", - "page-index-get-started-description": "ethereum.org es tu portal de entrada al mundo de Ethereum. Esta tecnología es disruptiva y está en constante evolución, por lo que tener una guía ayuda. Estas son nuestras recomendaciones para adentrarte en este mundo.", + "page-index-get-started-description": "ethereum.org es tu portal de entrada al mundo de Ethereum. Esta tecnología es disruptiva y está en constante evolución; tener un guía ayuda. Estas son nuestras recomendaciones para adentrarse en este mundo.", "page-index-get-started-image-alt": "Ilustración de una persona trabajando en un ordenador.", - "page-index-get-started-wallet-title": "Selecciona una cartera", - "page-index-get-started-wallet-description": "Una cartera permite que te conectes a Ethereum y administres tus fondos.", + "page-index-get-started-wallet-title": "Seleccionar una cartera", + "page-index-get-started-wallet-description": "Una cartera permite que se conecte a Ethereum y administre sus fondos.", "page-index-get-started-wallet-image-alt": "Ilustración de un robot con una caja fuerte como cuerpo, que representa una cartera de Ethereum.", - "page-index-get-started-eth-title": "Consigue ETH", - "page-index-get-started-eth-description": "ETH es la moneda de Ethereum y puedes usarla en aplicaciones.", + "page-index-get-started-eth-title": "Conseguir ETH", + "page-index-get-started-eth-description": "ETH es la moneda de Ethereum y puede usarla en aplicaciones.", "page-index-get-started-eth-image-alt": "Imagen de un grupo de personas maravilladas ante un glifo de ether (ETH).", - "page-index-get-started-dapps-title": "Usa una dapp", - "page-index-get-started-dapps-description": "Las Dapps son aplicaciones impulsadas por Ethereum. Echa un vistazo a lo que puedes hacer.", + "page-index-get-started-dapps-title": "Utilizar una dapp", + "page-index-get-started-dapps-description": "Las Dapps son aplicaciones impulsadas por Ethereum. Eche un vistazo a lo que puede hacer.", "page-index-get-started-dapps-image-alt": "Ilustración de un doge utilizando un ordenador.", - "page-index-get-started-devs-title": "Empieza a crear", - "page-index-get-started-devs-description": "Si quieres comenzar a programar con Ethereum, tenemos documentación, tutoriales y más en nuestro portal de desarrolladores.", + "page-index-get-started-devs-title": "Empezar a crear", + "page-index-get-started-devs-description": "Si quiere comenzar a programar con Ethereum, tenemos documentación, tutoriales y más en nuestro portal de desarrolladores.", "page-index-get-started-devs-image-alt": "Una Ilustración de una mano creando un logo de ETH hecho con bloques de LEGO.", "page-index-what-is-ethereum": "¿Qué es Ethereum?", - "page-index-what-is-ethereum-description": "Ethereum es una tecnología que alberga dinero digital, pagos globales y aplicaciones. La comunidad ha construido una próspera economía digital, nuevas formas audaces para que los creadores ganen en línea y mucho más. Está abierto a todos, donde sea que estés en el mundo; todo lo que necesitas es Internet.", + "page-index-what-is-ethereum-description": "Ethereum es una tecnología que alberga dinero digital, pagos globales y aplicaciones. La comunidad ha construido una próspera economía digital, nuevas formas audaces para que los creadores ganen en línea y mucho más. Está abierto a todos, al margen del lugar donde estén; lo único que se necesita es tener internet.", "page-index-what-is-ethereum-button": "¿Qué es Ethereum?", "page-index-what-is-ethereum-secondary-button": "Más sobre dinero digital", "page-index-what-is-ethereum-image-alt": "Ilustración de una persona mirando en un bazar, que pretende representar a Ethereum.", "page-index-defi": "Un sistema financiero más justo", - "page-index-defi-description": "Hoy, miles de millones de personas no pueden abrir cuentas bancarias, otras tienen sus pagos bloqueados. El sistema descentralizado de finanzas (DeFi) de Ethereum nunca duerme o discrimina. Solo con una conexión a internet, puedes enviar, recibir, tomar prestado, ganar intereses, e incluso transferir fondos a cualquier parte del mundo.", - "page-index-defi-button": "Explora el DeFi", + "page-index-defi-description": "Hoy, miles de millones de personas no pueden abrir cuentas bancarias, otras tienen sus pagos bloqueados. El sistema descentralizado de finanzas (DeFi) de Ethereum nunca duerme o discrimina. Solo con una conexión a internet, puede enviar, recibir, tomar prestado, ganar intereses, e incluso transferir fondos a cualquier parte del mundo.", + "page-index-defi-button": "Explorar DeFi", "page-index-defi-image-alt": "Ilustración de unas manos ofreciendo un símbolo de ETH.", "page-index-internet": "Un internet abierto", - "page-index-internet-description": "Hoy en día obtenemos acceso a servicios de internet \"gratuitos\" a cambio de renunciar al control de nuestra información personal. Los servicios de Ethereum están abiertos por defecto; solo necesitas una cartera. Estas son gratuitas y fáciles de configurar, controladas por ti y funcionan sin ninguna información personal.", - "page-index-internet-button": "Explora el internet abierto", + "page-index-internet-description": "Hoy en día obtenemos acceso a servicios de internet «gratuitos» a cambio de renunciar al control de nuestra información personal. Los servicios de Ethereum están abiertos por defecto; solo necesita una cartera. Estas son gratuitas y fáciles de configurar, controladas por usted y funcionan sin ninguna información personal.", + "page-index-internet-button": "Explorar el internet abierto", "page-index-internet-secondary-button": "Más sobre carteras", "page-index-internet-image-alt": "Ilustración de un ordenador futurista, propulsado por cristales de Ethereum.", "page-index-developers": "Una nueva frontera para el desarrollo", - "page-index-developers-description": "Ethereum y sus aplicaciones son transparentes y de código abierto. Puedes bifurcar el código y reutilizar la funcionalidad que otros hayan creado previamente. Si no quieres aprender un nuevo lenguaje, simplemente puedes interactuar con código de fuente abierta usando JavaScript y otros lenguajes existentes.", + "page-index-developers-description": "Ethereum y sus aplicaciones son transparentes y de código abierto. Puede bifurcar el código y reutilizar la funcionalidad que otros hayan creado previamente. Si no quiere aprender un nuevo lenguaje, simplemente puede interactuar con código de fuente abierta usando JavaScript y otros lenguajes existentes.", "page-index-developers-button": "Portal para desarrolladores", "page-index-developers-code-examples": "Ejemplos de código", - "page-index-developers-code-example-title-0": "Tu propio banco", - "page-index-developers-code-example-description-0": "Puedes construir un banco gestionado por la lógica que hayas programado.", - "page-index-developers-code-example-title-1": "Tu propia moneda", - "page-index-developers-code-example-description-1": "Puedes crear tokens que puedes transferir y usar entre aplicaciones.", + "page-index-developers-code-example-title-0": "Su propio banco", + "page-index-developers-code-example-description-0": "Puede construir un banco gestionado por la lógica que haya programado.", + "page-index-developers-code-example-title-1": "Su propia moneda", + "page-index-developers-code-example-description-1": "Puede crear tókenes para transferir y usar entre aplicaciones.", "page-index-developers-code-example-title-2": "Una cartera Ethereum en JavaScript", - "page-index-developers-code-example-description-2": "Puedes utilizar lenguajes existentes para interactuar con Ethereum y otras aplicaciones.", + "page-index-developers-code-example-description-2": "Puede utilizar lenguajes existentes para interactuar con Ethereum y otras aplicaciones.", "page-index-developers-code-example-title-3": "Un DNS abierto y sin permisos", - "page-index-developers-code-example-description-3": "Puedes reimaginar servicios ya existentes como aplicaciones abiertas descentralizadas.", + "page-index-developers-code-example-description-3": "Puede replantear servicios ya existentes como aplicaciones abiertas descentralizadas.", "page-index-network-stats-title": "Ethereum hoy", "page-index-network-stats-subtitle": "Las estadísticas más recientes de la red", "page-index-network-stats-eth-price-description": "Precio del ETH (USD)", - "page-index-network-stats-eth-price-explainer": "El precio más reciente para 1 ether. Puedes comprar tan solo 0.000000000000000001, no necesitas comprar 1 ETH.", + "page-index-network-stats-eth-price-explainer": "El precio más reciente para 1 ether. Puede comprar tan solo 0,00000000000000001; no necesita comprar 1 ETH.", "page-index-network-stats-tx-day-description": "Transacciones de hoy", "page-index-network-stats-tx-day-explainer": "El número de transacciones procesadas con éxito en la red durante las últimas 24 horas.", "page-index-network-stats-value-defi-description": "Valor bloqueado en DeFi (USD)", "page-index-network-stats-value-defi-explainer": "La cantidad de dinero en aplicaciones de finanzas descentralizadas (DeFi), la economía digital Ethereum.", "page-index-network-stats-nodes-description": "Nodos", "page-index-network-stats-nodes-explainer": "Ethereum es administrado por miles de voluntarios alrededor del mundo, conocidos como nodos.", - "page-index-touts-header": "Explora ethereum.org", + "page-index-touts-header": "Explorar ethereum.org", "page-index-contribution-banner-title": "Contribuir a ethereum.org", - "page-index-contribution-banner-description": "Este sitio web es de código abierto con cientos de colaboradores de la comunidad. Puedes proponer cambios a cualquiera de los contenidos de este sitio, sugerir nuevas características increíbles o ayudarnos a eliminar errores.", + "page-index-contribution-banner-description": "Este sitio web es de código abierto con cientos de colaboradores de la comunidad. Puede proponer cambios a cualquiera de los contenidos de este sitio, sugerir nuevas características increíbles o ayudarnos a eliminar errores.", "page-index-contribution-banner-image-alt": "Logo de Ethereum hecho de ladrillos lego.", - "page-index-contribution-banner-button": "Más sobre contribuir", - "page-index-tout-upgrades-title": "Mejore sus conocimientos sobre las mejoras", - "page-index-tout-upgrades-description": "Ethereum consiste de actualizaciones interconectadas diseñadas para hacer que la red sea mas escalable, segura y sostenible.", - "page-index-tout-upgrades-image-alt": "Ilustración de una nave espacial que representa el aumento de la potencia después de las mejoras de Ethereum.", + "page-index-contribution-banner-button": "Más información sobre cómo contribuir", + "page-index-tout-upgrades-title": "Mejore sus conocimientos sobre las actualizaciones", + "page-index-tout-upgrades-description": "El mapa de ruta de Ethereum consiste en actualizaciones interconectadas diseñadas para hacer la red más escalable, segura y sostenible.", + "page-index-tout-upgrades-image-alt": "Ilustración de una nave espacial que representa el aumento de la potencia después de las actualizaciones de Ethereum.", "page-index-tout-enterprise-title": "Ethereum para empresas", - "page-index-tout-enterprise-description": "Descubre cómo Ethereum puede abrir nuevos modelos de negocio, reducir tus costes y preparar tu negocio para el futuro.", + "page-index-tout-enterprise-description": "Descubra cómo Ethereum puede abrir nuevos modelos de negocio, reducir sus costes y preparar su negocio para el futuro.", "page-index-tout-enterprise-image-alt": "Ilustración de un ordenador/dispositivo futurista.", "page-index-tout-community-title": "La comunidad de Ethereum", - "page-index-tout-community-description": "Ethereum es toda una comunidad. Está compuesta por personas de diferentes orígenes e intereses. Mira cómo puedes unirte.", + "page-index-tout-community-description": "Ethereum es toda una comunidad. Está compuesta por personas de diferentes orígenes e intereses. Descubra cómo puede unirse.", "page-index-tout-community-image-alt": "Ilustración de un grupo de constructores trabajando juntos.", "page-index-nft": "El internet de activos", - "page-index-nft-description": "Ethereum no es solo para dinero digital. Cualquier cosa que puedas tener en tu posesión puede ser representada, comercializada y utilizada como token no fungible (NFT). Puedes tokenizar tu arte y obtener comisiones automáticamente cada vez que vuelve a ser vendido. O utilizar un token de algo que posees para pedir un préstamo. Las posibilidades crecen continuamente.", + "page-index-nft-description": "Ethereum no es solo para dinero digital. Cualquier cosa que posea puede representarse, comercializarse y utilizarse como token no fungible (NFT). Puede tokenizar su arte y obtener comisiones automáticamente cada vez que vuelva a venderse. O utilizar un token de algo que posea para pedir un préstamo. Las posibilidades crecen continuamente.", "page-index-nft-button": "Más sobre NFT", "page-index-nft-alt": "Un logotipo Eth que se muestra vía holograma." } From c1d0e4db1da647c6395aeb72d50be7d06c07eddf Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 16:27:36 -0700 Subject: [PATCH 107/167] hi homepage import from crowdin --- src/intl/hi/common.json | 80 +++++++++++++++++++++++++++++-------- src/intl/hi/page-index.json | 14 +++---- 2 files changed, 70 insertions(+), 24 deletions(-) diff --git a/src/intl/hi/common.json b/src/intl/hi/common.json index f34a7019c8a..e336f9b39da 100644 --- a/src/intl/hi/common.json +++ b/src/intl/hi/common.json @@ -1,22 +1,26 @@ { "1inch-logo": "1inch लोगो", "aave-logo": "Aave लोगो", + "acknowledgements": "पावतियाँ", "about": "परिचय", "about-ethereum-org": "ethereum.org के बारे में", "about-us": "हमारे बारे में", "alt-eth-blocks": "ETH प्रतीक की तरह व्यवस्थित किए जा रहे ब्लॉकों का चित्रण", "aria-toggle-search-button": "खोज बटन टॉगल करें", "aria-toggle-menu-button": "मेनू बटन टॉगल करें", + "zen-mode": "ज़ेन मोड", "back-to-top": "वापस शीर्ष पर", "banner-page-incomplete": "यह पेज अपूर्ण है और हमें आपकी मदद पाने में खुशी होगी। यह पेज संपादित करें और ऐसी कोई भी चीज़ जोड़ें, जो आपको लगता हो कि दूसरों के लिए उपयोगी हो सकती है।", "beacon-chain": "बीकन चेन", "binance-logo": "Binance लोगो", "bittrex-logo": "Bittrex लोगो", "brand-assets": "ब्रांड की संपत्ति", + "bridges": "ब्लॉकचेन ब्रिज", "bug-bounty": "बग बाउंटी", "coinbase-logo": "Coinbase लोगो", "coinmama-logo": "Coinmama लोगो", "community": "कम्युनिटी", + "community-hub": "सामुदायिक फ़ोरम", "community-menu": "कम्युनिटी मेनू", "compound-logo": "कंपाउंड लोगो", "cons": "विपक्ष", @@ -33,7 +37,6 @@ "decentralized-applications-dapps": "विकेंद्रीकृत अनुप्रयोग (dapps)", "deposit-contract": "जमा अनुबंध", "devcon": "डेवकॉन", - "developer-resources": "डेवलपर संसाधन", "developers": "डेवलपर", "developers-home": "डेवलपर के लिए मुखपृष्ठ", "docs": "डॉक्स", @@ -43,32 +46,42 @@ "edit-page": "पृष्ठ संपादित करें", "ef-blog": "Ethereum फाउंडेशन ब्लॉग", "eips": "Ethereum सुधार प्रस्ताव", + "energy-consumption": "एथेरियम की ऊर्जा खपत", "enterprise": "एंटरप्राइज़", "enterprise-menu": "एंटरप्राइज़ मेनू", "esp": "इकोसिस्टम सहायता कार्यक्रम", "eth-current-price": "वर्तमान ETH मूल्य (USD)", - "consensus-beaconcha-in-desc": "ओपन सोर्स Eth2 बीकन चेन एक्सप्लोरर", - "consensus-beaconscan-desc": "Eth2 बीकन चेन एक्सप्लोरर - Eth2 के लिए इथरस्कैन", - "consensus-become-staker": "एक स्टेकर बनें", - "consensus-become-staker-desc": "स्टेकिंग लाइव है! यदि आप नेटवर्क को सुरक्षित रखने में मदद के लिए अपना ETH दांव पर लगाना चाहते हैं, तो सुनिश्चित करें कि आप जोखिमों से अवगत हैं।", - "consensus-explore": "डेटा एक्सप्लोर करें", - "consensus-run-beacon-chain": "एक बीकन क्लाइंट चलाएं", - "consensus-run-beacon-chain-desc": "Ethereum को यथासंभव अधिक क्लाइंट चलाने की आवश्यकता होती है। इस सार्वजनिक हित के लिए इस Ethereum के साथ मदद करें!", + "consensus-beaconcha-in-desc": "ओपन सोर्स बीकन चेन एक्सप्लोरर", + "consensus-beaconscan-desc": "बीकन चेन एक्सप्लोरर - सहमति परत का इथरस्कैन", + "consensus-become-staker": "स्टेकर बनें", + "consensus-become-staker-desc": "स्टेकिंग चालू है! यदि आप नेटवर्क को सुरक्षित रखने में मदद के लिए अपने ETH पर स्टेक लगाना चाहते हैं, तो सुनिश्चित करें कि आप जोखिमों से अवगत हैं।", + "consensus-explore": "डेटा का अन्वेषण करें", + "consensus-run-beacon-chain": "सहमति ग्राहक चलाएँ", + "consensus-run-beacon-chain-desc": "एथेरियम को ज़्यादा से ज़्यादा क्लाइंट चलाने की ज़रूरत होती है। इस एथेरियम सार्वजनिक हित में मदद करें!", "consensus-when-shipping": "यह कब शिप हो रहा है?", + "eth-upgrade-what-happened": "'Eth2' का क्या हुआ?", + "eth-upgrade-what-happened-description": "जैसे-जैसे हम मर्ज के करीब पहुँच रहे हैं, 'Eth2' शब्द का उपयोग बंद किया जा रहा है। 'सहमति परत' में वह चीज़ शामिल है, जिसे पहले 'Eth2' के नाम से जाना जाता था।", "ethereum": "Ethereum", - "ethereum-upgrades": "Ethereum 2.0", + "ethereum-upgrades": "एथेरियम के अपग्रेड", "ethereum-brand-assets": "इथेरियम ब्रांड संपत्ति", "ethereum-community": "Ethereum कम्युनिटी", + "ethereum-online": "ऑनलाइन समुदाय", + "ethereum-events": "एथेरियम इवेंट्स", "ethereum-foundation": "Ethereum फाउंडेशन", "ethereum-foundation-logo": "Ethereum फाउंडेशन लोगो", "ethereum-glossary": "Ethereum शब्दावली", "ethereum-governance": "Ethereum गवर्नेंस", "ethereum-logo": "Ethereum लोगो", "ethereum-security": "Ethereum सुरक्षा और धोखाधड़ी से रोकथाम", + "ethereum-support": "एथेरियम सपोर्ट", "ethereum-studio": "Ethereum स्टूडियो", "ethereum-wallets": "Ethereum वॉलेट", "ethereum-whitepaper": "Ethereum व्हाइटपेपर", + "events": "इवेंट्स", "example-projects": "उदाहरण परियोजनाएँ", + "feedback-prompt": "क्या इस पेज पर आपको अपने सवाल का जवाब मिला?", + "feedback-title-helpful": "आपकी प्रतिक्रिया के लिए धन्यवाद!", + "feedback-title-not-helpful": "हमारे सार्वजनिक Discord में शामिल हों और अपने सवाल का जवाब पाएँ।", "find-wallet": "वॉलेट खोजें", "foundation": "फाउंडेशन", "gemini-logo": "Gemini लोगो", @@ -92,6 +105,7 @@ "jobs": "जॉब", "kraken-logo": "Kraken लोगो", "language-ar": "अरबी", + "language-az": "अज़रबैजानी", "language-bg": "बुल्गेरियाई", "language-bn": "बंगाली", "language-ca": "कातालान", @@ -103,26 +117,34 @@ "language-fa": "फारसी", "language-fi": "फ़िनिश", "language-fr": "फ्रेंच", - "language-hu": "हंगेरियाई", - "language-hr": "क्रोएशियाई", + "language-gl": "गैलिशियन", "language-hi": "हिंदी", + "language-hr": "क्रोएशियाई", + "language-hu": "हंगेरियाई", "language-id": "इन्डोनेशियाई", "language-ig": "इग्बो", "language-it": "इटैलियन", "language-ja": "जापानी", + "language-ka": "जॉर्जियन", "language-ko": "कोरियाई", "language-lt": "लिथुआनियाई", "language-ml": "मलयालम", + "language-mr": "मराठी", + "language-ms": "मलय", "language-nb": "नॉर्वेजियाई", "language-nl": "डच", "language-pl": "पोलिश", "language-pt": "पुर्तगाली", "language-pt-br": "पुर्तगाली (ब्राजील)", + "language-resources": "भाषाओं से जुड़े संसाधन", "language-ro": "रोमानियाई", "language-ru": "रूसी", "language-se": "स्वीडिश", "language-sk": "स्लोवाक", "language-sl": "स्लोवेनियाई", + "language-sr": "सर्बियन", + "language-sw": "स्वाहिली", + "language-th": "थाई", "language-support": "भाषा समर्थन", "language-tr": "तुर्की", "language-uk": "यूक्रेनियाई", @@ -132,6 +154,7 @@ "languages": "भाषाएँ", "last-24-hrs": "पिछले 24 घंटे", "last-edit": "अंतिम संपादन", + "layer-2": "परत 2", "learn": "सीखें", "learn-by-coding": "कोडिंग द्वारा सीखें", "learn-menu": "सीखने का मेनू", @@ -147,17 +170,22 @@ "loading-error-refresh": "त्रुटि हुई, कृपया रीफ़्रेश करें।", "logo": "लोगो", "loopring-logo": "Loopring लोगो", - "london-upgrade-banner": "लंदन अपग्रेड इतनी देर में लाइव होगा: ", - "london-upgrade-banner-released": "लंदन अपग्रेड रिलीज़ हो गया है!", "mainnet-ethereum": "Ethereum का मुख्य नेटवर्क", "makerdao-logo": "MakerDao लोगो", "matcha-logo": "Matcha लोगो", + "medalla-data-challenge": "Medalla डेटा चुनौती", "merge": "मर्ज करें", "more": "अधिक", - "nav-beginners": "आरंभकर्ता", + "more-info": "अधिक जानकारी", + "nav-beginners": "नई शुरुआत", + "nav-developers": "डिवेलपर्स", + "nav-developers-docs": "डिवेलपर्स डॉक्यूमेंट", + "nav-primary": "प्राथमिक", "next": "अगला", + "no": "नहीं", "oasis-logo": "ओयसिस लोगो", - "on-this-page": "इस पृष्ठ पर", + "online": "ऑनलाइन", + "on-this-page": "इस पेज पर", "page-content": "पृष्ठ की सामग्री", "page-enterprise": "एंटरप्राइज़", "page-last-updated": "पृष्ठ अंतिम बार अपडेट किया गया", @@ -167,7 +195,12 @@ "pros": "पक्ष", "read-more": "और पढ़ें", "refresh": "कृपया पेज को रिफ्रेश करें।", + "return-home": "होम पेज पर लौटें", + "run-a-node": "नोड चलाएँ", "review-progress": "प्रगति की समीक्षा", + "rollup-component-website": "वेबसाइट", + "rollup-component-developer-docs": "डिवेलपर डॉक्यूमेंट", + "rollup-component-technology-and-risk-summary": "टेक्नोलॉजी और जोखिम का सारांश", "search": "खोजें", "search-box-blank-state-text": "खोज करें!", "search-eth-address": "यह Ethereum पते की तरह दिखता है। हम पते के लिए विशिष्ट डेटा प्रदान नहीं करते हैं। ब्लॉक एक्सप्लोरर पर खोज करने का प्रयास करें, जैसे", @@ -180,9 +213,17 @@ "show-less": "कम दिखाएँ", "site-description": "Ethereum पैसे और नए प्रकार के एप्लिकेशन के लिए एक वैश्विक और विकेन्द्रीकृत प्लेटफॉर्म है। Ethereum पर आप ऐसा कोड लिख सकते हैं, जो पैसे को नियंत्रित करता है और एप्लिकेशन का निर्माण कर सकते हैं जो दुनिया में कहीं भी उपलब्ध हो।", "site-title": "ethereum.org", + "skip-to-main-content": "मुख्य सामग्री पर जाएँ", + "smart-contracts": "स्मार्ट अनुबंध", "stablecoins": "स्टेबलकॉइन", "staking": "स्टेकिंग", + "solo": "Solo staking", + "saas": "Staking as a service", + "pools": "Pooled staking", + "staking-community-grants": "स्टेकिंग सामुदायिक अनुदान", + "academic-grants-round": "शैक्षणिक अनुदान का दौर", "summary": "सारांश", + "support": "सहायता", "terms-of-use": "उपयोग की शर्तें", "transaction-fees": "लेनदेन शुल्क क्या हैं?", "translation-banner-body-new": "आप इस पृष्ठ को अंग्रेज़ी में देख रहे हैं क्योंकि हमने अभी तक इसका अनुवाद नहीं किया है। इस सामग्री का अनुवाद करने में हमारी सहायता करें।", @@ -196,20 +237,25 @@ "translation-program": "अनुवाद कार्यक्रम", "translation-progress": "अनुवाद की प्रगति", "translation-banner-no-bugs-title": "इसमें कोई बग नहीं है!", - "translation-banner-no-bugs-content": "इस पेज का अनुवाद नहीं किया जा रहा है। हमने इसे अभी जानबूझकर अंग्रेज़ी में छोड़ा है।", + "translation-banner-no-bugs-content": "इस पेज का अनुवाद नहीं किया जा रहा है। हमने इस पेज को जानबूझकर अंग्रेज़ी में छोड़ा है।", "translation-banner-no-bugs-dont-show-again": "फिर से न दिखाएँ", + "try-using-search": "आप जो चीज़ ढूँढ रहे हैं, उसके लिए खोज का उपयोग करके देखें या", "tutorials": "ट्यूटोरियल", "uniswap-logo": "Uniswap लोगो", + "upgrades": "अपग्रेड", "use": "उपयोग", "use-ethereum": "Ethereum का प्रयोग करें", "use-ethereum-menu": "Ethereum मेनू का प्रयोग करें", "vision": "परिकल्पना", "wallets": "वॉलेट", + "we-couldnt-find-that-page": "हमें यह पेज नहीं मिल सका", + "web3": "Web3 क्या है?", "website-last-updated": "वेबसाइट अंतिम बार अपडेट की गई", "what-is-ether": "ईथर (ETH) क्या है?", "what-is-ethereum": "Ethereum क्या है?", "whitepaper": "व्हाइटपेपर", "defi-page": "विकेन्द्रीकृत वित्त (DeFi)", "dao-page": "विकेन्द्रीकृत स्वायत्त संगठन (DAO)", - "nft-page": "नॉन-फंजिबल टोकन (NFT)" + "nft-page": "नॉन-फंजिबल टोकन (NFT)", + "yes": "हाँ" } diff --git a/src/intl/hi/page-index.json b/src/intl/hi/page-index.json index e1768df38ca..5066f31fa59 100644 --- a/src/intl/hi/page-index.json +++ b/src/intl/hi/page-index.json @@ -2,7 +2,7 @@ "page-index-hero-image-alt": "भविष्य के शहर का चित्रण, जो Ethereum के इकोसिस्टम को दर्शाता है।", "page-index-meta-description": "Ethereum पैसे और नए प्रकार के एप्लिकेशन के लिए एक वैश्विक और विकेन्द्रीकृत प्लेटफॉर्म है। Ethereum पर आप ऐसा कोड लिख सकते हैं, जो पैसे को नियंत्रित करता है और एप्लिकेशन का निर्माण कर सकते हैं जो दुनिया में कहीं भी उपलब्ध हो।", "page-index-meta-title": "मुखपृष्ठ", - "page-index-title": "Ethereum में आपका स्वागत है", + "page-index-title": "इथेरियम में आपका स्वागत है", "page-index-description": "Ethereum कम्युनिटी द्वारा संचालित तकनीक है जो क्रिप्टोकरेंसी, ईथर (ETH) और हजारों विकेन्द्रीकृत एप्लिकेशन को शक्ति प्रदान करती है।", "page-index-title-button": "Ethereum को एक्सप्लोर करें", "page-index-get-started": "शुरू करें", @@ -20,9 +20,9 @@ "page-index-get-started-devs-title": "बनाना शुरू करें", "page-index-get-started-devs-description": "यदि आप Ethereum के साथ कोडिंग शुरू करना चाहते हैं, तो हमारे पास हमारे डेवलपर पोर्टल में प्रलेखन, ट्यूटोरियल और बहुत कुछ है।", "page-index-get-started-devs-image-alt": "लेगो ब्रिक्स से बना ETH लोगो बनाते हाथ का चित्रण।", - "page-index-what-is-ethereum": "Ethereum क्या है?", + "page-index-what-is-ethereum": "इथेरीयम क्या है?", "page-index-what-is-ethereum-description": "Ethereum एक ऐसी टेक्नोलॉजी है, जो डिजिटल धन, वैश्विक भुगतान और एप्लिकेशन मुहैया कराती है। इस कम्युनिटी ने तेज़ी से बढ़ती हुई डिजिटल इकोनॉमी को बनाया है और क्रिएटर्स को ऑनलाइन पैसे कमाने के बेहतरीन नए तरीके व अन्य कई चीज़ें उपलब्ध कराई हैं। यह सभी के लिए उपलब्ध है, चाहे आप दुनिया में कहीं भी हों – बस आपके पास इंटरनेट होना चाहिए।", - "page-index-what-is-ethereum-button": "Ethereum क्या है?", + "page-index-what-is-ethereum-button": "इथिरीयम क्या है?", "page-index-what-is-ethereum-secondary-button": "डिजिटल धन पर अधिक जानकारी", "page-index-what-is-ethereum-image-alt": "Ethereum को दर्शाने के लिए, बाज़ार में झाँकते एक व्यक्ति का चित्रण।", "page-index-defi": "एक बेहतर वित्तीय प्रणाली", @@ -37,7 +37,7 @@ "page-index-developers": "विकास का एक नया फ्रंटियर", "page-index-developers-description": "Ethereum और इसके ऐप पूरी तरह पारदर्शी और ओपन सोर्स हैं। आप कोड निकाल सकते हैं और दूसरों द्वारा पहले ही बनाई जा चुकी सुविधा का फिर से उपयोग कर सकते हैं। अगर आप नई भाषा नहीं सीखना चाहते, तो आप JavaScript और अन्य मौजूदा भाषाओं का उपयोग करके भी ओपन-सोर्स कोड की मदद से इंटरैक्ट कर सकते हैं।", "page-index-developers-button": "डेवलपर पोर्टल", - "page-index-developers-code-examples": "Code examples", + "page-index-developers-code-examples": "कोड के उदाहरण", "page-index-developers-code-example-title-0": "आपका अपना बैंक", "page-index-developers-code-example-description-0": "आप अपने द्वारा प्रोग्राम किए गए लॉजिक से चलने वाला बैंक बना सकते हैं।", "page-index-developers-code-example-title-1": "आपकी अपनी करेंसी", @@ -61,9 +61,9 @@ "page-index-contribution-banner-description": "यह वेबसाइट ओपन सोर्स है, जिसमें सैकड़ों कम्युनिटी योगदानकर्ता हैं। आप इस साइट पर मौजूद किसी भी सामग्री में संपादन के सुझाव दे सकते हैं, नए बेहतरीन फ़ीचर्स का सुझाव दे सकते हैं या बग हटाने में हमारी मदद कर सकते हैं।", "page-index-contribution-banner-image-alt": "लेगो ब्रिक्स से बना Ethereum का लोगो।", "page-index-contribution-banner-button": "योगदान करने के बारे में और जानकारी", - "page-index-tout-upgrades-title": "अपना Eth2 ज्ञान अपग्रेड करें", - "page-index-tout-upgrades-description": "Ethereum 2.0 आपस में जुड़े हुए अपग्रेड का एक ऐसा प्रोग्राम है, जिसे Ethereum को बड़े स्तर की, सुरक्षित और दीर्घकालिक बनाने के लिए डिज़ाइन किया गया है।", - "page-index-tout-upgrades-image-alt": "Eth2 की बढ़ी हुई शक्ति को प्रदर्शित करने वाले स्पेसशिप का चित्रण।", + "page-index-tout-upgrades-title": "अपग्रेड के बारे में और जानें", + "page-index-tout-upgrades-description": "The Ethereum roadmap consists of interconnected upgrades designed to make the network more scalable, secure, and sustainable.", + "page-index-tout-upgrades-image-alt": "एथेरियम अपग्रेड के बाद बढ़ी हुई शक्ति को दर्शाते एक अंतरिक्ष यान का चित्र।", "page-index-tout-enterprise-title": "एंटरप्राइज़ के लिए Ethereum", "page-index-tout-enterprise-description": "देखें कि कैसे Ethereum नए बिजनेस मॉडल खोल सकता है, आपकी लागत को कम कर सकता है और आपके बिजनेस के भविष्य को मज़बूत बना सकता है।", "page-index-tout-enterprise-image-alt": "भविष्य के कम्प्यूटर/डिवाइस का चित्रण।", From 366527378223dab9e2291dba73e63169ec4689a4 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 16:27:41 -0700 Subject: [PATCH 108/167] it homepage import from crowdin --- src/intl/it/common.json | 33 ++++++++++++++++++++++++++++----- src/intl/it/page-index.json | 10 +++++----- 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/src/intl/it/common.json b/src/intl/it/common.json index 69e01dcca8e..5b3f33264ed 100644 --- a/src/intl/it/common.json +++ b/src/intl/it/common.json @@ -15,6 +15,7 @@ "binance-logo": "Logo Binance", "bittrex-logo": "Logo Bittrex", "brand-assets": "Risorse del marchio", + "bridges": "Bridge della blockchain", "bug-bounty": "Bug bounty", "coinbase-logo": "Logo Coinbase", "coinmama-logo": "Logo di Coinmama", @@ -78,6 +79,9 @@ "ethereum-whitepaper": "Whitepaper Ethereum", "events": "Eventi", "example-projects": "Progetti di esempio", + "feedback-prompt": "Questa pagina ha aiutato a rispondere alla tua domanda?", + "feedback-title-helpful": "Grazie per il tuo feedback!", + "feedback-title-not-helpful": "Unisciti al nostro Discord pubblico e ottieni la risposta che stai cercando.", "find-wallet": "Trova portafoglio", "foundation": "Fondazione", "gemini-logo": "Logo Gemini", @@ -101,6 +105,7 @@ "jobs": "Opportunità di lavoro", "kraken-logo": "Logo Kraken", "language-ar": "Arabo", + "language-az": "Azero", "language-bg": "Bulgaro", "language-bn": "Bengali", "language-ca": "Catalano", @@ -112,6 +117,7 @@ "language-fa": "Farsi", "language-fi": "Finlandese", "language-fr": "Francese", + "language-gl": "Galiziano", "language-hi": "Hindi", "language-hr": "Croato", "language-hu": "Ungherese", @@ -119,6 +125,7 @@ "language-ig": "Igbo", "language-it": "Italiano", "language-ja": "Giapponese", + "language-ka": "Georgiano", "language-ko": "Coreano", "language-lt": "Lituano", "language-ml": "Malayalam", @@ -147,6 +154,7 @@ "languages": "Lingue", "last-24-hrs": "Ultime 24 ore", "last-edit": "Ultima modifica", + "layer-2": "Livello 2", "learn": "Informazioni", "learn-by-coding": "Impara scrivendo codice", "learn-menu": "Menu Informazioni", @@ -162,8 +170,6 @@ "loading-error-refresh": "Errore, si prega di aggiornare.", "logo": "logo", "loopring-logo": "Logo Loopring", - "london-upgrade-banner": "L'upgrade di Londra sarà disponibile tra: ", - "london-upgrade-banner-released": "L'upgrade di Londra è disponibile!", "mainnet-ethereum": "Rete principale Ethereum", "makerdao-logo": "Logo MakerDao", "matcha-logo": "Logo Matcha", @@ -172,7 +178,11 @@ "more": "Altro", "more-info": "Maggiori informazioni", "nav-beginners": "Principianti", + "nav-developers": "Sviluppatori", + "nav-developers-docs": "Documentazione per sviluppatori", + "nav-primary": "Principale", "next": "Avanti", + "no": "No", "oasis-logo": "Logo Oasis", "online": "Online", "on-this-page": "Su questa pagina", @@ -185,7 +195,12 @@ "pros": "Pro", "read-more": "Ulteriori contenuti", "refresh": "Ricarica la pagina.", + "return-home": "torna alla home", + "run-a-node": "Esegui un nodo", "review-progress": "Avanzamento revisione", + "rollup-component-website": "Sito Web", + "rollup-component-developer-docs": "Documentazione per sviluppatori", + "rollup-component-technology-and-risk-summary": "Riepilogo su tecnologia e rischi", "search": "Ricerca", "search-box-blank-state-text": "Pronti, partenza, cerca!", "search-eth-address": "Questo sembrerebbe un indirizzo Ethereum. Non forniamo dati specifici per gli indirizzi. Prova a cercarlo su un Block Explorer come", @@ -202,7 +217,11 @@ "smart-contracts": "Smart Contract", "stablecoins": "Stablecoin", "staking": "Staking", + "solo": "Staking in solo", + "saas": "Staking come servizio", + "pools": "Staking in pool", "staking-community-grants": "Sovvenzioni per la community di staking", + "academic-grants-round": "Borse di studio accademiche", "summary": "Riepilogo", "support": "Supporto", "terms-of-use": "Condizioni d'uso", @@ -217,9 +236,10 @@ "translation-banner-title-update": "Aiuta ad aggiornare questa pagina", "translation-program": "Programma di traduzione", "translation-progress": "Avanzamento traduzione", - "translation-banner-no-bugs-title": "Non ci sono bug qui.", - "translation-banner-no-bugs-content": "Questa pagina non è stata tradotta. Abbiamo intenzionalmente lasciato questa pagina in inglese. Per ora.", + "translation-banner-no-bugs-title": "Nessun bug qui!", + "translation-banner-no-bugs-content": "Questa pagina non è stata tradotta. Per il momento, è stata intenzionalmente lasciata in inglese.", "translation-banner-no-bugs-dont-show-again": "Non mostrare più", + "try-using-search": "Prova a usare la ricerca per trovare ciò che cerchi, o", "tutorials": "Tutorial", "uniswap-logo": "Logo Uniswap", "upgrades": "Aggiornamenti", @@ -228,11 +248,14 @@ "use-ethereum-menu": "Usa menu Ethereum", "vision": "Vision", "wallets": "Portafogli", + "we-couldnt-find-that-page": "Non siamo riusciti a trovare la pagina", + "web3": "Cos'è il Web3?", "website-last-updated": "Ultimo aggiornamento sito web", "what-is-ether": "Cos'è Ether (ETH)?", "what-is-ethereum": "Cos'è Ethereum?", "whitepaper": "Whitepaper", "defi-page": "Finanza decentralizzata (DeFi)", "dao-page": "Organizzazioni autonome decentralizzate (DAO)", - "nft-page": "Token non fungibili (NFT)" + "nft-page": "Token non fungibili (NFT)", + "yes": "Sì" } diff --git a/src/intl/it/page-index.json b/src/intl/it/page-index.json index e01124e8da6..78d6dc01dd4 100644 --- a/src/intl/it/page-index.json +++ b/src/intl/it/page-index.json @@ -1,12 +1,12 @@ { - "page-index-hero-image-alt": "Illustrazione di una città futuristica, che rappresenta l'ecosistema Ethereum.", - "page-index-meta-description": "Ethereum è una piattaforma globale e decentralizzata per denaro e nuovi tipi di applicazioni. Su Ethereum è possibile scrivere codici per controllare il denaro e creare applicazioni accessibili da ogni parte del mondo.", + "page-index-hero-image-alt": "Un'illustrazione di una città futuristica, rappresentante l'ecosistema di Ethereum.", + "page-index-meta-description": "Ethereum è una piattaforma globale e decentralizzata per denaro e nuovi tipi di applicazioni. Su Ethereum, puoi scrivere del codice che controlla il denaro e creare applicazioni accessibili da tutto il mondo.", "page-index-meta-title": "Home page", "page-index-title": "Ti diamo il benvenuto su Ethereum", "page-index-description": "Ethereum è la tecnologia gestita dalla community che alimenta la criptovaluta ether (ETH) e migliaia di applicazioni decentralizzate.", "page-index-title-button": "Esplora Ethereum", "page-index-get-started": "Primi passi", - "page-index-get-started-description": "ethereum.org è il tuo portale per accedere al mondo di Ethereum. Dato che la tecnologia è nuova e in continua evoluzione, avere una guida aiuta. Ecco cosa ti consigliamo di fare per muovere i primi passi.", + "page-index-get-started-description": "ethereum.org è il tuo portale sul mondo di Ethereum. La tecnologia è nuova e in continua evoluzione, avere una guida è d'aiuto. Ecco cosa ti consigliamo per entrare a farne parte.", "page-index-get-started-image-alt": "Illustrazione di una persona che lavora al computer.", "page-index-get-started-wallet-title": "Scegli un wallet", "page-index-get-started-wallet-description": "Con un wallet puoi connetterti a Ethereum e gestire i tuoi fondi.", @@ -62,7 +62,7 @@ "page-index-contribution-banner-image-alt": "Un logo Ethereum fatto di mattoncini Lego.", "page-index-contribution-banner-button": "Maggiori informazioni sul contributo", "page-index-tout-upgrades-title": "Aumenta il livello delle tue conoscenze sugli aggiornamenti", - "page-index-tout-upgrades-description": "Ethereum consiste in aggiornamenti interconnessi, pensati per rendere la rete più scalabile, sicura e sostenibile.", + "page-index-tout-upgrades-description": "La tabella di marcia di Ethereum consiste in aggiornamenti interconnessi, progettati per rendere la rete più scalabile, sicura e sostenibile.", "page-index-tout-upgrades-image-alt": "Illustrazione di un'astronave che rappresenta l'incremento di potenza successivo agli aggiornamenti di Ethereum.", "page-index-tout-enterprise-title": "Ethereum per le imprese", "page-index-tout-enterprise-description": "Scopri come Ethereum può aprire la strada a nuovi modelli di business, ridurre i costi e preparare la tua azienda per le sfide del futuro.", @@ -70,7 +70,7 @@ "page-index-tout-community-title": "La community Ethereum", "page-index-tout-community-description": "Ethereum è tutto incentrato sulla comunità. È composto da persone di diversa estrazione e interessi. Guarda come puoi partecipare.", "page-index-tout-community-image-alt": "Illustrazione di un gruppo di costruttori che lavorano insieme.", - "page-index-nft": "L'internet degli asset", + "page-index-nft": "L'Internet delle risorse", "page-index-nft-description": "Ethereum non si limita al denaro digitale. Qualunque bene o valore può essere rappresentato, scambiato e utilizzato sotto forma di token non fungibili (NFT). Puoi tokenizzare le tue opere d'arte e ottenere le royalty automaticamente ogni volta che vengono rivendute, oppure utilizzare un token connesso a qualcosa che possiedi per ottenere un prestito. Le possibilità sono in continua espansione.", "page-index-nft-button": "Maggiori informazioni sui NFT", "page-index-nft-alt": "Un logo Eth visualizzato tramite ologramma." From dea51e35d1c70398cc4e6da5a47f35f37fa5ccf6 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 16:27:45 -0700 Subject: [PATCH 109/167] ml homepage import from crowdin --- src/intl/ml/common.json | 78 +++++++++++++++++++++++++++++-------- src/intl/ml/page-index.json | 8 ++-- 2 files changed, 66 insertions(+), 20 deletions(-) diff --git a/src/intl/ml/common.json b/src/intl/ml/common.json index cf0470d0641..41c7df641d1 100644 --- a/src/intl/ml/common.json +++ b/src/intl/ml/common.json @@ -1,22 +1,26 @@ { "1inch-logo": "1 ഇഞ്ച് ലോഗോ", "aave-logo": "ആവേ ലോഗോ", + "acknowledgements": "അംഗീകാരങ്ങൾ", "about": "സംബന്ധിച്ച്", "about-ethereum-org": "Ethereum.org-നെ കുറിച്ച്", "about-us": "ഞങ്ങളെ കുറിച്ച്", "alt-eth-blocks": "ഒരു ETH ചിഹ്നം പോലെ ക്രമീകരിച്ചിരിക്കുന്ന ബ്ലോക്കുകളുടെ ചിത്രീകരണം", "aria-toggle-search-button": "തിരയൽ ബട്ടൺ ടോഗിൾ ചെയ്യുക", "aria-toggle-menu-button": "മെനു ബട്ടൺ ടോഗിൾ ചെയ്യുക", + "zen-mode": "സെൻ മോഡ്", "back-to-top": "മുകളിലേക്ക് മടങ്ങുക", "banner-page-incomplete": "ഈ പേജ് അപൂർണ്ണമാണ്, നിങ്ങളുടെ സഹായം ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. ഈ പേജ് എഡിറ്റ് ചെയ്ത് മറ്റുള്ളവർക്ക് ഉപകാരപ്രദമെന്ന് നിങ്ങൾ കരുതുന്ന എന്തും ചേർക്കുക.", "beacon-chain": "ബീക്കൺ ചെയിൻ", "binance-logo": "ബിനാൻസ് ലോഗോ", "bittrex-logo": "ബിട്രെക്സ് ലോഗോ", "brand-assets": "ബ്രാൻഡ് അസറ്റുകൾ", + "bridges": "ബ്ലോക്ക്‌ചെയിൻ ബ്രിഡ്‌ജുകൾ", "bug-bounty": "ബഗ് ബൗണ്ടി", "coinbase-logo": "കോയിൻബേസ് ലോഗോ", "coinmama-logo": "കോയിൻമാമ ലോഗോ", "community": "കമ്യൂണിറ്റി", + "community-hub": "കമ്മ്യൂണിറ്റി കേന്ദ്രം", "community-menu": "കമ്മ്യൂണിറ്റി മെനു", "compound-logo": "കോമ്പൗണ്ട് ലോഗോ", "cons": "കോൺസ്", @@ -33,7 +37,6 @@ "decentralized-applications-dapps": "വികേന്ദ്രീകൃത ആപ്ലിക്കേഷനുകൾ (ഡാപ്പുകൾ)", "deposit-contract": "നിക്ഷേപ കരാർ", "devcon": "ഡവ്കോൺ", - "developer-resources": "ഡവലപ്പർ റിസോഴ്സുകള്‍", "developers": "ഡെവലപ്പർമാർ", "developers-home": "ഡെവലപ്പേഴ്സ് ഹോം", "docs": "ഡോക്യുമെന്‍റുകൾ", @@ -43,32 +46,42 @@ "edit-page": "പേജ് എഡിറ്റുചെയ്യുക", "ef-blog": "Ethereum ഫൗണ്ടേഷന്‍ ബ്ലോഗ്‌", "eips": "Ethereum ഇംപ്രൂവ്മെന്‍റ് പ്രൊപ്പോസലുകള്‍", + "energy-consumption": "Ethereum ഊർജ്ജ ഉപഭോഗം", "enterprise": "എന്റർപ്രൈസ്", "enterprise-menu": "എന്റർപ്രൈസ് മെനു", "esp": "ഇക്കോസിസ്റ്റം സപ്പോർട്ട് പ്രോഗ്രാം", "eth-current-price": "നിലവിലെ ETH വില (USD)", - "consensus-beaconcha-in-desc": "ഓപ്പൺ സോഴ്‌സ് Eth2 ബീക്കൺ ചെയിൻ എക്‌സ്‌പ്ലോറർ", - "consensus-beaconscan-desc": "Eth2 ബീക്കൺ ചെയിൻ എക്‌സ്‌പ്ലോറർ - Eth2- നായുള്ള ഈതർസ്‌കാൻ", + "consensus-beaconcha-in-desc": "ഓപ്പൺ സോഴ്സ് ബീക്കൺ ചെയിൻ എക്സ്പ്ലോറർ", + "consensus-beaconscan-desc": "ബീക്കൺ ചെയിൻ എക്‌സ്‌പ്ലോറർ - പൊതുവരിക്കുള്ള Etherscan", "consensus-become-staker": "ഒരു സ്റ്റേക്കർ ആകുക", - "consensus-become-staker-desc": "സ്റ്റാക്കിംഗ് തത്സമയമാണ്! നെറ്റ്‌വർക്ക് സുരക്ഷിതമാക്കാൻ സഹായിക്കുന്നതിന് നിങ്ങളുടെ ETH സ്റ്റേക്ക് ചെയ്യാന്‍ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, അപകടസാധ്യതകളെക്കുറിച്ച് നിങ്ങൾക്ക് ബോധ്യമുണ്ടെന്ന് ഉറപ്പാക്കുക.", - "consensus-explore": "ഡാറ്റ പര്യവേക്ഷണം ചെയ്യുക", - "consensus-run-beacon-chain": "ഒരു ബീക്കൺ ക്ലയന്റ് പ്രവർത്തിപ്പിക്കുക", - "consensus-run-beacon-chain-desc": "Ethereum ന് കഴിയുന്നത്ര ക്ലയന്റുകൾ ആവശ്യമാണ്. ഈ Ethereum പൊതു നന്മയ്ക്കായി സഹായിക്കുക!", - "consensus-when-shipping": "എപ്പോഴാണ് ഷിപ്പിംഗ്?", + "consensus-become-staker-desc": "സ്റ്റെയ്ക്കിങ് തത്സമയമാണ്! നെറ്റ്‌വർക്ക് സുരക്ഷിതമാക്കാൻ സഹായിക്കുന്നതിന് നിങ്ങളുടെ ETH സ്റ്റേക്ക് ചെയ്യാന്‍ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, അപകടസാധ്യതകളെക്കുറിച്ച് നിങ്ങൾക്ക് ബോധ്യമുണ്ടെന്ന് ഉറപ്പാക്കുക.", + "consensus-explore": "ഡാറ്റ അടുത്തറിയുക", + "consensus-run-beacon-chain": "ഒരു പൊതു കക്ഷി റൺ ചെയ്യുക", + "consensus-run-beacon-chain-desc": "Ethereum-ന് കഴിയുന്നത്ര കക്ഷികൾ റൺ ചെയ്യേണ്ടത് ആവശ്യമാണ്. പൊതുനന്മയ്ക്കായി ഈ Ethereum-നെ സഹായിക്കൂ!", + "consensus-when-shipping": "ഇത് ഷിപ്പ് ചെയ്യുന്നത് എപ്പോഴാണ്?", + "eth-upgrade-what-happened": "'Eth2' എന്നതിന് എന്ത് സംഭവിച്ചു?", + "eth-upgrade-what-happened-description": "ദി മെർജിനെ സമീപിക്കുന്നതിനാൽ 'Eth2' എന്ന പദം ഒഴിവാക്കിയിരിക്കുന്നു. മുമ്പ് 'Eth2' എന്നറിയപ്പെട്ടിരുന്നതിനെ 'പൊതു വരി' എന്ന പദം ഉൾക്കൊള്ളുന്നു.", "ethereum": "Ethereum", - "ethereum-upgrades": "Ethereum 2.0", + "ethereum-upgrades": "Ethereum അപ്‌ഗ്രേഡുകൾ", "ethereum-brand-assets": "Ethereum ബ്രാന്‍ഡ് ആസ്തികള്‍", "ethereum-community": "Ethereum കമ്മ്യൂണിറ്റി", + "ethereum-online": "ഓൺലൈൻ കമ്മ്യൂണിറ്റികൾ", + "ethereum-events": "Ethereum ഇവെന്റ്സ്", "ethereum-foundation": "Ethereum ഫൗണ്ടേഷന്‍", "ethereum-foundation-logo": "Ethereum ഫൗണ്ടേഷന്‍ ലോഗോ", "ethereum-glossary": "Ethereum പദാവലി", "ethereum-governance": "Ethereum ഭരണനിർവഹണം", "ethereum-logo": "Ethereum ലോഗോ", "ethereum-security": "Ethereum സുരക്ഷ, അഴിമതി തടയൽ", + "ethereum-support": "Ethereum പിന്തുണ", "ethereum-studio": "Ethereum സ്റ്റുഡിയോ", "ethereum-wallets": "Ethereum വാലറ്റുകള്‍", "ethereum-whitepaper": "Ethereum ധവളപത്രം", + "events": "ഇവെന്റ്സ്", "example-projects": "ഉദാഹരണ പ്രോജക്റ്റുകൾ", + "feedback-prompt": "നിങ്ങളുടെ ചോദ്യത്തിന് ഉത്തരം നൽകാൻ ഈ പേജ് സഹായിച്ചോ?", + "feedback-title-helpful": "നിങ്ങളുടെ അഭിപ്രായത്തിന് നന്ദി!", + "feedback-title-not-helpful": "ഞങ്ങളുടെ പൊതു Discord-ൽ ചേരുകയും നിങ്ങൾ തിരയുന്ന ഉത്തരം നേടുകയും ചെയ്യുക.", "find-wallet": "വാലറ്റ് കണ്ടെത്തുക", "foundation": "ഫൗണ്ടേഷൻ", "gemini-logo": "ജെമിനി ലോഗോ", @@ -92,6 +105,7 @@ "jobs": "തൊഴിൽ", "kraken-logo": "ക്രാക്കൻ ലോഗോ", "language-ar": "അറബിക്", + "language-az": "അസർബൈജാനി", "language-bg": "ബൾഗേറിയൻ", "language-bn": "ബംഗാളി", "language-ca": "ക്യാറ്റലന്‍", @@ -103,26 +117,34 @@ "language-fa": "ഫാഴ്സി", "language-fi": "ഫിന്നിഷ്", "language-fr": "ഫ്രഞ്ച്", - "language-hu": "ഹംഗേറിയന്‍", - "language-hr": "ക്രോയേഷ്യന്‍", + "language-gl": "ഗലീഷ്യൻ", "language-hi": "ഹിന്ദി", + "language-hr": "ക്രോയേഷ്യന്‍", + "language-hu": "ഹംഗേറിയന്‍", "language-id": "ഇന്തോനേഷ്യൻ", "language-ig": "ഇഗ്ബോ", "language-it": "ഇറ്റാലിയന്‍", "language-ja": "ജാപ്പനീസ്", + "language-ka": "ജോർജിയൻ", "language-ko": "കൊറിയൻ", "language-lt": "ലിത്വാനിയന്‍", "language-ml": "മലയാളം", + "language-mr": "മറാത്തി", + "language-ms": "മലായ്", "language-nb": "നോര്‍വീജിയന്‍", "language-nl": "ഡച്ച്‌", "language-pl": "പോളിഷ്", "language-pt": "പോർച്ചുഗീസ്", "language-pt-br": "പോർച്ചുഗീസ് (ബ്രസീലിയൻ)", + "language-resources": "ഭാഷാ റിസോഴ്സുകൾ", "language-ro": "റൊമേനിയന്‍", "language-ru": "റഷ്യൻ", "language-se": "സ്വീഡിഷ്", "language-sk": "സ്ലോവാക്", "language-sl": "സ്ലൊവീനിയൻ", + "language-sr": "സെർബിയൻ", + "language-sw": "സ്വാഹിലി", + "language-th": "തായ്", "language-support": "ഭാഷാ പിന്തുണ", "language-tr": "ടർക്കിഷ്", "language-uk": "ഉക്രേനിയൻ", @@ -132,6 +154,7 @@ "languages": "ഭാഷകള്‍", "last-24-hrs": "അവസാന 24 മണിക്കൂർ", "last-edit": "അവസാന എഡിറ്റ്", + "layer-2": "വരി 2", "learn": "പഠിക്കൂ", "learn-by-coding": "കോഡിംഗ് ഉപയോഗിച്ച് പഠിക്കൂ", "learn-menu": "മെനു പഠിക്കൂ", @@ -147,16 +170,21 @@ "loading-error-refresh": "പിശക്, പുതുക്കുക.", "logo": "ലോഗോ", "loopring-logo": "ലൂപ്റിംഗ് ലോഗോ", - "london-upgrade-banner": "ലണ്ടൻ അപ്ഗ്രേഡ് ഇതിനുള്ളിൽ സജീവമാകും: ", - "london-upgrade-banner-released": "ലണ്ടൻ അപ്ഗ്രേഡ് പുറത്തിറക്കി!", "mainnet-ethereum": "മെയിന്‍നെറ്റ് Ethereum", "makerdao-logo": "മേക്കര്‍ഡാവോ ലോഗോ", "matcha-logo": "മാച്ച ലോഗോ", + "medalla-data-challenge": "Medalla ഡാറ്റാ ചലഞ്ച്", "merge": "ലയിപ്പിക്കുക", "more": "കൂടുതൽ", + "more-info": "കൂടുതല്‍ വിവരം", "nav-beginners": "തുടക്കക്കാർ", + "nav-developers": "ഡെവലപ്പർമാർ", + "nav-developers-docs": "ഡെവലപ്പർമാർ ഡോക്‌സ്", + "nav-primary": "പ്രാഥമികം", "next": "അടുത്തത്", + "no": "ഇല്ല", "oasis-logo": "ഒയാസിസ് ലോഗോ", + "online": "ഓൺലൈൻ", "on-this-page": "ഈ പേജില്‍", "page-content": "പേജ് ഉള്ളടക്കം", "page-enterprise": "എന്റർപ്രൈസ്", @@ -167,7 +195,12 @@ "pros": "പ്രോസ്", "read-more": "കൂടുതല്‍ വായിക്കൂ", "refresh": "ദയവായി പേജ് പുതുക്കുക.", + "return-home": "ഹോമിലേക്ക് മടങ്ങുക", + "run-a-node": "ഒരു നോഡ് റൺ ചെയ്യുക", "review-progress": "പുരോഗതി അവലോകനം ചെയ്യുക", + "rollup-component-website": "വെബ്സൈറ്റ്", + "rollup-component-developer-docs": "ഡെവലപ്പർ ഡോക്‌സ്", + "rollup-component-technology-and-risk-summary": "സാങ്കേതികവിദ്യയും അപകടസാധ്യതാ സംഗ്രഹവും", "search": "തിരയുക", "search-box-blank-state-text": "അകലെ തിരയുക!", "search-eth-address": "ഇത് ഒരു Ethereum വിലാസം പോലെ തോന്നുന്നു. വിലാസങ്ങൾക്ക് മാത്രമായുള്ള ഡാറ്റ ഞങ്ങൾ നൽകുന്നില്ല. ഇതുപോലുള്ള ഒരു ബ്ലോക്ക് എക്സ്പ്ലോററിൽ തിരയാൻ ശ്രമിക്കുക", @@ -180,9 +213,17 @@ "show-less": "കുറച്ച് കാണിക്കുക", "site-description": "പണത്തിനും പുതിയ തരം അപ്ലിക്കേഷനുകൾക്കുമുള്ള ആഗോള വികേന്ദ്രീകൃത പ്ലാറ്റ്ഫോമാണ് Ethereum. നിങ്ങൾക്ക് Ethereum- ൽ പണത്തെ നിയന്ത്രിക്കുന്ന കോഡ് എഴുതാനും ലോകത്തെവിടെയും ആക്‌സസ് ചെയ്യാവുന്ന അപ്ലിക്കേഷനുകൾ നിർമ്മിക്കാനും കഴിയും.", "site-title": "ethereum.org", + "skip-to-main-content": "പ്രധാന ഉള്ളടക്കത്തിലേക്ക് പോകുക", + "smart-contracts": "സ്മാര്‍ട്ട് കരാറുകള്‍", "stablecoins": "സ്റ്റേബിള്‍കോയിനുകള്‍", "staking": "സ്റ്റേക്കിംഗ്", + "solo": "Solo staking", + "saas": "Staking as a service", + "pools": "Pooled staking", + "staking-community-grants": "കമ്മ്യൂണിറ്റി ഗ്രാന്റുകൾ സ്റ്റേക്ക് ചെയ്യുന്നു", + "academic-grants-round": "അക്കാദമിക് ഗ്രാന്റ്‌സ് റൗണ്ട്", "summary": "സംഗ്രഹം", + "support": "പിന്തുണ", "terms-of-use": "ഉപയോഗ നിബന്ധനകൾ", "transaction-fees": "ഇടപാട് ഫീസ് എന്താണ്?", "translation-banner-body-new": "നിങ്ങൾ ഈ പേജ് ഇംഗ്ലീഷിൽ കാണുന്നതിന് കാരണം ഞങ്ങൾ ഇത് ഇതുവരെ വിവര്‍ത്തനം ചെയ്തിട്ടില്ലാത്തതിനാലാണ്. ഈ ഉള്ളടക്കം വിവർത്തനം ചെയ്യാൻ ഞങ്ങളെ സഹായിക്കൂ.", @@ -195,21 +236,26 @@ "translation-banner-title-update": "ഈ പേജ് അപ്ഡേറ്റ് ചെയ്യാന്‍ സഹായിക്കൂ", "translation-program": "വിവർത്തന പരിപാടി", "translation-progress": "വിവർത്തന പുരോഗതി", - "translation-banner-no-bugs-title": "ഇവിടെ ബഗ്ഗുകളൊന്നുമില്ല!", - "translation-banner-no-bugs-content": "ഈ പേജ് വിവർത്തനം ആവശ്യമില്ലാത്തതാണ്. മനഃപൂർവമായി തന്നെ ഞങ്ങൾ ഇംഗ്ലീഷിൽ വിട്ടിരിക്കുന്നു.", + "translation-banner-no-bugs-title": "ഇവിടെ ബഗുകൾ ഒന്നുമില്ല!", + "translation-banner-no-bugs-content": "ഈ പേജ് വിവർത്തനം ചെയ്‌തില്ല. ഞങ്ങൾ ഇപ്പോഴത്തേക്ക് ഈ പേജ് ബോധപൂർവ്വം ഇംഗ്ലീഷിൽ തന്നെ വിട്ടിരിക്കുന്നു.", "translation-banner-no-bugs-dont-show-again": "വീണ്ടും കാണിക്കരുത്", + "try-using-search": "നിങ്ങൾ തിരയുന്നത് കണ്ടെത്താൻ തിരയൽ ഉപയോഗിച്ച് നോക്കുക, അല്ലെങ്കിൽ", "tutorials": "ട്യൂട്ടോറിയലുകൾ", "uniswap-logo": "യൂണിസ്വാപ്പ് ലോഗോ", + "upgrades": "അപ്‌ഗ്രേഡുകൾ", "use": "ഉപയോഗിക്കുക", "use-ethereum": "Ethereum ഉപയോഗിക്കൂ", "use-ethereum-menu": "Ethereum മെനു ഉപയോഗിക്കൂ", "vision": "ദർശനം", "wallets": "വാലറ്റുകള്‍", + "we-couldnt-find-that-page": "ഞങ്ങൾക്ക് ആ പേജ് കണ്ടെത്താൻ കഴിഞ്ഞില്ല", + "web3": "എന്താണ് Web3?", "website-last-updated": "അവസാനം അപ്‌ഡേറ്റുചെയ്‌ത വെബ്‌സൈറ്റ്", "what-is-ether": "എന്താണ് ഇതര്‍ (ETH)?", "what-is-ethereum": "എന്താണ് Ethereum?", "whitepaper": "ധവളപത്രം", "defi-page": "വികേന്ദ്രീകൃത ധനകാര്യം (DeFi)", "dao-page": "വികേന്ദ്രീകൃത സ്വയംഭരണ സ്ഥാപനങ്ങൾ (DAOs)", - "nft-page": "നോൺ-ഫഞ്ചിബിൾ ടോക്കണുകൾ (NFTs)" + "nft-page": "നോൺ-ഫഞ്ചിബിൾ ടോക്കണുകൾ (NFTs)", + "yes": "അതെ" } diff --git a/src/intl/ml/page-index.json b/src/intl/ml/page-index.json index ba53174f215..b4c04b29868 100644 --- a/src/intl/ml/page-index.json +++ b/src/intl/ml/page-index.json @@ -37,7 +37,7 @@ "page-index-developers": "വികസനത്തിനായി ഒരു പുതിയ അതിർത്തി", "page-index-developers-description": "Ethereum-വും അതിന്റെ ആപ്പുകളും സുതാര്യവും ഓപ്പൺ സോഴ്സുമാണ്. നിങ്ങൾക്ക് ഫോർക്ക് കോഡ് ചെയ്യാനും മറ്റുള്ളവർ ഇതിനകം നിർമ്മിച്ച പ്രവർത്തനശേഷി വീണ്ടും ഉപയോഗിക്കാനും കഴിയും. നിങ്ങൾക്ക് ഒരു പുതിയ ഭാഷ പഠിക്കാൻ താൽപ്പര്യമില്ലെങ്കിൽ, ജാവസ്ക്രിപ്റ്റും നിലവിലുള്ള മറ്റ് ഭാഷകളും ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഓപ്പൺ സോഴ്‌സ് ചെയ്ത കോഡുമായി സംവദിക്കാം.", "page-index-developers-button": "ഡവലപ്പർ പോർട്ടൽ", - "page-index-developers-code-examples": "Code examples", + "page-index-developers-code-examples": "കോഡ് ഉദാഹരണങ്ങൾ", "page-index-developers-code-example-title-0": "നിങ്ങളുടെ സ്വന്തം ബാങ്ക്", "page-index-developers-code-example-description-0": "നിങ്ങൾ പ്രോഗ്രാം ചെയ്‌ത ലോജിക് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു ബാങ്ക് നിർമ്മിക്കാൻ കഴിയും.", "page-index-developers-code-example-title-1": "നിങ്ങളുടെ സ്വന്തം കറൻസി", @@ -61,9 +61,9 @@ "page-index-contribution-banner-description": "നൂറുകണക്കിന് കമ്മ്യൂണിറ്റി കോൺട്രിബ്യൂട്ടർമാരുള്ള ഈ വെബ്‌സൈറ്റ് ഓപ്പൺ സോഴ്‌സാണ്. ഈ സൈറ്റിലെ ഏത് ഉള്ളടക്കത്തിനും നിങ്ങൾക്ക് തിരുത്തുകൾ നിർദ്ദേശിക്കാം, ആകർഷകമായ പുതിയ സവിശേഷതകൾ നിർദ്ദേശിക്കാം, അല്ലെങ്കിൽ ബഗുകൾ ഇല്ലാതാക്കാൻ ഞങ്ങളെ സഹായിക്കാം.", "page-index-contribution-banner-image-alt": "ലെഗോ ഇഷ്ടികകൾ കൊണ്ട് നിർമ്മിച്ച ഒരു Ethereum ലോഗോ.", "page-index-contribution-banner-button": "സംഭാവന നൽകുന്നതിനെക്കുറിച്ച് കൂടുതൽ", - "page-index-tout-upgrades-title": "നിങ്ങളുടെ Eth2 അറിവ് അപ്ഗ്രേഡ് ചെയ്യുക", - "page-index-tout-upgrades-description": "Ethereum-നെ കൂടുതൽ വലുതും സുരക്ഷിതവും സുസ്ഥിരവുമാക്കാൻ രൂപകൽപ്പന ചെയ്തിട്ടുള്ള പരസ്പര ബന്ധിതമായ അപ്ഗ്രേഡുകളുടെ ഒരു പ്രോഗ്രാമാണ് Ethereum 2.0.", - "page-index-tout-upgrades-image-alt": "Eth2-ന്റെ വർദ്ധിച്ച കരുത്തിനെ പ്രതിനിധീകരിക്കുന്ന ഒരു ബഹിരാകാശ പേടകത്തിന്റെ ചിത്രീകരണം.", + "page-index-tout-upgrades-title": "നിങ്ങളുടെ അപ്‌ഗ്രേഡ് അറിവ് വർദ്ധിപ്പിക്കുക", + "page-index-tout-upgrades-description": "The Ethereum roadmap consists of interconnected upgrades designed to make the network more scalable, secure, and sustainable.", + "page-index-tout-upgrades-image-alt": "Ethereum അപ്‌ഗ്രേഡുകൾക്ക് ശേഷം വർദ്ധിച്ച കരുത്തിനെ പ്രതിനിധീകരിക്കുന്ന ഒരു ബഹിരാകാശ പേടകത്തിന്റെ ചിത്രീകരണം.", "page-index-tout-enterprise-title": "എന്റർപ്രൈസിനായുള്ള Ethereum", "page-index-tout-enterprise-description": "Ethereum-ന് എങ്ങനെ പുതിയ ബിസിനസ്സ് മാതൃകകൾ തുറക്കാനും ചെലവ് കുറയ്ക്കാനും ഫ്യൂച്ചര്‍ പ്രൂഫ് ബിസിനസ്സ് ചെയ്യാനും കഴിയുമെന്ന് കാണുക.", "page-index-tout-enterprise-image-alt": "ഒരു ഭാവി കംപ്യൂട്ടർ/ഡിവൈസിന്റെ ചിത്രീകരണം.", From c492a0360021be0087ff8d79d987e738faf9884a Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 16:27:50 -0700 Subject: [PATCH 110/167] ru homepage import from crowdin --- src/intl/ru/common.json | 35 +++++++++++++++++++++++++++++------ src/intl/ru/page-index.json | 6 +++--- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/src/intl/ru/common.json b/src/intl/ru/common.json index d4bd647ac6f..106824985c3 100644 --- a/src/intl/ru/common.json +++ b/src/intl/ru/common.json @@ -10,11 +10,12 @@ "aria-toggle-menu-button": "Переключение кнопки меню", "zen-mode": "Режим Дзен", "back-to-top": "Вернуться вверх", - "banner-page-incomplete": "Эта страница является неполной и мы будем рады вашей помощи. Редактируйте эту страницу и добавьте все, что вы считаете нужным. Это может быть полезно для других.", + "banner-page-incomplete": "Эта страница является неполной и мы будем рады вашей помощи. Редактируйте эту страницу и добавляйте то, что как вы думаете, может быть полезно для других.", "beacon-chain": "Beacon Chain", "binance-logo": "Логотип Binance", "bittrex-logo": "Логотип Bittrex", "brand-assets": "Активы бренда", + "bridges": "Мосты блокчейна", "bug-bounty": "Программа вознаграждений за найденные ошибки", "coinbase-logo": "Логотип Coinbase", "coinmama-logo": "Логотип Coinmama", @@ -78,6 +79,9 @@ "ethereum-whitepaper": "Техническая документация об Ethereum", "events": "Мероприятия", "example-projects": "Примеры проектов", + "feedback-prompt": "Эта страница помогла с ответом на ваш вопрос?", + "feedback-title-helpful": "Спасибо за отзыв!", + "feedback-title-not-helpful": "Присоединяйтесь к нашему серверу Discord и получите ответ, который ищете.", "find-wallet": "Найти кошелек", "foundation": "Фонд", "gemini-logo": "Логотип Gemini", @@ -101,6 +105,7 @@ "jobs": "Вакансии", "kraken-logo": "Логотип Kraken", "language-ar": "Арабский", + "language-az": "Азербайджанский", "language-bg": "Болгарский", "language-bn": "Бенгальский", "language-ca": "Каталанский", @@ -112,6 +117,7 @@ "language-fa": "Фарси", "language-fi": "Финский", "language-fr": "Французский", + "language-gl": "Галисийский", "language-hi": "Хинди", "language-hr": "Хорватский", "language-hu": "Венгерский", @@ -119,6 +125,7 @@ "language-ig": "Игбо", "language-it": "Итальянский", "language-ja": "Японский", + "language-ka": "Грузинский", "language-ko": "Корейский", "language-lt": "Литовский", "language-ml": "Малаялам", @@ -147,6 +154,7 @@ "languages": "Языки", "last-24-hrs": "Последние 24 часа", "last-edit": "Последнее редактирование", + "layer-2": "Слой 2", "learn": "Обучение", "learn-by-coding": "Обучение на программировании", "learn-menu": "Меню обучения", @@ -162,8 +170,6 @@ "loading-error-refresh": "Ошибка. Пожалуйста, обновите страницу.", "logo": "логотип", "loopring-logo": "Логотип Loopring", - "london-upgrade-banner": "Обновление «Лондон» будет выпущено через: ", - "london-upgrade-banner-released": "Обновление «Лондон» вышло!", "mainnet-ethereum": "Основная сеть Ethereum", "makerdao-logo": "Логотип MakerDAO", "matcha-logo": "Логотип Matcha", @@ -172,7 +178,11 @@ "more": "Больше", "more-info": "Подробнее", "nav-beginners": "Начинающим", + "nav-developers": "Разработчикам", + "nav-developers-docs": "Документация для разработчиков", + "nav-primary": "Основной", "next": "Следующий", + "no": "Нет", "oasis-logo": "Логотип Oasis", "online": "В сети", "on-this-page": "На этой странице", @@ -185,7 +195,12 @@ "pros": "Преимущества", "read-more": "Подробнее", "refresh": "Обновите страницу.", + "return-home": "Вернуться на главную", + "run-a-node": "Запуск узла", "review-progress": "Прогресс проверки", + "rollup-component-website": "Сайт", + "rollup-component-developer-docs": "Документация для разработчиков", + "rollup-component-technology-and-risk-summary": "Обзор рисков и технологий", "search": "Поиск", "search-box-blank-state-text": "Искать здесь!", "search-eth-address": "Похоже на адрес Ethereum. Мы не предоставляем особые данные для адресов. Попробуйте поискать их в обозревателе блоков, как", @@ -202,7 +217,11 @@ "smart-contracts": "Умные контракты", "stablecoins": "Stablecoins", "staking": "Ставки", + "solo": "Одиночный стекинг", + "saas": "Стекинг как услуга", + "pools": "Объединенный стекинг", "staking-community-grants": "Гранты для сообщества стейкеров", + "academic-grants-round": "Гранты академических наук", "summary": "Сводка", "support": "Поддержка", "terms-of-use": "Условия пользования", @@ -217,9 +236,10 @@ "translation-banner-title-update": "Помогите обновить эту страницу", "translation-program": "Программа перевода", "translation-progress": "Прогресс перевода", - "translation-banner-no-bugs-title": "Это не ошибка!", - "translation-banner-no-bugs-content": "Эта страница не переводится. Мы намеренно пока что оставили ее на английском.", + "translation-banner-no-bugs-title": "Здесь нет ошибок!", + "translation-banner-no-bugs-content": "Эта страница сейчас не переводится. Пока что мы намеренно оставили эту страницу на английском языке.", "translation-banner-no-bugs-dont-show-again": "Больше не показывать", + "try-using-search": "Попробуйте использовать поиск, чтобы найти то, что вы ищете, или", "tutorials": "Учебники", "uniswap-logo": "Логотип Uniswap", "upgrades": "Обновления", @@ -228,11 +248,14 @@ "use-ethereum-menu": "Использовать меню Ethereum", "vision": "Видение", "wallets": "Кошельки", + "we-couldnt-find-that-page": "Эта страница не найдена", + "web3": "Что такое Web3?", "website-last-updated": "Последнее обновление страницы", "what-is-ether": "Что такое эфир (ETH)?", "what-is-ethereum": "Что такое Ethereum?", "whitepaper": "Техническое описание", "defi-page": "Децентрализованные финансы (DeFi)", "dao-page": "Децентрализованные автономные организации (DAO)", - "nft-page": "Невзаимозаменяемые токены (NFT)" + "nft-page": "Невзаимозаменяемые токены (NFT)", + "yes": "Да" } diff --git a/src/intl/ru/page-index.json b/src/intl/ru/page-index.json index 682f73d342e..c84651e386e 100644 --- a/src/intl/ru/page-index.json +++ b/src/intl/ru/page-index.json @@ -1,5 +1,5 @@ { - "page-index-hero-image-alt": "Иллюстрация футуристического города, изображающая экосистему Ethereum.", + "page-index-hero-image-alt": "Иллюстрация футуристического города, представляющей экосистему Ethereum.", "page-index-meta-description": "Ethereum — глобальная децентрализованная платформа для применения денег и создания новых видов приложений. На Ethereum можно писать код, который управляет деньгами, и создавать приложения, доступные в любой точке мира.", "page-index-meta-title": "Главная", "page-index-title": "Добро пожаловать в Ethereum", @@ -50,7 +50,7 @@ "page-index-network-stats-subtitle": "Последняя статистика сети", "page-index-network-stats-eth-price-description": "Цена ETH (долл. США)", "page-index-network-stats-eth-price-explainer": "Последняя цена за 1 эфир. Покупать можно даже 0,000000000000000001, нет необходимости в покупке целой единицы ETH.", - "page-index-network-stats-tx-day-description": "Транзакции сегодня", + "page-index-network-stats-tx-day-description": "Транзакций сегодня", "page-index-network-stats-tx-day-explainer": "Количество транзакций, успешно обработанных в сети за последние 24 часа.", "page-index-network-stats-value-defi-description": "Объем, зафиксированный в DeFi (долл. США)", "page-index-network-stats-value-defi-explainer": "Количество денег в приложениях децентрализованного финансирования (DeFi), цифровой экономике Ethereum.", @@ -62,7 +62,7 @@ "page-index-contribution-banner-image-alt": "Логотип Ethereum, сложенный из конструктора Лего.", "page-index-contribution-banner-button": "Подробнее об участии", "page-index-tout-upgrades-title": "Узнайте больше об обновлении", - "page-index-tout-upgrades-description": "Ethereum состоит из взаимосвязанных обновлений, призванных сделать сеть более масштабируемой, безопасной и экологичной.", + "page-index-tout-upgrades-description": "АпгрейдАпгрейдСетьбезопасныйEthereum — это программа взаимосвязанных обновлений, предназначенная сделать Ethereum более масштабируемым, безопасным и стабильным. Ethereum0.", "page-index-tout-upgrades-image-alt": "Иллюстрация космического корабля, символизирующего увеличение мощности после обновлений Ethereum.", "page-index-tout-enterprise-title": "Ethereum для предприятий", "page-index-tout-enterprise-description": "Узнайте, как Ethereum может открыть новые бизнес-модели, снизить затраты и обеспечить перспективу для вашего бизнеса.", From 4a1198a980aa8c045c9e2efaa1511461c1e7e798 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 16:27:54 -0700 Subject: [PATCH 111/167] sw homepage import from crowdin --- src/intl/sw/common.json | 33 ++++++++++++++++++++++++++++----- src/intl/sw/page-index.json | 6 +++--- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/src/intl/sw/common.json b/src/intl/sw/common.json index e25c6985877..1d4578bc7d9 100644 --- a/src/intl/sw/common.json +++ b/src/intl/sw/common.json @@ -15,6 +15,7 @@ "binance-logo": "Nembo ya Binance", "bittrex-logo": "Nembo ya Bittrex", "brand-assets": "Chapa za mali", + "bridges": "Madaraja ya blockchain", "bug-bounty": "Mtafuta mdudu", "coinbase-logo": "Nembo ya Coinbase", "coinmama-logo": "Nembo ya Coinmama", @@ -78,6 +79,9 @@ "ethereum-whitepaper": "Karatasi nyeupe ya Ethereum", "events": "Matukio", "example-projects": "Mifano ya kazi", + "feedback-prompt": "Je ukurasa huu ulikusaidia kujibu swali lako?", + "feedback-title-helpful": "Ahsante kwa maoni yako!", + "feedback-title-not-helpful": "Jiunge na Discord yetu ya umma na upate unachotafuta.", "find-wallet": "Tafuta pochi", "foundation": "Msingi", "gemini-logo": "Nembo ya Gemini", @@ -101,6 +105,7 @@ "jobs": "Kazi", "kraken-logo": "Nembo ya Kraken", "language-ar": "Kiarabu", + "language-az": "Kiazerbaijani", "language-bg": "Kibulgaria", "language-bn": "Kibengali", "language-ca": "Kikatalani", @@ -112,6 +117,7 @@ "language-fa": "Kifarsi", "language-fi": "Kifini", "language-fr": "Kifaransa", + "language-gl": "Kigalisia", "language-hi": "Kihindi", "language-hr": "Kikroeshia", "language-hu": "Kihungaria", @@ -119,6 +125,7 @@ "language-ig": "Igbo", "language-it": "Kiitaliano", "language-ja": "Kijapani", + "language-ka": "Kijojia", "language-ko": "Kikorea", "language-lt": "Kiluthuania", "language-ml": "Kimalayalam", @@ -147,6 +154,7 @@ "languages": "Lugha", "last-24-hrs": "Saa 24 zilizopita", "last-edit": "Uhariri wa mwisho", + "layer-2": "Safu ya 2", "learn": "Jifunze", "learn-by-coding": "Jifunze kwa usimbuaji", "learn-menu": "Orodha ya kujifunza", @@ -162,8 +170,6 @@ "loading-error-refresh": "Kuna tatizo, tafadhali fanyiza upya.", "logo": "nembo", "loopring-logo": "Nembo ya Loopring", - "london-upgrade-banner": "Uboreshaji wa London utakua moja kwa moja: ", - "london-upgrade-banner-released": "Sasisho la London limetolewa!", "mainnet-ethereum": "Mtandao kuu wa Ethereum", "makerdao-logo": "Nembo ya MarkerDao", "matcha-logo": "Nembo ya Matcha", @@ -172,7 +178,11 @@ "more": "Zaidi", "more-info": "Habari zaidi", "nav-beginners": "Wanaoanza", + "nav-developers": "Wasanidi programu", + "nav-developers-docs": "Nyaraka za wasanidi programu", + "nav-primary": "Msingi", "next": "Ijayo", + "no": "Hapana", "oasis-logo": "Nembo ya Oasis", "online": "Mtandaoni", "on-this-page": "Juu ya ukurasa huu", @@ -185,7 +195,12 @@ "pros": "Faida", "read-more": "Soma zaidi", "refresh": "Tafadhali onyesha ukurasa upya.", + "return-home": "rudi nyumbani", + "run-a-node": "Endesha nodi", "review-progress": "Hakiki maendeleo", + "rollup-component-website": "Tovuti", + "rollup-component-developer-docs": "Nyaraka za msanidi programu", + "rollup-component-technology-and-risk-summary": "Teknolojia na muhtasari hatari", "search": "Tafuta", "search-box-blank-state-text": "Umabali wa kutafuta!", "search-eth-address": "Hii inafanana na anuwani ya Ethereum. Hatutoi taarifa za anuwani yenyewe. Jaribu kuitafuta kwenye chunguzi za bloku kama", @@ -202,7 +217,11 @@ "smart-contracts": "Mikataba erevu", "stablecoins": "Sarafu imara", "staking": "Kusimamisha", + "solo": "Solo staking", + "saas": "Staking as a service", + "pools": "Pooled staking", "staking-community-grants": "Kusimamia ruzuku za jamii", + "academic-grants-round": "Ruzuku za masomo", "summary": "Muhtasari", "support": "Msaada", "terms-of-use": "Masharti ya matumizi", @@ -217,9 +236,10 @@ "translation-banner-title-update": "Saidia kusasisha ukurasa huu", "translation-program": "Mpango wa tafsiri", "translation-progress": "Maendeleo ya kutafsiri", - "translation-banner-no-bugs-title": "Hapa hapana hitilafu!", - "translation-banner-no-bugs-content": "Ukurasa huu hautafsiriwi. Tumeuacha ukurasa huu katika Kiingereza maksudi kwa sasa.", + "translation-banner-no-bugs-title": "Hapana hitilafu hapa!", + "translation-banner-no-bugs-content": "Ukurasa huu hautafsiriwi. Tumeuacha ukurasa huu kwa Kiingereza kwa sasa.", "translation-banner-no-bugs-dont-show-again": "Usionyeshe tena", + "try-using-search": "Jaribu kutumia utafutaji kupata unachotafuta", "tutorials": "Mafunzo", "uniswap-logo": "Nembo ya Uniswap", "upgrades": "Visasisho", @@ -228,11 +248,14 @@ "use-ethereum-menu": "Tumia orodha ya Ethereum", "vision": "Maono", "wallets": "Pochi", + "we-couldnt-find-that-page": "Hatukuweza kupata ukurasa huo", + "web3": "Je, Web3 ni nini?", "website-last-updated": "Ukurasa ulisasishwa mwisho", "what-is-ether": "Ether ni nini (ETH)?", "what-is-ethereum": "Ethereum ni nini?", "whitepaper": "Karatasi nyeupe", "defi-page": "Fedha zisizotawalia (DeFi)", "dao-page": "Mashirika huru yasiyotawaliwa (DAOs)", - "nft-page": "Ishara zisizoambukiza (NFTs)" + "nft-page": "Ishara zisizoambukiza (NFTs)", + "yes": "Ndiyo" } diff --git a/src/intl/sw/page-index.json b/src/intl/sw/page-index.json index 5e6ebd67248..605c6524061 100644 --- a/src/intl/sw/page-index.json +++ b/src/intl/sw/page-index.json @@ -1,8 +1,8 @@ { - "page-index-hero-image-alt": "Mfano wa mji wa baadaye, unaowakilisha ikolojia ya Ethereum.", + "page-index-hero-image-alt": "Mfano wa mji wa baadaye, unao wakilisha ikolojia ya Ethereum.", "page-index-meta-description": "Ethereum ni jukwaa la kimataifa, ambalo halitegemei wamiliki wa madaraka kwa pesa na aina mpya za programu. Kwenye Ethereum, unaweza kuandika msimbo unaodhibiti pesa, na kuunda programu zinazoweza kupatikana mahali popote ulimwenguni.", "page-index-meta-title": "Nyumbani", - "page-index-title": "Karibu Ethereum", + "page-index-title": "Karibu katika Ethereum", "page-index-description": "Ethereum ni teknolojia inayoendeshwa na jamii inayoipa nguvu sarafu ya kripto, \nether (ETH) na maelfu ya programu zisizotegemea benki za kiserikali.", "page-index-title-button": "Chunguza Ethereum", "page-index-get-started": "Anza", @@ -62,7 +62,7 @@ "page-index-contribution-banner-image-alt": "Nembo ya Ethereum imeundwa na matofali aina ya lego.", "page-index-contribution-banner-button": "Zaidi juu ya uchangiaji", "page-index-tout-upgrades-title": "Ongeza uelewa wako wa visasisho", - "page-index-tout-upgrades-description": "Ethereum ni programu iliyoundwa na visasisho vilivyoungana ili kufanya Ethereum iwe rahisi zaidi, salama na endelevu.", + "page-index-tout-upgrades-description": "The Ethereum roadmap consists of interconnected upgrades designed to make the network more scalable, secure, and sustainable.", "page-index-tout-upgrades-image-alt": "Kielelezo cha chombo cha angani kikiwakilisha kuongezeka kwa nguvu baada ya maboresho ya Ethereum.", "page-index-tout-enterprise-title": "Ethereum kw ajili ya biashara", "page-index-tout-enterprise-description": "Ona jinsi ambavyo ethereum inaweza kufungua mtindo mpya wa biashara, punguza gharama zako na uthibitisho wa baadaye wa biashara yako.", From 3ea8a640a19358898279d8f83cd041ea78fea3e1 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 16:27:59 -0700 Subject: [PATCH 112/167] vi homepage import from crowdin --- src/intl/vi/common.json | 51 +++++++++++++++++++++++++++---------- src/intl/vi/page-index.json | 10 ++++---- 2 files changed, 42 insertions(+), 19 deletions(-) diff --git a/src/intl/vi/common.json b/src/intl/vi/common.json index 54fb2dae24f..faa8c280f52 100644 --- a/src/intl/vi/common.json +++ b/src/intl/vi/common.json @@ -15,6 +15,7 @@ "binance-logo": "Binance logo", "bittrex-logo": "Logo Bittrex", "brand-assets": "Tài sản thương hiệu", + "bridges": "Các cầu nối chuỗi khối", "bug-bounty": "Tiền thưởng phát hiện lỗi", "coinbase-logo": "Logo Coinbase", "coinmama-logo": "Logo Coinmama", @@ -51,17 +52,17 @@ "esp": "Chương trình hỗ sợ Hệ sinh thái", "eth-current-price": "Giá ETH hiện tại (USD)", "consensus-beaconcha-in-desc": "Công cụ mã nguồn mở để khám phá Chuỗi Beacon", - "consensus-beaconscan-desc": "Beacon Chain explorer - Etherscan for the consensus layer", + "consensus-beaconscan-desc": "Trình khám phá của chuỗi Hài Đăng - Etherscan cho lớp đồng thuận", "consensus-become-staker": "Trở thành người góp cổ phần", "consensus-become-staker-desc": "Staking lên sóng! Nếu bạn muốn ký gửi ETH để giúp bảo vệ mạng lưới, hãy chắc chắn rằng bạn biết rõ những rủi ro.", "consensus-explore": "Khám phá dữ liệu", - "consensus-run-beacon-chain": "Run a consensus client", + "consensus-run-beacon-chain": "Chạy một máy khách đồng thuận", "consensus-run-beacon-chain-desc": "Ethereum cần nhiều clients hoạt động nhất có thể. Sử dụng một dịch vụ chung của Ethereum này!", "consensus-when-shipping": "Khi nào đi vào hoạt động?", - "eth-upgrade-what-happened": "What happened to 'Eth2?'", - "eth-upgrade-what-happened-description": "The term 'Eth2' has been deprecated as we approach The Merge. The 'consensus layer' encapsulates what was formerly known as 'Eth2.'", + "eth-upgrade-what-happened": "Chuyện gì xảy ra vởi 'Eth2'?", + "eth-upgrade-what-happened-description": "Thuật ngữ 'Eth2' đã không được dùng nữa khi chúng ta tiếp cập giai đoạn hợp nhất. 'Lớp đồng thuận' chính là 'Eth2' trước đây.", "ethereum": "Ethereum", - "ethereum-upgrades": "Ethereum upgrades", + "ethereum-upgrades": "Các bản nâng cấp của Ethereum", "ethereum-brand-assets": "Tài sản thương hiệu Ethereum", "ethereum-community": "Cộng đồng Ethereum", "ethereum-online": "Giao tiếp trực tuyến", @@ -78,6 +79,9 @@ "ethereum-whitepaper": "Sách trắng Ethereum", "events": "Sự kiện", "example-projects": "Các dự án mẫu", + "feedback-prompt": "Trang này có giúp trả lời câu hỏi của bạn không?", + "feedback-title-helpful": "Cảm ơn ý kiến phản hồi của bạn!", + "feedback-title-not-helpful": "Tham gia Discord công khai của chúng tôi và nhận câu trả lời mà bạn đang tìm kiếm.", "find-wallet": "Tìm ví", "foundation": "Nền tảng", "gemini-logo": "Logo Gemini", @@ -101,6 +105,7 @@ "jobs": "Công việc", "kraken-logo": "Logo Kraken", "language-ar": "Tiếng Ả Rập", + "language-az": "Tiếng Azerbaijani", "language-bg": "Tiếng Bulgary", "language-bn": "Tiếng Bengal", "language-ca": "Tiếng Catalan", @@ -112,6 +117,7 @@ "language-fa": "Tiếng Farsi", "language-fi": "Tiếng Phần Lan", "language-fr": "Tiếng Pháp", + "language-gl": "Tiếng Galician", "language-hi": "Tiếng Hindi", "language-hr": "Tiếng Croatia", "language-hu": "Tiếng Hungary", @@ -119,10 +125,11 @@ "language-ig": "Tiếng Igbo", "language-it": "Tiếng Ý", "language-ja": "Tiếng Nhật", + "language-ka": "Tiếng Georgia", "language-ko": "Tiếng Hàn", "language-lt": "Tiếng Lithuania", "language-ml": "Tiếng Malayalam", - "language-mr": "Marathi", + "language-mr": "Tiếng Marathi", "language-ms": "Tiếng Mã Lai", "language-nb": "Tiếng Na Uy", "language-nl": "Tiếng Hà Lan", @@ -147,6 +154,7 @@ "languages": "Ngôn ngữ", "last-24-hrs": "24 giờ vừa qua", "last-edit": "Lần chỉnh sửa gần nhất", + "layer-2": "Lớp 2", "learn": "Tìm hiểu", "learn-by-coding": "Học lập trình", "learn-menu": "Menu Tìm hiểu", @@ -162,17 +170,19 @@ "loading-error-refresh": "Đã xảy ra lỗi, vui lòng làm mới.", "logo": "logo", "loopring-logo": "Logo Loopring", - "london-upgrade-banner": "Bản nâng cấp Luân Đôn sẽ đi vào hoạt động trong: ", - "london-upgrade-banner-released": "Bản nâng cấp London đã được triển khai!", "mainnet-ethereum": "Ethereum Mạng chính", "makerdao-logo": "Logo MakerDao", "matcha-logo": "Logo Matcha", - "medalla-data-challenge": "Medalla data challenge", + "medalla-data-challenge": "Thử thách dữ liệu Medalla", "merge": "Gộp", "more": "Xem thêm", "more-info": "Thông tin chi tiết", "nav-beginners": "Người mới bắt đầu", + "nav-developers": "Nhà phát triển", + "nav-developers-docs": "Tài liệu dành cho nhà phát triển", + "nav-primary": "Chính", "next": "Tiếp theo", + "no": "Không", "oasis-logo": "Logo Oasis", "online": "Trực tuyến", "on-this-page": "Trên trang này", @@ -185,7 +195,12 @@ "pros": "Ưu điểm", "read-more": "Đọc thêm", "refresh": "Vui lòng tải lại trang.", + "return-home": "Trở về trang chủ", + "run-a-node": "Vận hành một nút (node)", "review-progress": "Tiến trình kiểm duyệt", + "rollup-component-website": "Trang web", + "rollup-component-developer-docs": "Tài liệu dành cho nhà phát triển", + "rollup-component-technology-and-risk-summary": "Tóm tắt về công nghệ và rủi ro", "search": "Tìm kiếm", "search-box-blank-state-text": "Tìm kiếm nào!", "search-eth-address": "Đây giống như một địa chỉ Ethereum. Chúng tôi không cung cấp dữ liệu cho những địa chỉ này. Thử tìm kiếm trên một trình duyệt khối như", @@ -202,7 +217,11 @@ "smart-contracts": "Hợp đồng thông minh", "stablecoins": "Stablecoin", "staking": "Staking", - "staking-community-grants": "Staking community grants", + "solo": "Solo staking", + "saas": "Staking as a service", + "pools": "Pooled staking", + "staking-community-grants": "Khoản tài trợ cộng đồng cho đặt cược", + "academic-grants-round": "Vòng tài trợ học thuật", "summary": "Tổng hợp", "support": "Hỗ Trợ", "terms-of-use": "Điều khoản sử dụng", @@ -217,22 +236,26 @@ "translation-banner-title-update": "Giúp cập nhật trang này", "translation-program": "Chương trình dịch thuật", "translation-progress": "Tiến độ dịch thuật", - "translation-banner-no-bugs-title": "Không có lỗi nào ở đây!", - "translation-banner-no-bugs-content": "Trang này sẽ không được dịch. Hiện chúng tôi hiển thị trang này bằng tiếng Anh theo chủ đích.", + "translation-banner-no-bugs-title": "Không có con bọ nào ở đây!", + "translation-banner-no-bugs-content": "Trang này chưa được dịch. Hiện chúng tôi chủ đích cung cấp trang này bằng Tiếng Anh.", "translation-banner-no-bugs-dont-show-again": "Không hiển thị lại", + "try-using-search": "Hãy sử dụng công cụ tìm kiếm để tìm những gì bạn cần", "tutorials": "Hướng dẫn", "uniswap-logo": "Logo Uniswap", - "upgrades": "Upgrades", + "upgrades": "Các bản cập nhật", "use": "Sử dụng", "use-ethereum": "Sử dụng Ethereum", "use-ethereum-menu": "Sử dụng menu Ethereum", "vision": "Tầm nhìn", "wallets": "Ví", + "we-couldnt-find-that-page": "Chúng tôi không thể tìm thấy trang đó", + "web3": "Web3 là gì?", "website-last-updated": "Trang cập nhật mới nhất", "what-is-ether": "Ether (ETH) là gì?", "what-is-ethereum": "Ethereum là gì?", "whitepaper": "Sách trắng", "defi-page": "Tài chính phi tập trung (DeFi)", "dao-page": "Tổ chức tự trị phi tập trung (DAO)", - "nft-page": "Non-Fungible Token (NFT)" + "nft-page": "Non-Fungible Token (NFT)", + "yes": "Có" } diff --git a/src/intl/vi/page-index.json b/src/intl/vi/page-index.json index acfa906b7c0..4bb3f1e07cc 100644 --- a/src/intl/vi/page-index.json +++ b/src/intl/vi/page-index.json @@ -1,6 +1,6 @@ { "page-index-hero-image-alt": "Hình minh họa thành phố tương lai, đại diện cho hệ sinh thái Ethereum.", - "page-index-meta-description": "Ethereum là một nền tảng toàn cầu, phi tập trung dành cho các ứng dụng về tài chính và các loại ứng dụng mới. Trên Ethereum, bạn có thể viết mã kiểm soát tài chính và xây dựng các ứng dụng có thể truy cập được từ bất cứ đâu trên thế giới.", + "page-index-meta-description": "Ethereum là một nền tảng toàn cầu, phi tập trung dành cho các ứng dụng về tài chính và các loại ứng dụng mới. Trên nền tảng Ethereum, bạn có thể lập trình để kiểm soát tài chính, và xây dựng các ứng dụng có thể truy cập được từ bất cứ đâu trên thế giới.", "page-index-meta-title": "Trang chủ", "page-index-title": "Chào mừng bạn đến với Ethereum", "page-index-description": "Ethereum là công nghệ do cộng đồng điều hành, cung cấp năng lượng cho tiền điện tử, ether (ETH) và hàng ngàn ứng dụng phi tập trung.", @@ -37,7 +37,7 @@ "page-index-developers": "Một ranh giới lập trình hoàn toàn mới", "page-index-developers-description": "Ethereum và các ứng dụng của nó là các nguồn mở minh bạch. Bạn có thể tự lập trình và tái lập các chức năng mà những người khác đã xây dựng. Nếu bạn không muốn học một ngôn ngữ mới, bạn có thể chỉ cần tương tác với mã nguồn mở bằng JavaScript và các ngôn ngữ hiện có khác.", "page-index-developers-button": "Cổng thông tin dành cho nhà phát triển", - "page-index-developers-code-examples": "Code examples", + "page-index-developers-code-examples": "Những minh họa về mã", "page-index-developers-code-example-title-0": "Ngân hàng của riêng bạn", "page-index-developers-code-example-description-0": "Bạn có thể thiết lập một ngân hàng theo trình tự logic mà bạn đã lập trình.", "page-index-developers-code-example-title-1": "Tiền tệ của riêng bạn", @@ -61,9 +61,9 @@ "page-index-contribution-banner-description": "Trang web này là mã nguồn mở với hàng trăm cộng tác viên trong cộng đồng. Bạn có thể đề xuất chỉnh sửa cho bất kỳ nội dung nào trên trang này, đề xuất các tính năng mới hấp dẫn hoặc giúp chúng tôi sửa lỗi.", "page-index-contribution-banner-image-alt": "Logo Ethereum được xếp bằng khối lego.", "page-index-contribution-banner-button": "Tìm hiểu thêm về đóng góp", - "page-index-tout-upgrades-title": "Level up your upgrade knowledge", - "page-index-tout-upgrades-description": "Ethereum consists of interconnected upgrades designed to make the network more scalable, secure, and sustainable.", - "page-index-tout-upgrades-image-alt": "Illustration of a spaceship representing the increased power after Ethereum upgrades.", + "page-index-tout-upgrades-title": "Nâng cao kiến thức cập nhật của bạn", + "page-index-tout-upgrades-description": "The Ethereum roadmap consists of interconnected upgrades designed to make the network more scalable, secure, and sustainable.", + "page-index-tout-upgrades-image-alt": "Hình minh họa của một tàu vũ trụ đại diện cho sức mạnh được gia tăng sau khi bản nâng cấp của Ethereum ra mắt.", "page-index-tout-enterprise-title": "Ethereum cho doanh nghiệp", "page-index-tout-enterprise-description": "Tìm hiểu cách mà Ethereum có thể mở ra các mô hình kinh doanh mới, giảm thiểu chi phí và đảm bảo tương lai cho doanh nghiêp của bạn.", "page-index-tout-enterprise-image-alt": "Hình minh họa một máy tính/thiết bị tương lai.", From f062e499a114a7c8bcd233778fa6faba682c1808 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 16:28:03 -0700 Subject: [PATCH 113/167] zh homepage import from crowdin --- src/intl/zh/common.json | 51 +++++++++++++++++++++++++++---------- src/intl/zh/page-index.json | 4 +-- 2 files changed, 39 insertions(+), 16 deletions(-) diff --git a/src/intl/zh/common.json b/src/intl/zh/common.json index ad692b0f68d..0af6e2eee82 100644 --- a/src/intl/zh/common.json +++ b/src/intl/zh/common.json @@ -8,13 +8,14 @@ "alt-eth-blocks": "组织成类似ETH符号的区块示例", "aria-toggle-search-button": "切换搜索按钮", "aria-toggle-menu-button": "切换菜单按钮", - "zen-mode": "Zen 模式", + "zen-mode": "禅模式(Zen Mode)", "back-to-top": "返回顶部", "banner-page-incomplete": "我们期待您的共同协作来完善本页内容。欢迎您在此添加任何您认为对其他人有帮助的内容。", "beacon-chain": "信标链", "binance-logo": "Binance徽标", "bittrex-logo": "Bittrex徽标", "brand-assets": "品牌资产", + "bridges": "区块链桥", "bug-bounty": "漏洞悬赏", "coinbase-logo": "Coinbase徽标", "coinmama-logo": "Coinmama徽标", @@ -35,12 +36,12 @@ "data-provided-by": "数据来源:", "decentralized-applications-dapps": "去中心化应用 (dapps)", "deposit-contract": "存款合约", - "devcon": "测试版", + "devcon": "Devcon", "developers": "开发者", "developers-home": "开发者主页", "docs": "相关文档", "documentation": "相关文档", - "dydx-logo": "Dydx徽标", + "dydx-logo": "dYdX徽章", "ecosystem": "生态系统", "edit-page": "编辑页面", "ef-blog": "以太坊基金会博客", @@ -49,7 +50,7 @@ "enterprise": "企业级应用", "enterprise-menu": "企业菜单", "esp": "生态系统支持方案", - "eth-current-price": "当前ETH价格 (美元)", + "eth-current-price": "当前 ETH 价格(美元)", "consensus-beaconcha-in-desc": "开源信标链浏览器", "consensus-beaconscan-desc": "共识层信标链浏览器 - Etherscan", "consensus-become-staker": "成为质押人", @@ -78,6 +79,9 @@ "ethereum-whitepaper": "以太坊白皮书", "events": "事件", "example-projects": "示例项目", + "feedback-prompt": "该页面对您的问题是否有帮助?", + "feedback-title-helpful": "感谢您的反馈!", + "feedback-title-not-helpful": "加入我们的公共 Discord,获得您想要的答案。", "find-wallet": "查找钱包", "foundation": "基金会", "gemini-logo": "Gemini徽标", @@ -101,6 +105,7 @@ "jobs": "工作机会", "kraken-logo": "Kraken徽标", "language-ar": "阿拉伯语", + "language-az": "阿塞拜疆语", "language-bg": "保加利亚语", "language-bn": "孟加拉语", "language-ca": "加泰罗尼亚语", @@ -112,6 +117,7 @@ "language-fa": "波斯语", "language-fi": "芬兰语", "language-fr": "法语", + "language-gl": "加利西亚语", "language-hi": "印度语", "language-hr": "克罗地亚语", "language-hu": "匈牙利语", @@ -119,7 +125,8 @@ "language-ig": "伊博语", "language-it": "意大利语", "language-ja": "日语", - "language-ko": "韩语/朝鲜语", + "language-ka": "格鲁吉亚语", + "language-ko": "韩语", "language-lt": "立陶宛语", "language-ml": "马拉雅拉姆语", "language-mr": "马拉地语", @@ -147,6 +154,7 @@ "languages": "语言", "last-24-hrs": "最近24小时", "last-edit": "上次编辑", + "layer-2": "第二层", "learn": "学习", "learn-by-coding": "通过编码来学习", "learn-menu": "学习菜单", @@ -154,7 +162,7 @@ "less": "更少", "light-mode": "明亮模式", "listing-policy-disclaimer": "本页所列产品并非官方认可,仅供参考。如果您想添加产品或对策略提供反馈,请在GitHub中提出问题。", - "listing-policy-raise-issue-link": "提出问题", + "listing-policy-raise-issue-link": "提 issue", "live-help": "在线帮助", "live-help-menu": "在线帮助菜单", "loading": "加载中...", @@ -162,8 +170,6 @@ "loading-error-refresh": "错误,请刷新。", "logo": "徽标", "loopring-logo": "Loopring徽标", - "london-upgrade-banner": "伦敦升级上线:", - "london-upgrade-banner-released": "伦敦升级已发布!", "mainnet-ethereum": "主网以太坊", "makerdao-logo": "MakerDao徽标", "matcha-logo": "Matcha徽标", @@ -172,7 +178,11 @@ "more": "更多", "more-info": "更多信息", "nav-beginners": "初学者", + "nav-developers": "开发者", + "nav-developers-docs": "开发者文档", + "nav-primary": "主导航", "next": "下一个", + "no": "否", "oasis-logo": "Oasis徽标", "online": "在线", "on-this-page": "在本页面", @@ -185,7 +195,12 @@ "pros": "优点", "read-more": "了解更多", "refresh": "请刷新页面。", + "return-home": "返回首页", + "run-a-node": "运行一个节点", "review-progress": "审核进度", + "rollup-component-website": "网站", + "rollup-component-developer-docs": "开发者文档", + "rollup-component-technology-and-risk-summary": "技术和风险概述", "search": "搜索​​​​", "search-box-blank-state-text": "开始探索!", "search-eth-address": "这看起来像一个以太坊地址,但我们不提供针对地址的特定数据,请尝试在区块浏览器上搜索它,就像这样", @@ -196,13 +211,17 @@ "shard-chains": "分片链", "show-all": "显示全部", "show-less": "收起", - "site-description": "以太坊是一个全球性的、分散的资金和新型应用程序平台。 在以太坊,您可以写代码来控制钱,并在世界任何地方建立可以访问的应用程序。", + "site-description": "以太坊是一个全球性的、分散的资金和新型应用程序平台。在以太坊,您可以写代码来控制钱,并在世界任何地方建立可以访问的应用程序。", "site-title": "ethereum.org", "skip-to-main-content": "跳转至主要内容", "smart-contracts": "智能合约", "stablecoins": "稳定币", "staking": "权益质押", - "staking-community-grants": "权益质押社区赠予", + "solo": "单独质押", + "saas": "质押即服务", + "pools": "联合质押", + "staking-community-grants": "权益质押社区资助", + "academic-grants-round": "学术资助", "summary": "概览", "support": "支持", "terms-of-use": "使用条款", @@ -215,11 +234,12 @@ "translation-banner-button-translate-page": "翻译页面", "translation-banner-title-new": "帮助翻译此页面", "translation-banner-title-update": "帮助更新此页面", - "translation-banner-no-bugs-title": "这里没有 Bug!", - "translation-banner-no-bugs-content": "本页尚未翻译。我们故意暂时将本页保留英文。", - "translation-banner-no-bugs-dont-show-again": "不再显示", "translation-program": "翻译计划", "translation-progress": "翻译进度", + "translation-banner-no-bugs-title": "没有错误!", + "translation-banner-no-bugs-content": "此页面未翻译,因此特意以英文显示。", + "translation-banner-no-bugs-dont-show-again": "不再显示", + "try-using-search": "请尝试使用搜索来查找相关内容,或者", "tutorials": "教程", "uniswap-logo": "Uniswap徽标", "upgrades": "升级", @@ -228,11 +248,14 @@ "use-ethereum-menu": "使用以太坊菜单", "vision": "愿景", "wallets": "钱包", + "we-couldnt-find-that-page": "我们找不到该页面", + "web3": "什么是 Web3?", "website-last-updated": "网站最后更新", "what-is-ether": "什么是以太币(ETH)?", "what-is-ethereum": "什么是以太坊?", "whitepaper": "白皮书", "defi-page": "去中心化金融 (DeFi)", "dao-page": "去中心化自治组织 (DAO)", - "nft-page": "非同质化代币 (NFT)" + "nft-page": "非同质化代币 (NFT)", + "yes": "是" } diff --git a/src/intl/zh/page-index.json b/src/intl/zh/page-index.json index 01d91a630eb..0af9d4307db 100644 --- a/src/intl/zh/page-index.json +++ b/src/intl/zh/page-index.json @@ -13,7 +13,7 @@ "page-index-get-started-wallet-image-alt": "插图:一个身体是保险箱的机器人,代表以太坊钱包。", "page-index-get-started-eth-title": "获取 ETH", "page-index-get-started-eth-description": "ETH 是以太坊的货币 – 你可以在应用程序中使用它。", - "page-index-get-started-eth-image-alt": "插图:一群人赞叹以太币 (ETH) 的符号。", + "page-index-get-started-eth-image-alt": "插图:一群人赞叹以太币(ETH)的符号。", "page-index-get-started-dapps-title": "使用去中心化应用", "page-index-get-started-dapps-description": "Dapps 是由以太坊提供支持的应用程序。看看你可以做什么。", "page-index-get-started-dapps-image-alt": "插图:一只狗在使用计算机。", @@ -62,7 +62,7 @@ "page-index-contribution-banner-image-alt": "由乐高积木拼成的以太坊徽标", "page-index-contribution-banner-button": "更多协作说明", "page-index-tout-upgrades-title": "提升您对网络升级的理解", - "page-index-tout-upgrades-description": "以太坊包含相互关联的升级,旨在提高网络的可扩展性、安全性和可持续性。", + "page-index-tout-upgrades-description": "以太坊路线图由相互连接的升级组成,旨在使网络更具可扩展性、安全性和可持续性。", "page-index-tout-upgrades-image-alt": "插图:一艘宇宙飞船,代表以太坊升级后,威力提升。", "page-index-tout-enterprise-title": "企业级以太坊", "page-index-tout-enterprise-description": "查看以太坊如何开启新业务模式,降低您的成本,并使您的业务经得起未来的考验。", From e4c5ddde6e4e6393931184e7ccc72e25b68976f5 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 17:05:07 -0700 Subject: [PATCH 114/167] cs Use Ethereum content import from Crowdin --- src/intl/cs/page-dapps.json | 208 ++++++++++++++++++ src/intl/cs/page-developers-index.json | 16 +- .../cs/page-developers-learning-tools.json | 45 ++++ .../cs/page-developers-local-environment.json | 35 +++ src/intl/cs/page-eth.json | 97 ++++++++ src/intl/cs/page-get-eth.json | 66 ++++++ src/intl/cs/page-languages.json | 15 ++ src/intl/cs/page-run-a-node.json | 138 ++++++++++++ src/intl/cs/page-stablecoins.json | 146 ++++++++++++ src/intl/cs/page-wallets-find-wallet.json | 143 ++++++++++++ src/intl/cs/page-wallets.json | 70 ++++++ src/intl/cs/page-what-is-ethereum.json | 69 ++++++ 12 files changed, 1042 insertions(+), 6 deletions(-) create mode 100644 src/intl/cs/page-dapps.json create mode 100644 src/intl/cs/page-developers-learning-tools.json create mode 100644 src/intl/cs/page-developers-local-environment.json create mode 100644 src/intl/cs/page-eth.json create mode 100644 src/intl/cs/page-get-eth.json create mode 100644 src/intl/cs/page-languages.json create mode 100644 src/intl/cs/page-run-a-node.json create mode 100644 src/intl/cs/page-stablecoins.json create mode 100644 src/intl/cs/page-wallets-find-wallet.json create mode 100644 src/intl/cs/page-wallets.json create mode 100644 src/intl/cs/page-what-is-ethereum.json diff --git a/src/intl/cs/page-dapps.json b/src/intl/cs/page-dapps.json new file mode 100644 index 00000000000..1db0df1e818 --- /dev/null +++ b/src/intl/cs/page-dapps.json @@ -0,0 +1,208 @@ +{ + "page-dapps-1inch-logo-alt": "Logo 1inch", + "page-dapps-aave-logo-alt": "Logo Aave", + "page-dapps-add-button": "Navrhnout dapp", + "page-dapps-add-title": "Přidat dapp", + "page-dapps-audius-logo-alt": "Logo Audius", + "page-dapps-augur-logo-alt": "Logo Augur", + "page-dapps-axie-infinity-logo-alt": "Logo Axie Infinity", + "page-dapps-brave-logo-alt": "Logo Brave", + "page-dapps-category-arts": "Umění a móda", + "page-dapps-category-browsers": "Prohlížeče", + "page-dapps-category-collectibles": "Digitální sběratelské předměty", + "page-dapps-category-competitive": "Soutěže", + "page-dapps-category-computing": "Nástroje pro vývojáře", + "page-dapps-category-dex": "Směny tokenů", + "page-dapps-category-investments": "Investice", + "page-dapps-category-lending": "Úvěry a půjčky", + "page-dapps-category-lottery": "Crowdfunding", + "page-dapps-category-marketplaces": "Tržiště", + "page-dapps-category-music": "Hudba", + "page-dapps-category-payments": "Platby", + "page-dapps-category-insurance": "Pojištění", + "page-dapps-category-portfolios": "Portfolia", + "page-dapps-category-trading": "Obchodní a predikční trhy", + "page-dapps-category-utilities": "Utility", + "page-dapps-category-worlds": "Virtuální světy", + "page-dapps-choose-category": "Vybrat kategorii", + "page-dapps-collectibles-benefits-1-description": "Když umění na Ethereu tokenizujete, můžete každému snadno prokázat, že je vaše. Cestu uměleckého díla lze totiž vysledovat, od vytvoření k jemu současnému držiteli. Tak zabráníte padělání.", + "page-dapps-collectibles-benefits-1-title": "Doložitelné vlastnictví", + "page-dapps-collectibles-benefits-2-description": "Úhrada za streamování hudby nebo koupi uměleckého díla je k umělcům mnohem spravedlivější. U Etherea nepotřebujete tolik zprostředkovatelů. A když jsou potřeba, pak náklady na ně nejsou tak vysoké, protože platformy nemusí platit za infrastrukturu sítě.", + "page-dapps-collectibles-benefits-2-title": "Spravedlivější k tvůrcům", + "page-dapps-collectibles-benefits-3-description": "Tokenizované sběratelské předměty jsou vázány na vaši Ethereum adresu, ne platformu. Takže můžete prodávat věci stejně jako ve hrách na jakékoliv Ethereum tržišti.", + "page-dapps-collectibles-benefits-3-title": "Sběratelské předměty jdou s vámi", + "page-dapps-collectibles-benefits-4-description": "V dnešní době najdete spoustu nástrojů a produktů, jejichž prostřednictvím můžete tokenizovat vaše umění a prodávat jej! Vaše tokeny se můžou prodávat na jakékoliv Ethereum sběratelské platformě.", + "page-dapps-collectibles-benefits-4-title": "Funkční infrastruktura", + "page-dapps-collectibles-benefits-description": "Jedná se o aplikace, které se zaměřují na digitální vlastnictví, zvyšují potenciál výdělku pro tvůrce, a vymýšlejí nové způsoby, jak investovat do vašich oblíbených tvůrců a jejich práce.", + "page-dapps-collectibles-benefits-title": "Decentralizované sběratelské předměty a streamování", + "page-dapps-collectibles-button": "Umění a sběratelské předměty", + "page-dapps-collectibles-description": "Jedná se o aplikace, které se zaměřují na digitální vlastnictví, zvyšují potenciál výdělku pro tvůrce, a vymýšlejí nové způsoby, jak investovat do vašich oblíbených tvůrců a jejich práce.", + "page-dapps-collectibles-title": "Decentralizované umění a sběratelské předměty", + "page-dapps-compound-logo-alt": "Logo Compound", + "page-dapps-cryptopunks-logo-alt": "Logo CryptoPunks", + "page-dapps-cryptovoxels-logo-alt": "Logo Cryptovoxels", + "page-dapps-dapp-description-1inch": "Pomáhá vyhnout se vysokému cenovému skluzu sečtením nejlepších cen.", + "page-dapps-dapp-description-aave": "Půjčte své tokeny, abyste vydělali na úrocích. Tokeny a úroky si můžete kdykoli vybrat.", + "page-dapps-dapp-description-async-art": "Vytvářejte, sbírejte a obchodujte s uměním #ProgrammableArt – digitálními malbami rozdělenými na „vrstvy“, které můžete použít k ovlivnění celkového obrazu. Každý vzor a vrstva je token ERC721.", + "page-dapps-dapp-description-audius": "Decentralizovaná streamovací platforma. Posloucháte hudbu? Peníze jdou přímo tvůrcům, ne zavedeným značkám.", + "page-dapps-dapp-description-augur": "Sázejte na výsledky sportovních utkání a závodů, ekonomického vývoje, a další světových událostí.", + "page-dapps-dapp-description-axie-infinity": "Obchodujte a bojujte se stvořením známým jako Axies. Hrajte a vydělávejte, na mobilu.", + "page-dapps-dapp-description-brave": "Získejte tokeny za procházení a podpořte jimi vaše oblíbené tvůrce.", + "page-dapps-dapp-description-cent": "Sociální síť, na které vyděláváte peníze zveřejňováním NFT.", + "page-dapps-dapp-description-compound": "Půjčte své tokeny, abyste vydělali na úrocích. Tokeny a úroky si můžete kdykoli vybrat.", + "page-dapps-dapp-description-cryptopunks": "Kupujte, přihazujte, a nabízejte Punky k prodeji, což je jeden z prvních tokenových sběratelských předmětů na Ethereu.", + "page-dapps-dapp-description-cryptovoxels": "Vytvářejte umělecké galerie, budujte obchody, a kupujte půdu ve virtuálním světě Ethereum.", + "page-dapps-dapp-description-dark-forest": "Ovládněte planety v nekonečném, proceduálně generovaném, kryptograficky specifikovaném vesmíru.", + "page-dapps-dapp-description-decentraland": "Sbírejte, obchodujte s virtuální půdou ve virtuálním světě, který můžete prozkoumat.", + "page-dapps-dapp-description-dydx": "Otevřete krátké pozice, nebo pozice s až 10násobnou finanční pákou. Dostupné jsou také úvěry a půjčky.", + "page-dapps-dapp-description-ens": "Uživatelsky přívětivá jména pro Ethereum adresy a decentralizované stránky.", + "page-dapps-dapp-description-foundation": "Investujte do jedinečných edic digitálních uměleckých děl a obchodujte s jinými kupci.", + "page-dapps-dapp-description-gitcoin": "Vydělávejte kryptoměny, které fungují díky open-source softwaru.", + "page-dapps-dapp-description-gitcoin-grants": "Crowdfunding pro komunitní projekty Etherea se zesílenými příspěvky", + "page-dapps-dapp-description-gods-unchained": "Strategická hra se sběratelskými kartičkami. Karty, které vyhrajete, můžete v reálném světě prodat.", + "page-dapps-dapp-description-golem": "Přistup ke sdílenému výpočetnímu výkonu nebo pronájem vlastních zdrojů.", + "page-dapps-dapp-description-radicle": "Bezpečná peer-to-peer spolupráce na psaní kódu bez prostředníků.", + "page-dapps-dapp-description-loopring": "Obchodní platforma typu Peer-to-peer stvořená pro rychlost.", + "page-dapps-dapp-description-marble-cards": "Vytvářejte jedinečné digitální karty pomocí na URL a obchodujte s nimi.", + "page-dapps-dapp-description-matcha": "Vyhledávání na několika burzách, abyste našli nejlepší cenu.", + "page-dapps-dapp-description-nifty-gateway": "Nakupujte díla od špičkových umělců, atletů, značek a tvůrců na blockchainu.", + "page-dapps-dapp-description-oasis": "Se stabilní kryptoměnou Dai od Etherea můžete obchodovat, půjčovat si ji, a ještě s ní ušetříte.", + "page-dapps-dapp-description-opensea": "Objevte limitovanou edicí zboží, kterou můžete nakupovat, prodávat nebo s ní obchodovat.", + "page-dapps-dapp-description-opera": "Poslat kryptoměnu z prohlížeče obchodníkům, ostatním uživatelům a aplikacím.", + "page-dapps-dapp-description-poap": "Sbírejte NFT, díky nimž budete mít v ruce důkaz, že jste se zúčastnili různých virtuálních nebo prezenčních událostí. Můžete se s nimi zapojit do tomboly, hlasování, spolupráci nebo pochlubit.", + "page-dapps-dapp-description-polymarket": "Sázejte na výsledky. Obchodujte na informačních trzích.", + "page-dapps-dapp-description-pooltogether": "Loterie, kterou nemůžete prohrát. Ceny každý týden.", + "page-dapps-dapp-description-index-coop": "Burzy DEX jsou kryptoměnový indexový fond, který následuje hodnotu hlavních DeFi tokenů.", + "page-dapps-dapp-description-nexus-mutual": "Pojištění bez pojišťovny. Chraňte se před chybami v chytrých kontraktech a jejich hacknutím.", + "page-dapps-dapp-description-etherisc": "Šablona pro decentralizované pojištění, kterou může využít každý, kdo si chce vytvořit vlastní pojistné krytí.", + "page-dapps-dapp-description-zapper": "Sledujte své portfolio a využívejte řadu produktů DeFi z jednoho rozhraní.", + "page-dapps-dapp-description-zerion": "Spravujte své portfolio a jednoduše vyhodnoťte každé jednotlivé aktivum DeFi na trhu.", + "page-dapps-dapp-description-rotki": "Open source nástroj pro sledování portfolia, analýzy, účetnictví a daňové výkaznictví, který respektuje vaše soukromí.", + "page-dapps-dapp-description-rarible": "Vytvářejte, prodávejte a kupujte tokenizované sběratelské předměty.", + "page-dapps-dapp-description-sablier": "Přenos peněz v reálném čase.", + "page-dapps-dapp-description-superrare": "Kupujte digitální umělecká díla přímo od umělců nebo na sekundárních trzích.", + "page-dapps-dapp-description-token-sets": "Investiční strategie do kryptoměn, které se automaticky vyvažují.", + "page-dapps-dapp-description-tornado-cash": "Posílejte anonymní transakce na Ethereu.", + "page-dapps-dapp-description-uniswap": "Tokeny můžete jednoduše vyměnit, nebo je poskytnout jako odměnu v %.", + "page-dapps-docklink-dapps": "Úvod k decentralozovaným plikacím", + "page-dapps-docklink-smart-contracts": "Chytré kontrakty", + "page-dapps-dark-forest-logo-alt": "Logo Dark Forest", + "page-dapps-decentraland-logo-alt": "Logo Decentralandu", + "page-dapps-index-coop-logo-alt": "Logo Index Coop", + "page-dapps-nexus-mutual-logo-alt": "Logo Nexus Mutual", + "page-dapps-etherisc-logo-alt": "Logo Etherisc", + "page-dapps-zapper-logo-alt": "Logo Zapper", + "page-dapps-zerion-logo-alt": "Logo Zerion", + "page-dapps-rotki-logo-alt": "Logo Rotki", + "page-dapps-desc": "Najděte si Ethereum aplikaci, kterou chcete vyzkoušet.", + "page-dapps-doge-img-alt": "Ilustrace se psem doge, který používá počítač", + "page-dapps-dydx-logo-alt": "logo Dydx", + "page-dapps-editors-choice-dark-forest": "Hrajte proti ostatním, abyste obsadili planety a vyzkoušeli technologii škálování a soukromí Etherea. Možná jen pro ty, kteří už znají Ethereum.", + "page-dapps-editors-choice-description": "Pár momentálně nejoblíbenějších dappek týmu ethereum.org. Prozkoumejte další dappky níže.", + "page-dapps-editors-choice-foundation": "Investujte do kultury. Kupujte, obchodujte, prodávejte jedinečná digitální díla a módu od několik fantastických umělců, hudebníků, a značek.", + "page-dapps-editors-choice-header": "Volby editorů", + "page-dapps-editors-choice-pooltogether": "Pořiďte si lístek do neztrátové loterie. Každý týden posíláme výnos z úroku vypočítaný z celého fondu lístků jednomu šťastnému výherci. Získejte své peníze zpátky, kdykoliv se vám zlíbí.", + "page-dapps-editors-choice-uniswap": "Směňte své tokeny snadno. Oblíbené komunity, které umožňují obchodovat tokeny s lidmi po celé síti.", + "page-dapps-ens-logo-alt": "Logo Ethereum Name Service", + "page-dapps-explore-dapps-description": "Mnoho decentralizovaných aplikací je stále experimentálních, protože testují možnosti decentralizovaných sítích. Avšak v kategoriích technologie, finance, hry a sběratelství by se našli někteří úspěšní průkopníci.", + "page-dapps-explore-dapps-title": "Prozkoumat dappky", + "page-dapps-features-1-description": "Jakmile je kód decentralizované aplikace nasazen do Etherea, nemůže být vyjmut. Kdokoli tak může využívat funkce dané decentralizované aplikace. Aplikaci tak může stále využívat, i kdyby se tým, který aplikaci vyvinul, rozpustil. Co se jednou na Ethereu objeví, už tam zůstane.", + "page-dapps-features-1-title": "Bez vlastníků", + "page-dapps-features-2-description": "Nikdo vám nemůže zabránit v používání decentralizované aplikace ani v odesílání transakcí. Například, pokud by byl Twitter na Ethereu, nikdo vám nemůže zablokovat účet nebo vám zabránit ve tweetování.", + "page-dapps-features-2-title": "Bez cenzury", + "page-dapps-features-3-description": "Protože ETH patří pod Ethereum, platby touto kryptoměnou jsou pro Ethereum nativní. Vývojáři nemusí trávit čas integrací poskytovatelů plateb třetích stran.", + "page-dapps-features-3-title": "Integrované platby", + "page-dapps-features-4-description": "Kód decentralizované aplikace je často ve výchozím nastavení otevřený a kompatibilní. Týmy pravidelně stavějí na práci jiného týmu. Pokud chcete umožnit uživatelům výměnu tokenů přímo v dappce, můžete jednoduše připojit kód jiné aplikace.", + "page-dapps-features-4-title": "Připojit a hrát", + "page-dapps-features-5-description": "U většiny dappek nemusíte sdílet svou identitu z reálného světa. Váš účet Ethereum je váš login a potřebujete jen peněženku.", + "page-dapps-features-5-title": "Jedno anonymní přihlášení", + "page-dapps-features-6-description": "Kryptografie zajišťuje, že útočníci nemůžou vytvářet transakce a jiné interakce v decentralizovaných aplikacích vašim jménem. Kroky v aplikacích vždy autorizujete pomocí Ethereum účtu, obvykle prostřednictvím vaší peněženky, takže uchovávejte přihlašovací údaje v bezpečí.", + "page-dapps-features-6-title": "Chráněné šifrováním", + "page-dapps-features-7-description": "Jakmile je ostrá verze decentralizované aplikace na Ethereu, k jejímu výpadku může dojít jedině v případě, že spadne celá síť Ethereum. Na sítě velikosti Etherea není snadné zaútočit.", + "page-dapps-features-7-title": "Žádné výpadky", + "page-dapps-finance-benefits-1-description": "K finančním službám na Ethereu se nemusíte registrovat. Do začátku vám stačí pouze finanční prostředky a internetové připojení.", + "page-dapps-finance-benefits-1-title": "Otevřený přístup", + "page-dapps-finance-benefits-2-description": "Čeká na vás svět tokenů, se kterými můžete obchodovat v rámci finančních produktů. Na Ethereu vznikají za přispění uživatelů nové tokeny každý den.", + "page-dapps-finance-benefits-2-title": "Nová ekonomika tokenů", + "page-dapps-finance-benefits-3-description": "Komunita uživatelů vytvořila stabilní kryptoměny, tedy méně volatilní kryptoměnu. Díky tomu máte možnost experimentovat a využívat kryptoměnu bez rizika a nejistoty.", + "page-dapps-finance-benefits-3-title": "Stabilní kryptoměny (stablecoins)", + "page-dapps-finance-benefits-4-description": "Finanční produkty na Ethereu jsou modulární a vzájemně kompatibilní. Na trh se neustále dostávají nové konfigurace těchto modulů, které rozšiřují možnosti využití kryptoměn.", + "page-dapps-finance-benefits-4-title": "Propojené finanční služby", + "page-dapps-finance-benefits-description": "Čím to je, že se decentralizovaným finančním aplikacím na Ethereu daří?", + "page-dapps-finance-benefits-title": "Decentralizované finance", + "page-dapps-finance-button": "Finance", + "page-dapps-finance-description": "Jedná se o aplikace, které se zaměřují na vytváření finančních služeb s kryptoměnami. Nabízejí podobné služby jako jsou úvěry, půjčky, výnosy z úroků a soukromé platby, a přitom nepotřebují žádné osobní údaje.", + "page-dapps-finance-title": "Decentralizované finance", + "page-dapps-foundation-logo-alt": "Logo fondu", + "page-dapps-gaming-benefits-1-description": "Ať už se jedná o virtuální půdu, nebo sběratelské kartičky, s položkami můžete obchodovat na sběratelských trzích. Herní předměty mají reálnou hodnotu.", + "page-dapps-gaming-benefits-1-title": "Hodnota herních předmětů je po tokenizaci dvojnásobná", + "page-dapps-gaming-benefits-2-description": "Vlastníkem předmětů a v některých případech i postupu ve hře jste vy, nikoli herní společnosti. O nic tedy nepřijdete, pokud je společnost, která za hrou stojí, napadena, dojde k poruše serveru nebo se společnosti rozpadne.", + "page-dapps-gaming-benefits-2-title": "Vaše uložené pozice jsou v bezpečí", + "page-dapps-gaming-benefits-3-description": "Stejně jako si kdokoli na Ethereu může ověřit probíhající platby, mohou tuto možnost využít i hry, aby zajistili férovou hru. Teoreticky je možné ověřit vše od počtu kritických zásahů až po velikost soupeřovy válečné kořisti.", + "page-dapps-gaming-benefits-3-title": "Prokazatelná férovost", + "page-dapps-gaming-benefits-description": "Čím to je, že se decentralizovaným herním aplikacím na Ethereu daří?", + "page-dapps-gaming-benefits-title": "Decentralizované hry", + "page-dapps-gaming-button": "Hry", + "page-dapps-gaming-description": "Jedná se o aplikace, které se zaměřují na vytváření virtuálních světů a souboje s ostatními hráči pomocí sběratelských předmětů, které mají reálnou hodnotu.", + "page-dapps-gaming-title": "Decentralizované hry", + "page-dapps-get-some-eth-description": "Za jednotlivé akce v decentralizovaných aplikacích platíte transakčním poplatkem", + "page-dapps-get-started-subtitle": "K vyzkoušení jakékoli decentralizované aplikace potřebujete peněženku a ETH. Peněženka vám umožní se připojit a přihlásit. Navíc budete potřebovat další ETH k zaplacení jakýchkoli transakčních poplatků.", + "page-dapps-get-started-title": "Začínáme", + "page-dapps-gitcoin-grants-logo-alt": "Logo Gitcoin Grants", + "page-dapps-gitcoin-logo-alt": "Logo Gitcoin", + "page-dapps-gods-unchained-logo-alt": "Logo Gods unchained", + "page-dapps-golem-logo-alt": "Logo Golem", + "page-dapps-radicle-logo-alt": "Logo Radicle", + "page-dapps-hero-header": "Nástroje a služby, které běží na Ethereu", + "page-dapps-hero-subtitle": "Decentralizované aplikace představují novou vlnu aplikací, které pomocí Etherea narušují zavedené obchodní modely, nebo vytvářejí nové.", + "page-dapps-how-dapps-work-p1": "Backend kód (chytré kontrakty) dappek je uložený na decentralizované síti, ne na centralizovaném serveru. K ukládání dat využívají decentralizované aplikace blockchain Etherea a pro vlastní logiku chytré kontrakty.", + "page-dapps-how-dapps-work-p2": "Chytrý kontrakt funguje na principu souboru pravidel, které existují na blockchainu, kde k nim může každý přistupovat a používat podle daných pravidel. Princip je stejný jako u prodejního automatu: pokud jej naplníte dostatečným množstvím pečlivě vybraných prostředků, dostanete to, co chcete. A podobně jako prodejní automaty mohou chytré kontrakty uchovávat finanční prostředky stejně jako účet Ethereum. Kód tak může zprostředkovávat dohody a transakce.", + "page-dapps-how-dapps-work-p3": "Decentralizované aplikace, které jednou nasadíte do sítě Ethereum, už nemůžete měnit. Aplikace jsou decentralizované proto, že jsou řízeny logikou zapsanou v chytrém kontraktu, nikoli jednotlivcem nebo společností.", + "page-dapps-how-dapps-work-title": "Jak decentralizované aplikace fungují", + "page-dapps-learn-callout-button": "Začněte tvořit", + "page-dapps-learn-callout-description": "Na našem komunitním vývojářském portálu najdete dokumenty, nástroje a frameworky, které vám pomohou decentralizovanou aplikaci vytvořit.", + "page-dapps-learn-callout-image-alt": "Ilustrace ručně stavěného symbolu ETH z lega.", + "page-dapps-learn-callout-title": "Naučte se vytvářet decentralizované aplikace", + "page-dapps-loopring-logo-alt": "Logo Loopring", + "page-dapps-magic-behind-dapps-description": "Decentralizované aplikace mohou působit jako běžné aplikace. Za touto maskou se však skrývá několik jedinečných vlastností, protože zdědily všechny nadstandardní funkce Etherea. Níže najdete, čím se dappky liší od běžných aplikací.", + "page-dapps-magic-behind-dapps-link": "Proč je Ethereum tak skvělé?", + "page-dapps-magic-behind-dapps-title": "Kouzlo decentralizovaných aplikací", + "page-dapps-magic-title-1": "Kouzlo", + "page-dapps-magic-title-2": "na jeho stopě", + "page-dapps-magician-img-alt": "Ilustrace kouzelníků", + "page-dapps-marble-cards-logo-alt": "Logo marble.card", + "page-dapps-matcha-logo-alt": "Logo Matcha", + "page-dapps-mobile-options-header": "Procházet jinou kategorii", + "page-dapps-nifty-gateway-logo-alt": "Logo Nifty Gateway", + "page-dapps-oasis-logo-alt": "Logo Oasis", + "page-dapps-opensea-logo-alt": "Logo OpenSea", + "page-dapps-opera-logo-alt": "Logo Opera", + "page-dapps-polymarket-logo-alt": "Logo Polymarket", + "page-dapps-poap-logo-alt": "Logo POAP", + "page-dapps-pooltogether-logo-alt": "Logo PoolTogether", + "page-dapps-rarible-logo-alt": "Logo Rarible", + "page-dapps-ready-button": "Přejít", + "page-dapps-ready-description": "Vyberte si decentralizovanou aplikaci, kterou chcete vyzkoušet.", + "page-dapps-ready-title": "Jste připraveni?", + "page-dapps-sablier-logo-alt": "Logo Sablier", + "page-dapps-set-up-a-wallet-button": "Najít peněženku", + "page-dapps-set-up-a-wallet-description": "Peněženka slouží jako „přihlášení“ do decentralizované aplikace.", + "page-dapps-set-up-a-wallet-title": "Nastavení peněženky", + "page-dapps-superrare-logo-alt": "Logo SuperRare", + "page-dapps-technology-button": "Technologie", + "page-dapps-technology-description": "Jedná se o aplikace, které se zaměřují na decentralizaci vývojářských nástrojů, začlenění kryptoměnových systémů do existující technologie a vytváření tržišť pro vývoj open-source aplikace.", + "page-dapps-technology-title": "Decentralizovaná technologie", + "page-dapps-token-sets-logo-alt": "Logo Token sets", + "page-dapps-tornado-cash-logo-alt": "Logo Tornado cash", + "page-dapps-uniswap-logo-alt": "Logo Uniswap", + "page-dapps-wallet-callout-button": "Najít peněženku", + "page-dapps-wallet-callout-description": "Peněženky jsou vlastně decentralizované aplikace. Podle funkcí si vyberte tu, která vám bude nejvíce vyhovovat.", + "page-dapps-wallet-callout-image-alt": "Ilustrace robota.", + "page-dapps-wallet-callout-title": "Zobrazit peněženky", + "page-dapps-warning-header": "Vše si vždy důkladně prostudujte", + "page-dapps-warning-message": "Ethereum je nová technologie, a i většina aplikací je nových. Před uložením velkého množství peněz se ujistěte, že znáte všechna rizika.", + "page-dapps-what-are-dapps": "Co jsou decentralizované aplikace?", + "page-dapps-more-on-defi-button": "Další informace o decentralizovaných financích", + "page-dapps-more-on-nft-button": "Další informace o tokenizovaných sběratelských předmětech", + "page-dapps-more-on-nft-gaming-button": "Další informace o tokenizováných herních předmětech" +} diff --git a/src/intl/cs/page-developers-index.json b/src/intl/cs/page-developers-index.json index 5997f323975..484dcd38d90 100644 --- a/src/intl/cs/page-developers-index.json +++ b/src/intl/cs/page-developers-index.json @@ -31,15 +31,17 @@ "page-developers-gas-link": "Palivo", "page-developers-get-started": "Čím byste chtěli začít?", "page-developers-improve-ethereum": "Pomoz nám ethereum.org vylepšit.", - "page-developers-improve-ethereum-desc": "Stejně jako web ethereum.org jsou tyto dokumenty výsledkem práce komunity. Pokud vidíš chyby, prostor pro vylepšení nebo nové možnosti, jak pomoci vývojářům platformy Ethereum, vytvoř PR (pull request - žádost o změnu).", + "page-developers-improve-ethereum-desc": "Stejně jako web ethereum.org jsou tyto dokumenty výsledkem práce komunity. Pokud vidíte chyby, prostor pro vylepšení nebo nové možnosti, jak pomoci vývojářům platformy Ethereum, vytvořte PR (pull request – žádost o změnu).", "page-developers-into-eth-desc": "Seznámení s blockchainem a platformou Ethereum", + "page-developers-intro-ether-desc": "Úvod do kryptoměn a měny Ether", "page-developers-intro-dapps-desc": "Seznámení s decentralizovanými aplikacemi", - "page-developers-intro-dapps-link": "Úvod k dapps", + "page-developers-intro-dapps-link": "Úvod k decentralizovaným aplikacím", "page-developers-intro-eth-link": "Úvod k platformě Ethereum", + "page-developers-intro-ether-link": "Úvod ke kryptoměně Ether", "page-developers-intro-stack": "Úvod k sadě nástrojů", "page-developers-intro-stack-desc": "Seznámení se sadou nástrojů platformy Ethereum", - "page-developers-js-libraries-desc": "Používání JavaScriptu pro komunikaci s chytrými kontrakty", - "page-developers-js-libraries-link": "Knihovny jazyka JavaScript", + "page-developers-js-libraries-desc": "Použití JavaScriptu pro komunikaci s chytrými smlouvami", + "page-developers-js-libraries-link": "JavaScript knihovny", "page-developers-language-desc": "Používání Etherea s běžnými jazyky", "page-developers-languages": "Programovací jazyky", "page-developers-learn": "Pochopit vývoj na Ethereu", @@ -48,6 +50,8 @@ "page-developers-learn-tutorials-cta": "Zobrazit výukové kurzy", "page-developers-learn-tutorials-desc": "Nauč se, jak vyvíjet na Ethereu krok za krokem od tvůrců, kteří to již umí.", "page-developers-meta-desc": "Dokumentace, výukové kurzy a nástroje pro vývojáře na platformě Ethereum.", + "page-developers-mev-desc": "Úvod do extrahovatelné hodnoty těžby (MEV)", + "page-developers-mev-link": "Extrahovatelná hodnota těžby (MEV)", "page-developers-mining-desc": "Jak se tvoří nové bloky a dosahuje konsenzu", "page-developers-mining-link": "Těžba", "page-developers-networks-desc": "Přehled o hlavní síti (mainnet) a zkušebních sítích (testnet)", @@ -60,8 +64,8 @@ "page-developers-read-docs": "Přečíst dokumentaci", "page-developers-scaling-desc": "Řešení pro rychlejší transakce", "page-developers-scaling-link": "Škálování", - "page-developers-smart-contract-security-desc": "Bezpečnostní opatření, na která je třeba dbát během vývoje", - "page-developers-smart-contract-security-link": "Bezpečnost", + "page-developers-smart-contract-security-desc": "Bezpečnostní opatření, na která je třeba dbát během vývoje chytrých kontraktů", + "page-developers-smart-contract-security-link": "Bezpečnost chytrých kontraktů", "page-developers-set-up": "Nastavit místní prostředí", "page-developers-setup-desc": "Připrav si svou sadu nástrojů nastavením vývojového prostředí.", "page-developers-smart-contracts-desc": "Logika na pozadí dapps – smlouvy s automatizovaným prováděním", diff --git a/src/intl/cs/page-developers-learning-tools.json b/src/intl/cs/page-developers-learning-tools.json new file mode 100644 index 00000000000..5e363094e78 --- /dev/null +++ b/src/intl/cs/page-developers-learning-tools.json @@ -0,0 +1,45 @@ +{ + "page-learning-tools-bloomtech-description": "Kurz BloomTech Web3 vás naučí dovednostem, které zaměstnavatelé u inženýrů hledají.", + "page-learning-tools-bloomtech-logo-alt": "Logo BloomTech", + "page-learning-tools-bootcamps": "Vývojářské bootcampy", + "page-learning-tools-bootcamps-desc": "Placené online kurzy, které vás rychle uvedou do obrazu.", + "page-learning-tools-browse-docs": "Procházet dokumentaci", + "page-learning-tools-capture-the-ether-description": "Capture the Ether je hra, ve které se učíte o zabezpečení Etherea hackováním chytrých kontraktů.", + "page-learning-tools-capture-the-ether-logo-alt": "Logo Capture the Ether", + "page-learning-tools-chainshot-description": "Online vývojářský bootcamp o Ethereu vedený instruktory a další kurzy.", + "page-learning-tools-chainshot-logo-alt": "Logo ChainShot", + "page-learning-tools-coding": "Učte se psaním kódu", + "page-learning-tools-coding-subtitle": "Tyto nástroje vám pomohou experimentovat s Ethereem, pokud dáváte přednost interaktivnějšímu vzdělávání.", + "page-learning-tools-consensys-academy-description": "On-line bootcamp pro vývojáře Etherea.", + "page-learning-tools-consensys-academy-logo-alt": "Logo ConsenSys Academy", + "page-learning-tools-buildspace-description": "Zjistěte více o kryptoměnách tvořením super projektů.", + "page-learning-tools-buildspace-logo-alt": "Logo _buildspace", + "page-learning-tools-cryptozombies-description": "Naučte se Solidity při vytváření vlastní zombie hry.", + "page-learning-tools-cryptozombies-logo-alt": "Logo CryptoZombies", + "page-learning-tools-documentation": "Učte se pomocí dokumentace", + "page-learning-tools-documentation-desc": "Chcete se dozvědět více? Přejděte do naší dokumentace a najděte si vysvětlení, která potřebujete.", + "page-learning-tools-eth-dot-build-description": "Vzdělávací sandbox pro web3, včetně drag-and-drop programování a open-source stavebních bloků.", + "page-learning-tools-eth-dot-build-logo-alt": "Logo Eth.build", + "page-learning-tools-ethernauts-description": "Dokončete úrovně hackováním chytrých kontraktů.", + "page-learning-tools-ethernauts-logo-alt": "Logo Ethernauts", + "page-learning-tools-game-tutorials": "Interaktivní vzdělávání hrou", + "page-learning-tools-game-tutorials-desc": "Učte se hrou. Tyto výukové kurzy vás provedou začátky, zatímco si budete hrát.", + "page-learning-tools-meta-desc": "Webové programovací nástroje a interaktivní získávání zkušeností, které vám pomohou experimentovat s vývojem na platformě Ethereum.", + "page-learning-tools-meta-title": "Vzdělávací nástroje pro vývojáře", + "page-learning-tools-questbook-description": "Tutoriály k Webu 3.0, kde vytváříte projekty vlastním tempem.", + "page-learning-tools-questbook-logo-alt": "Logo Questbook", + "page-learning-tools-remix-description": "Vytvořte, nasaďte a spravujte chytré kontrakty pro Ethereum. Sledujte výukové kurzy s pluginem Learneth.", + "page-learning-tools-remix-description-2": "Remix a Replit nejsou jen sandboxy, vývojáři mohou pomocí nich psát, kompilovat a využívat své chytré kontrakty.", + "page-learning-tools-replit-description": "Přizpůsobitelné vývojové prostředí pro Ethereum s okamžitým znovunačtením, kontrolou chyb a prvotřídní podporou testnetu.", + "page-learning-tools-replit-logo-alt": "Logo Replit", + "page-learning-tools-remix-logo-alt": "Logo Remix", + "page-learning-tools-sandbox": "Kódové sandboxy", + "page-learning-tools-sandbox-desc": "Tyto sandboxy vám dají prostor k experimentování s psaním chytrých kontraktů a porozumění Ethereu.", + "page-learning-tools-studio-description": "Webové IDE, kde můžete sledovat návody k vytvoření a otestování chytrých kontraktů a vytvořit pro ně web.", + "page-learning-tools-vyperfun-description": "Naučte se Vyper tím, že vytvoříte vlastní hru s Pokémony.", + "page-learning-tools-vyperfun-logo-alt": "Logo Vyper.fun", + "page-learning-tools-nftschool-description": "Zjistěte, jak fungují NFT (nezaměnitelné tokeny) z technického hlediska.", + "page-learning-tools-nftschool-logo-alt": "Logo NFT school", + "page-learning-tools-pointer-description": "Naučte se vývojářské znalosti web3, pomocí zábavných interaktivních tutoriálů. Vydělávejte kryptoměny po cestě.", + "page-learning-tools-pointer-logo-alt": "Logo kurzoru" +} diff --git a/src/intl/cs/page-developers-local-environment.json b/src/intl/cs/page-developers-local-environment.json new file mode 100644 index 00000000000..204c79fc59d --- /dev/null +++ b/src/intl/cs/page-developers-local-environment.json @@ -0,0 +1,35 @@ +{ + "page-local-environment-brownie-desc": "Vývoj a testovací rámec pro vývoj chytrých kontraktů pro Ethereum Virtual Machine v Pythonu.", + "page-local-environment-brownie-logo-alt": "Logo Brownie", + "page-local-environment-embark-desc": "Vývojářská platforma, k vytváření a nasazení decentralizovaných aplikací.", + "page-local-environment-embark-logo-alt": "Logo Embark", + "page-local-environment-epirus-desc": "Platforma k vyvíjení, nasazení a monitorování aplikací pro blockchain v Java Virtual Machine", + "page-local-environment-epirus-logo-alt": "Logo Espirus", + "page-local-environment-eth-app-desc": "Vytvořte aplikace pro Ethereum jedním příkazem. Můžete si vybrat ze široké nabídky UI frameworků a DeFi šablon.", + "page-local-environment-eth-app-logo-alt": "Logo Create Eth App", + "page-local-environment-framework-feature-1": "Funkce ke spuštění vlastního lokálního blockchainu.", + "page-local-environment-framework-feature-2": "Nástroje pro kompilaci a testování chytrých kontraktů.", + "page-local-environment-framework-feature-3": "Vývojové doplňky klienta, které vytvoří vaši uživatelskou aplikaci ve stejném projektu nebo repozitáři.", + "page-local-environment-framework-feature-4": "Konfigurace pro připojení k sítím Ethereum a nasazení kontraktů, ať už na místně běžící instanci, nebo v jedné z veřejných sítí Etherea.", + "page-local-environment-framework-feature-5": "Decentralizovaná distribuce aplikací. Integrace s možnostmi úložiště jako IPFS.", + "page-local-environment-framework-features": "Tyto rámce přicházejí s mnoha funkcemi mimo provoz, jako:", + "page-local-environment-frameworks-desc": " Doporučujeme vybrat rámec, zejména pokud teprve začínáte. Vytvoření plnohodnotné decentralizované aplikace vyžaduje několik různých technologií. Rámce zahrnují mnoho těchto potřebných funkcí nebo poskytují jednoduché plugin systémy, abyste si mohli vybrat nástroje, které chcete.", + "page-local-environment-frameworks-title": "Rámce a předpřipravené sady", + "page-local-environment-hardhat-desc": "Hardhat je prostředí pro vývoj Etherea pro profesionály.", + "page-local-environment-hardhat-logo-alt": "Logo Hardhat", + "page-local-environment-openZeppelin-desc": "Ušetřete hodiny času vývoje kompilací, vylepšením, nasazením a interakcí s chytrými kontrakty díky systému CLI.", + "page-local-environment-openZeppelin-logo-alt": "Logo OpenZeppelin", + "page-local-environment-scaffold-eth-desc": "Ethers + Hardhat + React: všechno, co potřebujete vědět, abyste mohli postoupit ve vývoji decentralizovaných aplikací založených na chytrých kontraktech.", + "page-local-environment-scaffold-eth-logo-alt": "Logo scaffold-eth", + "page-local-environment-setup-meta-desc": "Průvodce, jak si vybrat software pro vývoj Etherea.", + "page-local-environment-setup-meta-title": "Nastavení místního vývoje Etherea", + "page-local-environment-setup-subtitle": "Pokud jste připraveni začít stavět, je čas vybrat si stack (zásobník).", + "page-local-environment-setup-subtitle-2": " Tady jsou nástroje a rámce, které můžete použít k budování Vaší Ethereum aplikace.", + "page-local-environment-setup-title": "Nastavení vlastního místního vývojářského prostředí", + "page-local-environment-solidity-template-desc": "GitHub šablona pro předem vytvořené nastavení chytrých kontraktů Solidity. Zahrnuje místní síť Hardhat, Waffle pro testy, Ethery pro implementaci peněženky a další.", + "page-local-environment-solidity-template-logo-alt": "Logo Solidity template", + "page-local-environment-truffle-desc": "Truffle Suite provede vývojáře od nápadu k vytvoření decentralizované aplikace co nejpohodlněji.", + "page-local-environment-truffle-logo-alt": "Logo Truffle", + "page-local-environment-waffle-desc": "Nejpokročilejší testovací lib pro chytré kontrakty. Používejte samostatně nebo systémy Scaffold-eth a Hardhat.", + "page-local-environment-waffle-logo-alt": "Logo Waffle" +} diff --git a/src/intl/cs/page-eth.json b/src/intl/cs/page-eth.json new file mode 100644 index 00000000000..17d4a7ec097 --- /dev/null +++ b/src/intl/cs/page-eth.json @@ -0,0 +1,97 @@ +{ + "page-eth-buy-some": "Chcete koupit Ethereum?", + "page-eth-buy-some-desc": "Lidé si běžně pletou Ethereum a ETH. Ethereum je blockchain a ETH je hlavním aktivem Etherea. ETH je to, co pravděpodobně chcete koupit.", + "page-eth-cat-img-alt": "Grafika ETH s kaleidoskopem koček", + "page-eth-collectible-tokens": "Sběratelské tokeny", + "page-eth-collectible-tokens-desc": "Tokeny, které představují sběratelský předmět ve hře, digitální umění, nebo jiná unikátní aktiva. Běžně jsou známé jako nezaměnitelné tokeny (NFT).", + "page-eth-cryptography": "Zabezpečeno kryptografií", + "page-eth-cryptography-desc": "Internetové peníze mohou být nové, ale jsou zabezpečené prokázanou kryptografií. Toto zabezpečuje peněženku, ETH a transakce.", + "page-eth-currency-for-apps": "Je to měna aplikací Ethereum.", + "page-eth-currency-for-future": "Měna digitální budoucnosti", + "page-eth-description": "ETH je kryptoměna. Jsou to vzácné digitální peníze, které můžete používat na internetu, podobně jako Bitcoin. Pokud se s kryptoměnami seznamujete, zde najdete, jak se ETH liší od tradičních peněz.", + "page-eth-earn-interest-link": "Získejte výnosy z úroků", + "page-eth-ethhub-caption": "Pravidelně aktualizováno", + "page-eth-ethhub-overview": "EthHub má skvělý přehled, pokud chcete", + "page-eth-flexible-amounts": "Dostupné ve flexibilním množství", + "page-eth-flexible-amounts-desc": "ETH je dělitelné až do 18 desetinných míst, takže nemusíte kupovat celé 1 ETH. Pokud chcete, můžete koupit pouze jeho zlomek – až 0,000000000000000001 ETH.", + "page-eth-fuels": "ETH pohání a zabezpečuje Ethereum", + "page-eth-fuels-desc": "ETH je životní míza Etherea. Když posíláte ETH nebo používáte Ethereum aplikaci, zaplatíte malý poplatek v ETH za využívání sítě Ethereum. Tento poplatek je pobídkou pro těžaře zpracovávat a ověřovat, co děláte.", + "page-eth-fuels-desc-2": "Těžaři jsou jako zapisovatelé Etherea, kontrolují a dokazují, že nikdo nepodvádí. Těžaři, kteří dělají tuto práci dostávají jako odměnu malou částku nově vydaného ETH.", + "page-eth-fuels-desc-3": "Práci, kterou těžaři dělají, udržuje Ethereum zabezpečené a bez centralizovaného řízení. Jinými slovy,", + "page-eth-fuels-more-staking": "Další informace o investicích", + "page-eth-fuels-staking": "Cenu ETH zvýšíte, když ho správně investujete. Když ETH investujete, pomůžete zabezpečit Ethereum a získáte výnosy. V tomto systému, hrozba ztráty ETH odrazuje od útoků.", + "page-eth-get-eth-btn": "Získat ETH", + "page-eth-gov-tokens": "Správní tokeny", + "page-eth-gov-tokens-desc": "Tokeny reprezentující volební sílu v decentralizovaných organizacích.", + "page-eth-has-value": "Proč má ETH hodnotu?", + "page-eth-has-value-desc": "ETH má pro různé lidi různou hodnotu.", + "page-eth-has-value-desc-2": "ETH má pro uživatele Etherea vysokou cenu, protože umožňuje zaplatit transakční poplatky.", + "page-eth-has-value-desc-3": "Jiní jej vnímají spíše jako digitální úložiště hodnot, protože tvorba nového ETH se časem zpomaluje.", + "page-eth-has-value-desc-4": "U uživatelů finančních aplikací na Ethereu stouplo v poslední době ETH. A to proto, že lze ETH využít k zajištění půjčky v kryptoměně nebo jako platební systém.", + "page-eth-has-value-desc-5": "Pro mnohé ETH představuje především investici, podobně jako Bitcoin nebo ostatní kryptoměny.", + "page-eth-how-to-buy": "Nákup Etherea", + "page-eth-how-to-buy-caption": "Pravidelně aktualizováno", + "page-eth-is-money": "ETH je digitální, globální měna.", + "page-eth-last-updated": "Leden 2019", + "page-eth-mining-link": "Další informace o těžbě", + "page-eth-monetary-policy": "Monetární politika Etherea", + "page-eth-more-on-ethereum-link": "Více na Ethereu", + "page-eth-no-centralized": "Bez centralizovaného řízení ", + "page-eth-no-centralized-desc": "ETH je decentralizované a globální. Neexistuje žádná společnost nebo banka, která by se mohla rozhodnout vytisknout více ETH nebo změnit podmínky používání.", + "page-eth-non-fungible-tokens-link": "Nezaměnitelné tokeny", + "page-eth-not-only-crypto": "ETH není jediná kryptoměna na Ethereu", + "page-eth-not-only-crypto-desc": "Kdokoli může vytvářet nové druhy aktiv a na Ethereu s nimi obchodovat. Tato aktiva známe jako „tokeny“. Uživatelé už tokenizovali tradiční měny, své nemovitosti, své umění, a dokonce sami sebe!", + "page-eth-not-only-crypto-desc-2": "Ethereum je domovem tisíce tokenů. Některé jsou užitečnější a cennější než jiné. Vývojáři vytvářejí nové tokeny, které představují nové možnosti a otevírají nové trhy.", + "page-eth-not-only-crypto-desc-3": "Pokud se chcete dozvědět o tokenech více, naši kamarádi na EthHubu napsali několik skvělých přehledů:", + "page-eth-open": "Otevřené komukoli", + "page-eth-open-desc": "K přijetí ETH potřebujete pouze připojení k internetu a peněženku. Nepotřebujete přístup k bankovnímu účtu abyste přijímali platby. ", + "page-eth-p2p-payments": "Platby typu peer-to-peer", + "page-eth-p2p-payments-desc": "ETH můžete posílat bez zprostředkovatele, například banky. Jako kdybyste předávali hotovost osobně, ale můžete to udělat bezpečně, s kýmkoli, kdekoli a kdykoli.", + "page-eth-period": ".", + "page-eth-popular-tokens": "Populární typy tokenů", + "page-eth-powers-ethereum": "ETH pohání Ethereum", + "page-eth-shit-coins": "Sh*t coiny (Nekalé kryptoměny)", + "page-eth-shit-coins-desc": "Protože tvorba nových tokenů je jednoduchá, může to dělat kdokoli, i osoby se špatnými nebo scestnými úmysly. Vše si důkladně ověřte, než se rozhodnete je nakoupit nebo použít!", + "page-eth-stablecoins": "Stabilní kryptoměny (stablecoins)", + "page-eth-stablecoins-desc": "Tokeny, které odrážejí hodnotou tradiční měny jako dolary. Řeší problémy volatility u mnoha kryptoměn.", + "page-eth-stablecoins-link": "Získat stablecoiny", + "page-eth-stream-link": "Přenos ETH", + "page-eth-tokens-link": "Tokeny Ethereum", + "page-eth-trade-link-2": "Směnit tokeny", + "page-eth-underpins": "ETH je základem finančního systému Ethereum", + "page-eth-underpins-desc": "Komunita Ethereum, která není spokojená s běžnými platbami na internetu, buduje celý finanční systém typu pee-to-peer dostupný pro každého.", + "page-eth-underpins-desc-2": "ETH můžete používat jako kolaterál ke generování zcela rozdílných tokenů kryptoměn na Ethereu. Kromě toho si můžete půjčit, půjčovat a vydělávat na úrocích z ETH a dalších tokenech zajištěných ETH.", + "page-eth-uses": "Možnosti využití ETH přibývají každý den", + "page-eth-uses-desc": "Protože Ethereum je programovatelné, vývojáři mohou vytvářet ETH nespočtem způsobů.", + "page-eth-uses-desc-2": "V roce 2015 jste mohli pouze poslat ETH z jednoho účtu Ethereum na jiný. Zde uvádíme jenom část možností využití, které můžete dělat dneska.", + "page-eth-uses-desc-3": "Placení nebo přijímání prostředků v reálném čase.", + "page-eth-uses-desc-4": "Obchodování ETH s jinými tokeny, včetně Bitcoinu.", + "page-eth-uses-desc-5": "na ETH a jiných tokenech založených na Ethereu.", + "page-eth-uses-desc-6": "Přístup ke světu kryptoměn se stabilní, méně volatilní hodnotou.", + "page-eth-value": "Proč je ether cenný", + "page-eth-video-alt": "Eth glyf video", + "page-eth-whats-eth": "Co je ether (ETH)?", + "page-eth-whats-eth-hero-alt": "Ilustrace skupiny lidí, kteří žasnou nad glyfem etheru (ETH) v údivu", + "page-eth-whats-eth-meta-desc": "Co musíte vědět abyste pochopili ETH a jeho místo na Ethereu.", + "page-eth-whats-eth-meta-title": "Co je ether (ETH)?", + "page-eth-whats-ethereum": "Co je to Ethereum?", + "page-eth-whats-ethereum-desc": "Další informace o Ethereu, technologii za ETH, se dozvíte v úvodu.", + "page-eth-whats-unique": "Co je unikátní na ETH?", + "page-eth-whats-unique-desc": "Na Ethereu je mnoho kryptoměn a spousta dalších žetonů, ale některé věci může dělat pouze ETH.", + "page-eth-where-to-buy": "Kde získat ETH", + "page-eth-where-to-buy-desc": "ETH můžete získat na burze nebo v peněžence, ale různé země mají ke kryptoměnám jiný přístup. Zaškrtněte a zobrazte si služby, které vám umožní koupit ETH.", + "page-eth-yours": "Je opravdu vaše", + "page-eth-yours-desc": "ETH vám umožňuje být vaší vlastní bankou. Finanční prostředky můžete řídit pomocí peněženky, protože jste jediný vlastník, nepotřebujete žádnou třetí stranu.", + "page-eth-more-on-tokens": "Další informace o tokenech a jejich použití", + "page-eth-button-buy-eth": "Získat ETH", + "page-eth-tokens-stablecoins": "Stabilní kryptoměny (stablecoins)", + "page-eth-tokens-defi": "Decentralizované finance (DeFi)", + "page-eth-tokens-nft": "Nezaměnitelné tokeny (NFT)", + "page-eth-tokens-dao": "Decentralizované autonomní organizace (DAO)", + "page-eth-tokens-stablecoins-description": "Další informace o nejméně volatilních tokenech Ethereum.", + "page-eth-tokens-defi-description": "Finanční systém tokenů Ethereum.", + "page-eth-tokens-nft-description": "Tokeny, které představují vlastnictví položek na síti Ethereum.", + "page-eth-tokens-dao-description": "Internetové komunity často spravované držiteli tokenů.", + "page-eth-whats-defi": "Další informace o DeFi", + "page-eth-whats-defi-description": "DeFi je decentralizovaný finanční systém postavený na Ethereu. Tento přehled vysvětluje, co tento systém umožňuje provést." +} diff --git a/src/intl/cs/page-get-eth.json b/src/intl/cs/page-get-eth.json new file mode 100644 index 00000000000..88f1e844926 --- /dev/null +++ b/src/intl/cs/page-get-eth.json @@ -0,0 +1,66 @@ +{ + "page-get-eth-article-keeping-crypto-safe": "Klíče k uchování kryptoměny v bezpečí", + "page-get-eth-article-protecting-yourself": "Chráníme sebe a vaše prostředky", + "page-get-eth-article-store-digital-assets": "Ukládání digitálních aktiv na Ethereu", + "page-get-eth-cex": "Centralizované burzy", + "page-get-eth-cex-desc": "Burzy jsou podniky, které vám umožňují koupit si krypto za tradiční měny. Spravují vámi zakoupené ETH, dokud si ho nepošlete do vlastní peněženky.", + "page-get-eth-checkout-dapps-btn": "Podívejte se na dappky", + "page-get-eth-community-safety": "Komunitní příspěvky o bezpečnosti", + "page-get-eth-description": "Ethereum a ETH nereguluje žádná vládou ani společnost, jsou decentralizované. Znamená to, že ETH může používat naprosto kdokoliv.", + "page-get-eth-dex": "Decentralizované burzy (DEX)", + "page-get-eth-dex-desc": "Pokud chcete větší kontrolu, nakupte ETH v režimu peer-to-peer. Na burzách DEX můžete obchodovat, aniž byste dávali své prostředky centralizované společnosti.", + "page-get-eth-dexs": "Decentralizované burzy (DEX)", + "page-get-eth-dexs-desc": "Decentralizované burzy jsou otevřené trhy pro ETH a ostatní tokeny. Kupujícího a prodávajícího mezi sebou propojují napřímo.", + "page-get-eth-dexs-desc-2": "Místo používání důvěryhodné třetí strany k ochraně peněžních prostředků používají kód. ETH prodejce bude převedeno pouze v případě, že je platba zaručena. Tento typ kódu je znám jako chytrý kontrakt.", + "page-get-eth-dexs-desc-3": "Toto znamená, že geografická omezení jsou menší než u centralizovaných alternativ. Pokud někdo prodává, co chcete a přijímá platební metodu, kterou jste schopni poskytnout, jste na dobré cestě. Burzy DEX vám umožní koupit ETH s ostatními tokeny, PayPalem nebo dokonce osobními dodávkami hotovosti.", + "page-get-eth-do-not-copy": "Příklad: Nekopírovat", + "page-get-eth-exchanges-disclaimer": "Tyto informace jsme shromáždili vlastními silami. Pokud si všimnete, že je zde něco špatně, dejte nám vědět na", + "page-get-eth-exchanges-empty-state-text": "Zadejte zemi vašeho trvalého pobytu a zobrazí se vám seznam peněženek a výměn, které můžete použít k nákupu ETH.", + "page-get-eth-exchanges-except": "Mimo", + "page-get-eth-exchanges-header": "V jaké zemi žijete?", + "page-get-eth-exchanges-header-exchanges": "Burzy", + "page-get-eth-exchanges-header-wallets": "Kryptoměnové peněženky", + "page-get-eth-exchanges-intro": "Burzy a peněženky mohou obchodovat s kryptoměnami pouze v některých částech světa.", + "page-get-eth-exchanges-no-exchanges": "Omlouváme se, ale nevíme o žádné burze umožňující nakupovat ETH z této země. Pokud takovou znáte, dejte nám vědět na", + "page-get-eth-exchanges-no-exchanges-or-wallets": "Omlouváme se, ale nevíme o žádné burze ani peněžence umožňující nakupovat ETH z této země. Pokud takové znáte, dejte nám vědět na", + "page-get-eth-exchanges-no-wallets": "Omlouváme se, ale nevíme o žádné peněžence umožňující nakupovat ETH z této země. Pokud takovou znáte, dejte nám vědět na", + "page-get-eth-exchanges-search": "Zadejte místo, kde žijete...", + "page-get-eth-exchanges-success-exchange": "Registrace v rámci výměny může trvat několik dní, vzhledem k jejich právním kontrolám.", + "page-get-eth-exchanges-success-wallet-link": "peněženkách.", + "page-get-eth-exchanges-success-wallet-paragraph": "V zemi, kde žijete, můžete kupovat ETH pomocí těchto peněženek. Další informace o", + "page-get-eth-exchanges-usa": "Spojené státy americké (USA)", + "page-get-eth-get-wallet-btn": "Vybrat peněženku", + "page-get-eth-hero-image-alt": "Získat úvodní ETH obrázek", + "page-get-eth-keep-it-safe": "Udržujte své ETH v bezpečí", + "page-get-eth-meta-description": "Jak nakupovat ETH podle toho, kde žijete, a rady, jak se o něj postarat.", + "page-get-eth-meta-title": "Nakupování ETH", + "page-get-eth-need-wallet": "K využívání burz DEX potřebujete peněženku.", + "page-get-eth-new-to-eth": "Teprve se s ETH seznamujete? Zde je přehled, jak začít.", + "page-get-eth-other-cryptos": "Koupit pomocí jiné kryptoměny", + "page-get-eth-protect-eth-desc": "Pokud plánujete kupovat velké množství ETH, možná jej budete chtít uschovat v peněžence, nikoli ve výměně. To proto, že výměna je pravděpodobným cílem pro hackery. Pokud hacker získá přístup, můžete ztratit vaše prostředky. Jinak řečeno, pouze vy ovládáte svou peněženku.", + "page-get-eth-protect-eth-in-wallet": "Chraňte Vaše ETH v peněžence", + "page-get-eth-search-by-country": "Hledat podle státu", + "page-get-eth-security": "To ale také znamená, že je třeba brát bezpečnost vašich prostředků vážně. Ve světě ETH nesvěřujete své peníze bance, která by se vám o ně postarala. Zde se spoléháte pouze sami na sebe.", + "page-get-eth-smart-contract-link": "Více o chytrých kontraktech", + "page-get-eth-swapping": "Směňte své tokeny za cizí ETH nebo naopak.", + "page-get-eth-traditional-currencies": "Koupit pomocí tradičních měn", + "page-get-eth-traditional-payments": "Koupit ETH pomocí tradičních typů plateb přímo od prodejců.", + "page-get-eth-try-dex": "Vyzkoušejte burzy Dex", + "page-get-eth-use-your-eth": "Používejte své ETH", + "page-get-eth-use-your-eth-dapps": "Teď, když vlastníte ETH, omrkněte aplikace Ethereum (dappky). Máme dappky pro finance, sociální média, hry a mnoho dalších kategorií.", + "page-get-eth-wallet-instructions": "Postupujte podle pokynů uvedených v peněžence", + "page-get-eth-wallet-instructions-lost": "Přijdete-li o přístup k peněžence, ztratíte zároveň přístup k prostředkům. Peněženka by vám měla poskytnout rady, jak takovému případu předejít. Nezapomeňte si tedy pokyny pečlivě prostudovat. Ve většině případů vám totiž se ztraceným přístupem k peněžence nikdo nepomůže.", + "page-get-eth-wallets": "Kryptoměnové peněženky", + "page-get-eth-wallets-link": "Více o peněženkách", + "page-get-eth-wallets-purchasing": "Některé peněženky umožňují nákup kryptoměn prostřednictvím debetní nebo kreditní karty, bankovního převodu nebo dokonce přes Apple Pay. Na tento nákup se vztahují zeměpisná omezení.", + "page-get-eth-warning": "Burzy DEX nejsou pro začátečníky, potřebujete totiž ETH, abyste je mohli využívat.", + "page-get-eth-what-are-DEX's": "Co jsou burzy DEX?", + "page-get-eth-whats-eth-link": "Co je to ETH?", + "page-get-eth-where-to-buy-desc": "ETH si můžete koupit na burzách nebo přímo v peněženkách.", + "page-get-eth-where-to-buy-desc-2": "Zkontrolujte, které služby můžete používat podle toho, kde žijete.", + "page-get-eth-where-to-buy-title": "Kde koupit ETH", + "page-get-eth-your-address": "Vaše ETH adresa", + "page-get-eth-your-address-desc": "Když si stáhnete peněženku, vytvoří pro vás veřejnou ETH adresu. Zde je, jak vypadá:", + "page-get-eth-your-address-desc-3": "Je to něco jako vaše e-mailová adresa, ale místo e-mailu můžete dostávat ETH. Pokud chcete přenést ETH z výměny do peněženky, použijte vaši adresu jako místo určení. Před odesláním vše radši dvakrát zkontrolujete!", + "page-get-eth-your-address-wallet-link": "Podívejte se na peněženky" +} diff --git a/src/intl/cs/page-languages.json b/src/intl/cs/page-languages.json new file mode 100644 index 00000000000..4f06b597585 --- /dev/null +++ b/src/intl/cs/page-languages.json @@ -0,0 +1,15 @@ +{ + "page-languages-h1": "Jazyková podpora", + "page-languages-interested": "Chcete se zapojit?", + "page-languages-learn-more": "Více informací o našem překladatelském programu", + "page-languages-meta-desc": "Informační zdroje ke všem jazykům podporovaným stránkou ethereum.org a způsoby, jakými se lze zapojit jako překladatel.", + "page-languages-meta-title": "Překlady ethereum.org", + "page-languages-p1": "Ethereum je celosvětový projekt a je zásadní, aby web ethereum.org byl přístupný všem, bez ohledu na jejich národnost nebo jazyk. Naše komunita usilovně pracovala na tom, aby se tato vize stala skutečností.", + "page-languages-translations-available": "Stránka ethereum.org je dostupná v následujících jazycích:", + "page-languages-resources-paragraph": "Kromě překladů stránky ethereum.org udržujeme také", + "page-languages-resources-link": "vybraný seznam zdrojů informací o Ethereu v mnoha jazycích.", + "page-languages-want-more-header": "Chcete prohlížet ethereum.org v jiném jazyce?", + "page-languages-want-more-link": "Překladatelský program", + "page-languages-want-more-paragraph": "Překladatelé ethereum.org vždy překládají stránky do co největšího počtu jazyků. Chcete-li zjistit, na čem právě pracují, nebo se přihlásit, abyste se k nim připojili, přečtěte si o našem", + "page-languages-filter-placeholder": "Filtrovat" +} diff --git a/src/intl/cs/page-run-a-node.json b/src/intl/cs/page-run-a-node.json new file mode 100644 index 00000000000..9e01127e737 --- /dev/null +++ b/src/intl/cs/page-run-a-node.json @@ -0,0 +1,138 @@ +{ + "page-run-a-node-build-your-own-title": "Vytvořte si vlastní", + "page-run-a-node-build-your-own-hardware-title": "Krok 1 – Hardware", + "page-run-a-node-build-your-own-minimum-specs": "Minimální parametry", + "page-run-a-node-build-your-own-min-ram": "4–8 GB RAM", + "page-run-a-node-build-your-own-ram-note-1": "Viz poznámku o investicích", + "page-run-a-node-build-your-own-ram-note-2": "Viz poznámku o Raspberry Pi", + "page-run-a-node-build-your-own-min-ssd": "SSD disk se 2 TB", + "page-run-a-node-build-your-own-ssd-note": "Disk SSD je nezbytný pro požadované rychlosti zápisu.", + "page-run-a-node-build-your-own-min-internet": "Připojení k internetu", + "page-run-a-node-build-your-own-recommended": "Doporučeno", + "page-run-a-node-build-your-own-nuc": "Intel NUC, 7. generace nebo novější", + "page-run-a-node-build-your-own-nuc-small": "Procesor x86", + "page-run-a-node-build-your-own-connection": "Drátové připojení k internetu", + "page-run-a-node-build-your-own-connection-small": "Není vyžadováno, ale poskytuje jednodušší nastavení a nejkonzistentnější připojení", + "page-run-a-node-build-your-own-peripherals": "Zobrazit obrazovku a klávesnici", + "page-run-a-node-build-your-own-peripherals-small": "Pokud nepoužíváte nastavení DAppNode, nebo ssh/bez monitoru", + "page-run-a-node-build-your-own-software": "Krok 2 – software", + "page-run-a-node-build-your-own-software-option-1-title": "Možnost 1 – DAppNode", + "page-run-a-node-build-your-own-software-option-1-description": "Až budete mít připravený hardware, můžete si operační systém DAppNode stáhnout z libovolného počítače a nainstalovat jej na prázdný disk SSD přes USB flash disk.", + "page-run-a-node-build-your-own-software-option-1-button": "Nastavení operačního systému DAppNode", + "page-run-a-node-build-your-own-software-option-2-title": "Možnost 2 – příkazový řádek", + "page-run-a-node-build-your-own-software-option-2-description-1": "Zkušení uživatelé, kteří chtějí mít nad vývojem maximální kontrolu, dávají přednost příkazovému řádku.", + "page-run-a-node-build-your-own-software-option-2-description-2": "Další informace, jak si vybrat klienta, najdete ve vývojářských dokumentech.", + "page-run-a-node-build-your-own-software-option-2-button": "Nastavení příkazového řádku", + "page-run-a-node-buy-fully-loaded-title": "Koupit hotový balíček služeb", + "page-run-a-node-buy-fully-loaded-description": "Objednejte si balíček připravený k okamžitému používání od našich externích spolupracovníků, který jednoduše zavedete do systému.", + "page-run-a-node-buy-fully-loaded-note-1": "Nemusíte nic tvořit.", + "page-run-a-node-buy-fully-loaded-note-2": "Nastavení podobné aplikaci s grafickým uživatelským rozhraním.", + "page-run-a-node-buy-fully-loaded-note-3": "Nepotřebujete žádný příkazový řádek.", + "page-run-a-node-buy-fully-loaded-plug-and-play": "Tato řešení zabírají na disku málo místa, ale jsou plně funkční.", + "page-run-a-node-censorship-resistance-title": "Odolné proti cenzuře", + "page-run-a-node-censorship-resistance-preview": "Přístup kdykoliv jej potřebujete, bez obav z cenzury.", + "page-run-a-node-censorship-resistance-1": "Uzel třetích stran může odmítat transakce z konkrétních IP adres nebo transakce, které zahrnují konkrétní účty, a tím vám zabránit v používání sítě, když potřebujete.", + "page-run-a-node-censorship-resistance-2": "Vlastnictví vlastního uzlu, který posílá transakce, zajišťuje, že můžete do zbytku sítě typu peer-to-peer kdykoli poslat jakoukoliv transakci.", + "page-run-a-node-community-title": "Dejte hlavy dohromady", + "page-run-a-node-community-description-1": "Na online platformách, mezi které patří třeba Discord a Reddit, se běžně pohybuje mnoho komunitních tvůrců, kteří vám ochotně pomohou vyřešit všechny problémy, na které narazíte.", + "page-run-a-node-community-description-2": "Nejste na to sami. Pokud máte otázku, je pravděpodobné, že vám někdo může pomoci najít odpověď.", + "page-run-a-node-community-link-1": "Připojit se k Discordu DAppNode", + "page-run-a-node-community-link-2": "Najít on-line komunity", + "page-run-a-node-choose-your-adventure-title": "Vzhůru za dobrodružstvím", + "page-run-a-node-choose-your-adventure-1": "Abyste mohli začít, potřebujete hardware. Ačkoli software Node spustíte na běžném počítači, počítač určený přímo k programování může výrazně zvýšit výkon uzlu, a zároveň zmírnit jeho vliv na výkon primárního počítače.", + "page-run-a-node-choose-your-adventure-2": "Při výběru hardwaru myslete na to, že řetězec se neustále rozrůstá a že bude nevyhnutelně nutná jeho údržba. Zvyšování specifikací může pomoci oddálit potřebu údržby uzlu.", + "page-run-a-node-choose-your-adventure-build-1": "Levnější a lépe přizpůsobitelná možnost pro techničtější uživatele.", + "page-run-a-node-choose-your-adventure-build-bullet-1": "Vytvořte si vlastní části.", + "page-run-a-node-choose-your-adventure-build-bullet-2": "Naistalujte si DAppNode.", + "page-run-a-node-choose-your-adventure-build-bullet-3": "Nebo si vyberte vlastní OS a klienty.", + "page-run-a-node-choose-your-adventure-build-start": "Začněte tvořit", + "page-run-a-node-decentralized-title": "Decentralizace", + "page-run-a-node-decentralized-preview": "Posilování odolávání centralizovaným bodům selhání.", + "page-run-a-node-decentralized-1": "Centralizované cloudové servery mohou poskytovat velký výpočetní výkon, ale představují snadný cíl pro státní útvary nebo útočníky, kteří chtějí síť narušit.", + "page-run-a-node-decentralized-2": "Odolnost sítě je zajištěna větším počtem uzlů na geograficky různorodých místech, které obsluhuje více lidí s různým zázemím. Čím více lidí provozuje vlastní uzel, tím se snižuje závislost na centralizovaných bodech selhání, a síť je tak silnější.", + "page-run-a-node-feedback-prompt": "Je tato stránka užitečná?", + "page-run-a-node-further-reading-title": "Další informace", + "page-run-a-node-further-reading-1-link": "Mistrem Etherea – mám spustit úplný uzel?", + "page-run-a-node-further-reading-1-author": "Andreas Antonopoulos", + "page-run-a-node-further-reading-2-link": "Ethereum v ARM – Stručný průvodce spuštěním", + "page-run-a-node-further-reading-3-link": "Limity škálovatelnosti blockchainu", + "page-run-a-node-further-reading-3-author": "Vitalik Buterin", + "page-run-a-node-getting-started-title": "Začínáme", + "page-run-a-node-getting-started-software-section-1": "Když síť začínala, potřebovali uživatelé k ovládání uzlu Ethereum rozhraní s příkazovým řádkem.", + "page-run-a-node-getting-started-software-section-1-alert": "Pokud je vám tento přístup bližší, a máte zkušenosti, pročtěte si naše technické dokumenty.", + "page-run-a-node-getting-started-software-section-1-link": "Roztočit Ethereum uzel", + "page-run-a-node-getting-started-software-section-2": "Nově máme DAppNode, což je bezplatný open-source software, který uživatelům umožňuje spravovat uzel jako v aplikaci.", + "page-run-a-node-getting-started-software-section-3a": "Spuštění uzlu zabere jen pár klepnutí.", + "page-run-a-node-getting-started-software-section-3b": "Softvare DAppNode usnadňuje uživatelům spuštění celých uzlů, decentralizovaných aplikací a ostatních sítí typu peer-to-peer, aniž by museli přepisovat příkazový řádek. To usnadňuje účast všem a vytváří decentralizovanější síť.", + "page-run-a-node-getting-started-software-title": "Část 2: Software", + "page-run-a-node-glyph-alt-terminal": "Glyf terminálu", + "page-run-a-node-glyph-alt-phone": "Glyf klepnutí na telefon", + "page-run-a-node-glyph-alt-dappnode": "Glyf DAppNode", + "page-run-a-node-glyph-alt-pnp": "Glyf Plug-n-play", + "page-run-a-node-glyph-alt-hardware": "Glyf hardwaru", + "page-run-a-node-glyph-alt-software": "Glyf stahování softwaru", + "page-run-a-node-glyph-alt-privacy": "Glyf soukromí", + "page-run-a-node-glyph-alt-censorship-resistance": "Glyf megafonu jako symbol odolnosti proti cenzuře", + "page-run-a-node-glyph-alt-earth": "Glyf Země", + "page-run-a-node-glyph-alt-decentralization": "Glyf decentralizace", + "page-run-a-node-glyph-alt-vote": "Glyf každý hlas se počítá", + "page-run-a-node-glyph-alt-sovereignty": "Glyf suverenity", + "page-run-a-node-hero-alt": "Grafické znázornění uzlu", + "page-run-a-node-hero-header": "Mějte vše pod kontrolou.
Spusťte si vlastní uzel.", + "page-run-a-node-hero-subtitle": "Získejte nezávislost a zároveň pomáhejte zabezpečit síť. Staňte se součástí Etherea.", + "page-run-a-node-hero-cta-1": "Další informace", + "page-run-a-node-hero-cta-2": "Pusťte se do toho!", + "page-run-a-node-install-manually-title": "Instalovat ručně", + "page-run-a-node-install-manually-1": "Pokud jste technicky zaměřený uživatelé, a rozhodli jste se vytvořit si vlastní zařízení, stáhněte si software DAppNode z libovolného počítače a nainstalujte jej na nový SSD disk přes USB flash disk.", + "page-run-a-node-meta-description": "Úvod ke spuštění Ethereum uzlu a k čemu a proč je potřeba.", + "page-run-a-node-participate-title": "Zapojte se", + "page-run-a-node-participate-preview": "Decentralizační revoluce začíná u vás .", + "page-run-a-node-participate-1": "Tím, že začnete provozovat uzel, se stanete součástí globálního hnutí za decentralizaci kontroly a moci ve světě informací.", + "page-run-a-node-participate-2": "Pokud vlastníte ETH, pomáhejte zvyšovat jeho hodnotu, čímž podpoříte zdravé prostředí a decentralizaci sítě. Díky tomu se můžete podílet na její budoucnosti.", + "page-run-a-node-privacy-title": "Soukromí & Bezpečnost", + "page-run-a-node-privacy-preview": "Zabezpečte své osobní údaje před únikem do uzlů třetích stran.", + "page-run-a-node-privacy-1": "Při odesílání transakcí pomocí veřejných uzlů mohou osobní údaje, například IP adresa a adresy Ethereum, které vlastníte, uniknout ke službám třetích stran.", + "page-run-a-node-privacy-2": "Nasměrováním kompatibilních peněženek na vlastní uzel můžete peněženku používat k soukromé a bezpečné komunikaci s blockchainem.", + "page-run-a-node-privacy-3": "Pokud navíc škodlivý uzel distribuuje neplatnou transakci, váš uzel ji jednoduše ignoruje. Každá transakce se ověřuje lokálně na vašem zařízení, takže se nemusíte obávat zneužití vaší důvěry.", + "page-run-a-node-rasp-pi-title": "Poznámka k Raspberry Pi (ARM procesor)", + "page-run-a-node-rasp-pi-description": "Raspberry Pi jsou lehké a cenově dostupné počítače, ale mají omezení, která mohou ovlivnit výkon vašeho uzlu. Ačkoli se v současné době nedoporučují k investování kryptoměn, mohou být i s pouhými 4–8 GB RAM vynikající levnou možností, jak provozovat uzel pro osobní využití.", + "page-run-a-node-rasp-pi-note-1-link": "DAppNode na ARM", + "page-run-a-node-rasp-pi-note-1-description": "Pokud plánujete spuštění DAppNode na Raspberry Pi, přečtěte si tento návod.", + "page-run-a-node-rasp-pi-note-2-link": "Ethereum v dokumentaci ARM", + "page-run-a-node-rasp-pi-note-2-description": "Naučte se nastavit uzel pomocí příkazového řádku na zařízení Raspberry Pi", + "page-run-a-node-rasp-pi-note-3-link": "Spustit uzel na zařízení Raspberry Pi", + "page-run-a-node-rasp-pi-note-3-description": "Pokud dáváte přednost tutoriálům, podívejte se sem.", + "page-run-a-node-shop": "Nakupujte", + "page-run-a-node-shop-avado": "Koupit Avado", + "page-run-a-node-shop-dappnode": "Koupit DAppNode", + "page-run-a-node-staking-title": "Investuje vaše ETH", + "page-run-a-node-staking-description": "Ačkoli to není nutné, se spuštěným uzlem jste o krok blíže k tomu, abyste mohli investovat ETH, získávat výnosy a zvyšovat tak bezpečnost Etherea.", + "page-run-a-node-staking-link": "Investování ETH", + "page-run-a-node-staking-plans-title": "Chcete ETH proinvestovat?", + "page-run-a-node-staking-plans-description": "Abyste maximalizovali efektivitu validátoru, doporučujeme minimálně 16 GB paměti RAM, nejlépe však 32 GB, díky čemuž dosáhnete výsledku benchmarku CPU 6667+ na stránkách cpubenchmark.net. Doporučuje se také, aby měl investor přístup k neomezené vysokorychlostní šířce pásma internetu, i když to není hlavní podmínka.", + "page-run-a-node-staking-plans-ethstaker-link-label": "Nákup hardwarového validátoru Ethereum", + "page-run-a-node-staking-plans-ethstaker-link-description": "EthSTaker jde v tomto hodinovém speciále více do hloubky.", + "page-run-a-node-sovereignty-title": "Nezávislost", + "page-run-a-node-sovereignty-preview": "Provozování uzlu berte jako další krok po pořízení vlastní peněženky Ethereum.", + "page-run-a-node-sovereignty-1": "Díky peněžence Ethereum máte možnost plně dohlížet na vlastní digitální aktiva a řídit jejich tok, protože máte k dispozici privátní klíče na všechny své adresy. Tyto klíče však nevypovídají o aktuálním stavu blockchainu, například nesdělují aktuální zůstatek v peněžence.", + "page-run-a-node-sovereignty-2": "Ve výchozím nastavení se peněženky Etherea při vyhledávání zůstatků obvykle obracejí na uzly třetích stran, například Infura nebo Alchemy. Provozování vlastního uzlu vám umožní mít vlastní kopii blockchainu Etherea.", + "page-run-a-node-title": "Provozování vlastního uzlu", + "page-run-a-node-voice-your-choice-title": "I váš hlas se počítá", + "page-run-a-node-voice-your-choice-preview": "Mějte vše pod kontrolou, i když se blockchain rozštěpí.", + "page-run-a-node-voice-your-choice-1": "V případě rozštěpení blockchainu, kdy vznikají dva blockchainy se dvěma různými soubory pravidel, zaručuje provoz vlastního uzlu možnost výběru sady pravidel, která je vám bližší. Je na vás, zda se přizpůsobíte novým pravidlům a podpoříte navrhované změny, nebo ne.", + "page-run-a-node-voice-your-choice-2": "Pokud investuje ETH, spuštění vlastního uzlu vám umožní vybrat si vlastního klienta, minimalizovat riziko slashingu a reagovat na kolísající požadavky sítě v čase. Investováním u třetích stran ztrácíte možnost volby klienta, který je podle vás nejlepší.", + "page-run-a-node-what-title": "Co znamená „spuštění a provozování uzlu“?", + "page-run-a-node-what-1-subtitle": "Na softwaru", + "page-run-a-node-what-1-text": "Pod hlavičkou typu softwarového „klienta“ stáhne kopii blockchainu Etherea a ověří platnost jednotlivých bloků. Následně se stará o aktualizace nových bloků a transakcí, čímž pomáhá ostatním stahovat a aktualizovat kopie.", + "page-run-a-node-what-2-subtitle": "Na hardwaru", + "page-run-a-node-what-2-text": "Ethereum je navrženo tak, aby uzel běžel na běžných osobních počítačích. Můžete použít jakýkoli počítač, ale většina uživatelů provozuje uzly na k tomu určeném hardwaru, aby snížili vliv na výkon primárního počítače a minimalizovali výpadky uzlu.", + "page-run-a-node-what-3-subtitle": "Online", + "page-run-a-node-what-3-text": "Spuštění uzlu Ethereum může na první pohled vypadat složitě, ale jedná se pouze o nepřetržité spouštění softwaru klienta na počítači, který je připojený k internetu. V době, kdy je uzel offline, je jednoduše neaktivní, dokud se není znovu online a nenajde aktuální změny.", + "page-run-a-node-who-title": "Kdo může spustit a provozovat uzel?", + "page-run-a-node-who-preview": "Všichni! Uzly nejsou jenom pro těžaře a validátory. Spustit uzel může kdokoli, ani k tomu nepotřebuje ETH.", + "page-run-a-node-who-copy-1": "Nemusíte investovat ETH nebo těžit kryptoměny, abyste mohli provozovat uzel. Vlastně jen každý druhý uzel na Ethereu provozuje těžař nebo validátor.", + "page-run-a-node-who-copy-2": "Možná nezískáte žádné finanční odměny, které běžně dostávají validátoři a těžaři, ale s provozováním uzlu souvisí i jiné výhody, o kterých můžete uvažovat. Patří mezi ně například ochrana soukromí, zabezpečení, snížení závislosti na serverech třetích stran, odolnosti proti cenzuře a zlepšení zdravého prostředí a decentralizace sítě.", + "page-run-a-node-who-copy-3": "Díky vlastnímu uzlu, se už nemusíte spoléhat jen na údaje o stavu sítě poskytované třetí stranou.", + "page-run-a-node-who-copy-bold": "Nespoléhejte se na ostatní. Ověřujte.", + "page-run-a-node-why-title": "Proč spustit a provozovat uzel?" +} diff --git a/src/intl/cs/page-stablecoins.json b/src/intl/cs/page-stablecoins.json new file mode 100644 index 00000000000..7d2f20d3504 --- /dev/null +++ b/src/intl/cs/page-stablecoins.json @@ -0,0 +1,146 @@ +{ + "page-stablecoins-accordion-borrow-crypto-collateral": "Krypto kolaterál", + "page-stablecoins-accordion-borrow-crypto-collateral-copy": "Na Ethereu si můžete půjčit od ostatních uživatelů bez toho, abyste museli obchodovat s vlastním ETH. Tak můžete získat „páku“. Někteří lidé se tímto způsobem snaží shromáždit více ETH.", + "page-stablecoins-accordion-borrow-crypto-collateral-copy-p2": "Ale protože cena ETH velmi kolísá, je třeba dát do zástavy větší množství. To znamená, že pokud si chcete půjčit 100 dolarů ve stabilních kryptoměnách, budete pravděpodobně muset zastavit alespoň ETH za 150. To chrání celý systém i poskytovatele půjček.", + "page-stablecoins-accordion-borrow-crypto-collateral-link": "Další informace o stablecoinech krytých kryptoměnou", + "page-stablecoins-accordion-borrow-pill": "Další", + "page-stablecoins-accordion-borrow-places-intro": "Pomocí těchto decentralizovaných aplikací si můžete půjčovat stablecoiny pomocí kryptoměny jako kolaterálu (zástavy). Někdo kromě ETH přijímá i jiné tokeny.", + "page-stablecoins-accordion-borrow-places-title": "Kde si můžete půjčit stablecoiny", + "page-stablecoins-accordion-borrow-requirement-1": "Ethereum peněženka", + "page-stablecoins-accordion-borrow-requirement-1-description": "K použití decentralizované aplikace budete potřebovat peněženku.", + "page-stablecoins-accordion-borrow-requirement-2": "Ether (ETH)", + "page-stablecoins-accordion-borrow-requirement-2-description": "K zástavě nebo transakčním poplatkům budete potřebovat ETH.", + "page-stablecoins-accordion-borrow-requirements-description": "K půjčení stabilní kryptoměny potřebujete správnou dappku. Také budete potřebovat peněženku a pár ETH.", + "page-stablecoins-accordion-borrow-risks-copy": "Pokud používáte ETH jako zástavu a jeho hodnota se sníží, vaše zástava nebude pokrývat vygenerované stablecoiny. To způsobí, že vaše pozice bude zrušena a můžete dostat pokutu. Takže když si půjčíte stablecoiny, měli byste sledovat cenu ETH.", + "page-stablecoins-accordion-borrow-risks-link": "Aktuální cena ETH", + "page-stablecoins-accordion-borrow-risks-title": "Rizika", + "page-stablecoins-accordion-borrow-text-preview": "Můžete si půjčit nějaké stabilní kryptoměny, které potom budete muset vrátit, tak, že dáte do zástavy svou kryptoměnu.", + "page-stablecoins-accordion-borrow-title": "Půjčit", + "page-stablecoins-accordion-buy-exchanges-title": "Populární směnárny", + "page-stablecoins-accordion-buy-requirement-1": "Směnárny kryptoměn a peněženky", + "page-stablecoins-accordion-buy-requirement-1-description": "Zjistěte, které služby můžete používat tam, kde žijete", + "page-stablecoins-accordion-buy-requirements-description": "Účet u směnárny nebo peněženka, do které si můžete přímo kupovat kryptoměnu. Možná jste již v minulosti nějakou používali kvůli získání ETH. Zkontrolujte si, které služby můžete používat tam, kde žijete.", + "page-stablecoins-accordion-buy-text-preview": "Mnoho směnáren a peněženek vám umožňuje přímo kupovat stabilní kryptoměny. Často existují omezení pro určité lokality.", + "page-stablecoins-accordion-buy-title": "Koupit", + "page-stablecoins-accordion-buy-warning": "Centralizované směnárny někdy pracují jen se stabilními kryptoměnami krytými papírovou měnou jako je USDC. Pokud je nemůžete koupit přímo, mělo by být možné směnit je za ETH nebo jiné kryptoměny, které si můžete na dané směnárně koupit.", + "page-stablecoins-accordion-earn-project-1-description": "Většinou technická práce pro open source projekty.", + "page-stablecoins-accordion-earn-project-2-description": "Technologie, obsah a další práce pro komunitu MakerDao (tým, který vám přinesl Dai).", + "page-stablecoins-accordion-earn-project-3-description": "Pokud máte opravdu dobré znalosti, můžete vydělávat Dai řešením chyb.", + "page-stablecoins-accordion-earn-project-bounties": "Odměny za chyby v Gitcoinu", + "page-stablecoins-accordion-earn-project-bug-bounties": "Odměněny za hlášení chyb ve vrstvě konsenzu", + "page-stablecoins-accordion-earn-project-community": "Komunita MakerDao", + "page-stablecoins-accordion-earn-projects-copy": "Na těchto platformách můžete za svou práci získat stablecoiny.", + "page-stablecoins-accordion-earn-projects-title": "Kde vydělat stablecoiny", + "page-stablecoins-accordion-earn-requirement-1": "Ethereum peněženka", + "page-stablecoins-accordion-earn-requirement-1-description": "K získání vydělaných stabilních kryptoměn potřebujete peněženku", + "page-stablecoins-accordion-earn-requirements-description": "Stabilní kryptoměny jsou dobrou možností placení za práci a služby, protože jejich hodnota je stabilní.", + "page-stablecoins-accordion-earn-text-preview": "Stabilní kryptoměnu můžete vydělávat prací na projektech v ekosystému platformy Ethereum.", + "page-stablecoins-accordion-earn-title": "Vydělávejte", + "page-stablecoins-accordion-less": "Méně", + "page-stablecoins-accordion-more": "Více", + "page-stablecoins-accordion-requirements": "Co budete potřebovat", + "page-stablecoins-accordion-swap-dapp-intro": "Pokud již máte ETH a peněženku, můžete pomocí těchto dappky směňovat za stablecoiny.", + "page-stablecoins-accordion-swap-dapp-link": "Více o decentralizovaných směnárnách", + "page-stablecoins-accordion-swap-dapp-title": "Dappky na směňování tokenů", + "page-stablecoins-accordion-swap-editors-tip": "Tip editora", + "page-stablecoins-accordion-swap-editors-tip-button": "Najít peněženky", + "page-stablecoins-accordion-swap-editors-tip-copy": "Pořiďte si peněženku, do které můžete kupovat ETH a přímo jej směňovat za tokeny včetně stabilních kryptoměn.", + "page-stablecoins-accordion-swap-pill": "Doporučeno", + "page-stablecoins-accordion-swap-requirement-1": "Ethereum peněženka", + "page-stablecoins-accordion-swap-requirement-1-description": "K autorizaci swapu a uložení vašich mincí potřebujete peněženku.", + "page-stablecoins-accordion-swap-requirement-2": "Ether (ETH)", + "page-stablecoins-accordion-swap-requirement-2-description": "Zaplatit za swap", + "page-stablecoins-accordion-swap-text-preview": "Většinu stabilních kryptoměn můžete získat na decentralizovaných směnárnách. Můžete tam směnit tokeny, které máte, za stablecoiny, které chcete.", + "page-stablecoins-accordion-swap-title": "Směnit", + "page-stablecoins-algorithmic": "Algoritmus", + "page-stablecoins-algorithmic-con-1": "Musíte věřit algoritmu (nebo ho umět číst).", + "page-stablecoins-algorithmic-con-2": "Množství vašich mincí se bude měnit v závislosti na celkové zásobě.", + "page-stablecoins-algorithmic-description": "Tyto stabilní kryptoměny nejsou ničím kryty. Místo toho je řídí algoritmus, který prodává tokeny, pokud se jejich cena sníží pod požadovanou úroveň, a vytváří je, pokud jejich cena vystoupí nad požadovanou úroveň. Protože se počet tokenů v oběhu neustále mění, mění se i počet tokenů, které vlastníte, ale vždy odpovídá vašemu podílu.", + "page-stablecoins-algorithmic-pro-1": "Není potřeba žádné zajištění.", + "page-stablecoins-algorithmic-pro-2": "Řízeno transparentním algoritmem.", + "page-stablecoins-bank-apy": "0,05 %", + "page-stablecoins-bank-apy-source": "Průměrná úroková míra, kterou vyplácejí banky na základním federálně pojištěném spořícím účtu v USA.", + "page-stablecoins-bank-apy-source-link": "Zdroj", + "page-stablecoins-bitcoin-pizza": "Nechvalně proslulá pizza za Bitcoiny", + "page-stablecoins-bitcoin-pizza-body": "V roce 2010 někdo koupil dvě pizzy za 10 000 bitcoinů. Ty v té době měly cenu kolem 41 dolarů. Dnes to představuje miliony dolarů. V historii platformy Ethereum je mnoho podobných politováníhodných transakcí. Stabilní kryptoměny tento problém řeší, takže si můžete vychutnat pizzu a přitom držet ETH.", + "page-stablecoins-coin-price-change": "Změna ceny (posledních 30 dnů)", + "page-stablecoins-crypto-backed": "Zajištěné kryptoměnou", + "page-stablecoins-crypto-backed-con-1": "Méně stabilní než stablecoiny kryté papírovými penězi.", + "page-stablecoins-crypto-backed-con-2": "Musíte sledovat hodnotu zajištění kryptoměnou.", + "page-stablecoins-crypto-backed-description": "Tyto stabilní kryptoměny jsou kryty jinou kryptoměnou, například ETH. Jejich cena závisí na hodnotě podkladového aktiva neboli kolaterálu, která může být nestabilní. Vzhledem k tomu, že hodnota ETH kolísá, jsou tyto stablecoiny zajištěny nadbytečným množstvím podkladového aktiva tak, aby byly tak stabilní, jak je jen možné. Je tedy pravděpodobnější, že například stablecoin zajištěný kryptoměnou v hodnotě 1 USD má kryptoměnový kolaterál v hodnotě alespoň 2 USD. Jakmile se cena ETH sníží, musí se pro zajištění stablecoinu použít více ETH, jinak ztratí svou hodnotu.", + "page-stablecoins-crypto-backed-pro-1": "Transparentní a plně decentralizované.", + "page-stablecoins-crypto-backed-pro-2": "Dá se rychle směnit za jiná kryptoměnová aktiva.", + "page-stablecoins-crypto-backed-pro-3": "Žádní externí uschovatelé. Všechna aktiva jsou ovládána účty platformy Ethereum.", + "page-stablecoins-dai-banner-body": "Dai je pravděpodobně nejslavnější decentralizovaná stabilní kryptoměna. Jeho hodnota je přibližně jeden dolar a je přijímán mnoha decentralizovanými aplikacemi.", + "page-stablecoins-dai-banner-learn-button": "Dozvědět se o Dai", + "page-stablecoins-dai-banner-swap-button": "Směňte ETH za Dai", + "page-stablecoins-dai-banner-title": "Dai", + "page-stablecoins-dai-logo": "Logo Dai", + "page-stablecoins-editors-choice": "Volby editorů", + "page-stablecoins-editors-choice-intro": "Toto jsou současně pravděpodobně nejznámější příklady stabilních kryptoměn, které jsme vyhodnotily jako užitečné při používání dappky.", + "page-stablecoins-explore-dapps": "Prozkoumat dappky", + "page-stablecoins-fiat-backed": "Zajištění fiatem", + "page-stablecoins-fiat-backed-con-1": "Centralizováno – někdo musí vydávat tokeny.", + "page-stablecoins-fiat-backed-con-2": "Je potřeba provést audit, aby se zjistilo, jestli má společnost dostatečné rezervy.", + "page-stablecoins-fiat-backed-description": "Je to vlastně poukázka na tradiční papírovou měnu (obyčejně dolary). Pomocí papírové měny můžete koupit stabilní kryptoměnu, kterou můžete později prodat a získat zpět peníze v původní měně.", + "page-stablecoins-fiat-backed-pro-1": "Bezpečné proti volatilitě kryptoměn.", + "page-stablecoins-fiat-backed-pro-2": "Změny cen jsou minimální.", + "page-stablecoins-find-stablecoin": "Najít stabilní kryptoměnu", + "page-stablecoins-find-stablecoin-how-to-get-them": "Získávání stabilní kryptoměny", + "page-stablecoins-find-stablecoin-intro": "Existují stovky stablecoinů. Některé z těchto vám mohou pomoci začít. Pokud je pro vás Ethereum nové, doporučujeme si vše nejprve pozorně prostudovat.", + "page-stablecoins-find-stablecoin-types-link": "Různé typy stablecoinů", + "page-stablecoins-get-stablecoins": "Získávání stabilní kryptoměny", + "page-stablecoins-hero-alt": "Tři největší stablecoiny podle tržního kapitálu: Dai, USDC a Tether.", + "page-stablecoins-hero-button": "Získat stablecoiny", + "page-stablecoins-hero-header": "Digitální peníze pro každodenní použití", + "page-stablecoins-hero-subtitle": "Stablecoiny jsou Ethereum tokeny, které jsou navrženy tak, aby si udržely fixní hodnotu, i když se změní hodnota ETH.", + "page-stablecoins-interest-earning-dapps": "Dappky, které nabízejí možnost výnosů na úrocích", + "page-stablecoins-meta-description": "Úvod do Ethereum stablecoinů: co jsou zač, jak je získat a proč jsou důležité.", + "page-stablecoins-precious-metals": "Drahé kovy", + "page-stablecoins-precious-metals-con-1": "Centralizováno – někdo musí vydávat tokeny.", + "page-stablecoins-precious-metals-con-2": "Musíte důvěřovat vydavateli tokenu a rezervám drahých kovů.", + "page-stablecoins-precious-metals-description": "Na rozdíl od papírových peněz jsou tyto stabilní kryptoměny kryté fyzickou hodnotou, jako je zlato.", + "page-stablecoins-precious-metals-pro-1": "Bezpečné proti volatilitě kryptoměn.", + "page-stablecoins-prices": "Ceny stablecoinů", + "page-stablecoins-prices-definition": "Stablecoiny jsou kryptoměny bez volatility. Sdílejí mnoho schopností s ETH, ale jejích hodnota je stabilní, jako u tradičních měn. Takže máte přístup ke stabilním penězům, které můžete používat na Ethereu.", + "page-stablecoins-prices-definition-how": "Stabilita kryptoměn", + "page-stablecoins-research-warning": "Ethereum je nová technologie, a i většina aplikací je nových. Ujistěte se, že znáte rizika a vkládejte jen to, co si můžete dovolit ztratit.", + "page-stablecoins-research-warning-title": "Vše si vždy důkladně prostudujte", + "page-stablecoins-save-stablecoins": "Spořte se stabilními kryptoměnami", + "page-stablecoins-save-stablecoins-body": "Stabilní kryptoměny často mají nadprůměrnou úrokovou sazbu, protože po jejich půjčování je velká poptávka. Pomocí decentralizovaných aplikací můžete v reálném čase vydělávat na úrocích ze svých stablecoinů tak, že je vložíte mezi sdílené prostředky pro půjčování.", + "page-stablecoins-saving": "Využívejte své stablecoiny naplno a vydělávejte na úrocích za jejich půjčování. Jako vše ostatní v oblasti kryptoměn se může předpokládaný procentuální roční výnos (Annual Percentage Yields, APY) měnit ze dne na den v závislosti na nabídce a poptávce.", + "page-stablecoins-stablecoins-dapp-callout-description": "Podívejte se na dappky Etherea – stablecoiny jsou často užitečnější pro každodenní transakce.", + "page-stablecoins-stablecoins-dapp-callout-image-alt": "Ilustrace doge.", + "page-stablecoins-stablecoins-dapp-callout-title": "Využijte své stablecoiny", + "page-stablecoins-stablecoins-dapp-description-1": "Trhy se spoustu stabilních kryptoměn, včetně Dai, USDC, TUSD, USDT a dalších.", + "page-stablecoins-stablecoins-dapp-description-2": "Půjčujte stablecoiny a vydělávejte na úrocích a $COMP, vlastní token projektu Compound.", + "page-stablecoins-stablecoins-dapp-description-3": "Obchodní platforma, kde můžete získat výnosy z úroků z vašeho Dai a USDC.", + "page-stablecoins-stablecoins-dapp-description-4": "Aplikace navržená k ukládání Dai.", + "page-stablecoins-stablecoins-feature-1": "Stabilní kryptoměny jsou globální a lze je posílat přes internet. Jakmile máte Ethereum účet, můžete je jednoduše přijímat nebo odesílat.", + "page-stablecoins-stablecoins-feature-2": "Poptávka po stablecoinech je vysoká, takže za půjčení svých můžete získat výnos z úroků. Před půjčkou se ujistěte, že znáte všechna rizika.", + "page-stablecoins-stablecoins-feature-3": "Stabilní kryptoměny lze směnit za ETH a další tokeny Ethereum. Většina decentralizovaných aplikací se spoléhá na stabilní kryptoměny.", + "page-stablecoins-stablecoins-feature-4": "Stablecoiny jsou zabezpečeny kryptografií. Nikdo vaším jménem nemůže falšovat transakce.", + "page-stablecoins-stablecoins-meta-description": "Úvod do Ethereum stablecoinů: co jsou zač, jak je získat a proč jsou důležité.", + "page-stablecoins-stablecoins-table-header-column-1": "Měna", + "page-stablecoins-stablecoins-table-header-column-2": "Tržní kapitalizace", + "page-stablecoins-stablecoins-table-header-column-3": "Druh zajištění", + "page-stablecoins-stablecoins-table-type-crypto-backed": "Krypto", + "page-stablecoins-stablecoins-table-type-fiat-backed": "Fiat", + "page-stablecoins-stablecoins-table-type-precious-metals-backed": "Drahé kovy", + "page-stablecoins-table-error": "Nepodařilo se načíst stablecoiny. Zkuste obnovit stránku.", + "page-stablecoins-table-loading": "Načítání dat stablecoinu...", + "page-stablecoins-title": "Stabilní kryptoměny (stablecoins)", + "page-stablecoins-top-coins": "Největší stablecoiny podle tržní kapitalizace", + "page-stablecoins-top-coins-intro": "Tržní kapitalizace je", + "page-stablecoins-top-coins-intro-code": "celkový počet existujících tokenů vynásobený hodnotou jednoho tokenu. Tento seznam se často mění a projekty v něm obsažené nemusí být podporovány týmem ethereum.org.", + "page-stablecoins-types-of-stablecoin": "Jak fungují: typy stabilních kryptoměn", + "page-stablecoins-usdc-banner-body": "USDC je pravděpodobně nejznámějším stablecoinem krytým papírovými penězi. Jeho hodnota je přibližně jeden dolar a zajišťují ji společnosti Circle a Coinbase.", + "page-stablecoins-usdc-banner-learn-button": "Dozvědět se o USDC", + "page-stablecoins-usdc-banner-swap-button": "Směňte ETH za USDC", + "page-stablecoins-usdc-banner-title": "USDC", + "page-stablecoins-usdc-logo": "Logo USDC", + "page-stablecoins-why-stablecoins": "Proč stablecoiny?", + "page-stablecoins-how-they-work-button": "Jak fungují", + "page-stablecoins-why-stablecoins-body": "Protože se jedná o novou technologii, má ETH, stejně jako Bitcoin, volatilní cenu. Takže ho asi nechcete utrácet pravidelně. Stabilní kryptoměny zrcadlí hodnotu tradičních měn, aby vám umožnily přístup ke stabilním penězům, které můžete používat na Ethereu.", + "page-stablecoins-more-defi-button": "Více o decentralizovaných financích (DeFi)" +} diff --git a/src/intl/cs/page-wallets-find-wallet.json b/src/intl/cs/page-wallets-find-wallet.json new file mode 100644 index 00000000000..f7cfa870c9a --- /dev/null +++ b/src/intl/cs/page-wallets-find-wallet.json @@ -0,0 +1,143 @@ +{ + "page-find-wallet-add-wallet": ". Chcete, abychom přidali peněženku,", + "page-find-wallet-airgap-logo-alt": "Logo AirGap", + "page-find-wallet-alpha-logo-alt": "Logo AlphaWallet", + "page-find-wallet-ambo-logo-alt": "Logo Ambo", + "page-find-wallet-argent-logo-alt": "Logo Argent", + "page-find-wallet-buy-card": "Nákup kryptoměn pomocí karty", + "page-find-wallet-buy-card-desc": "Nákup ETH přímo z vaší peněženky pomocí platební karty. Mohou platit geografická omezení.", + "page-find-wallet-card-yes": "Ano", + "page-find-wallet-card-no": "Ne", + "page-find-wallet-card-go": "Přejít", + "page-find-wallet-card-hardware": "Hardware", + "page-find-wallet-card-mobile": "Mobilní", + "page-find-wallet-card-desktop": "Desktopová", + "page-find-wallet-card-web": "Webová", + "page-find-wallet-card-more-info": "Další informace", + "page-find-wallet-card-features": "Funkce", + "page-find-wallet-card-has-bank-withdraws": "Výběr do banky", + "page-find-wallet-card-has-card-deposits": "Koupit ETH kartou", + "page-find-wallet-card-has-defi-integration": "Přístup k DeFi", + "page-find-wallet-card-has-explore-dapps": "Prozkoumat dappky", + "page-find-wallet-card-has-dex-integrations": "Směnit tokeny", + "page-find-wallet-card-has-high-volume-purchases": "Kupovat ve velkém objemu", + "page-find-wallet-card-has-limits-protection": "Limity na transakce", + "page-find-wallet-card-has-multisig": "Ochrana vícenásobným podpisem", + "page-find-wallet-checkout-dapps": "Podívejte se na dappky", + "page-find-wallet-clear": "Zrušit filtry", + "page-find-wallet-coinbase-logo-alt": "Logo Coinbase", + "page-find-wallet-coinomi-logo-alt": "Logo Coinomi", + "page-find-wallet-coin98-logo-alt": "Logo Coin98", + "page-find-wallet-dcent-logo-alt": "Logo D'CENT", + "page-find-wallet-desc-2": "Vyberte si peněženku na základě požadovaných funkcí.", + "page-find-wallet-description": "Peněženky mají spoustu volitelných funkcí, které se vám mohou líbit.", + "page-find-wallet-description-airgap": "Podepisujete transakce úplně off-line na zařízení bez jakékoliv síťové konektivity pomocí AirGap Vault. Poté je můžete odeslat pomocí běžného chytrého telefonu a aplikace AirGap Wallet.", + "page-find-wallet-description-alpha": "Plně open-source Ethereum peněženka, která používá bezpečnou enklávu na mobilu, nabízí plnou podporu testnet a používá standard TokenScdiptu.", + "page-find-wallet-description-ambo": "Přejděte přímo k investování a získejte svoji první investici během několika minut od stáhnutí aplikace", + "page-find-wallet-description-argent": "Jedním klepnutím vydělávejte na úrocích a investujte: půjčujte, ukládejte a posílejte. Mějte vše v malíku.", + "page-find-wallet-description-bitcoindotcom": "Peněženka Bitcoin.com teď podporuje Ethereum! Kupujte, spravujte a obchodujte s ETH pomocí alternativní peněženky, které důvěřují miliony lidí.", + "page-find-wallet-description-coinbase": "Zabezpečená aplikace na vlastní ukládání kryptoměn", + "page-find-wallet-description-coinomi": "Coinomi je nejstarší peněženka, která podporuje multi-chain, je multiplatformní a připravená na defi pro Bitcoin, altcoiny a tokeny. Nikdy nebyla hacknuta a důvěřují jí miliony uživatelů.", + "page-find-wallet-description-coin98": "Alternativní peněženka pro multi-chain a brána pro DeFi", + "page-find-wallet-description-dcent": "D'CENT Wallet je velmi praktická peněženka na několik kryptoměn s vestavěným prohlížečem dappek pro snadný přístup k DeFi, NFT a různým službám.", + "page-find-wallet-description-enjin": "Neproniknutelná, nabušená funkcemi a praktická – vytvořena pro obchodníky, hráče a vývojáře", + "page-find-wallet-description-fortmatic": "Přistupujte k aplikacím na Ethereu odkudkoliv pouze zadáním e-mailu nebo telefonního čísla. Už žádná doplňky prohlížeče a bezpečnostní fráze.", + "page-find-wallet-description-gnosis": "Nejdůvěryhodnější platforma na ukládání digitálních aktiv na Ethereu", + "page-find-wallet-description-guarda": "Zabezpečená alternativní peněženka na kryptoměny s podporou více než 50 blockchainů. Jednoduché investování, směna a nákup krypto aktiv.", + "page-find-wallet-description-hyperpay": "HyperPay je multiplatformní univerzální peněženka na kryptoměny, která podporuje více než 50 blockchainů a 2000 decentralizovaných aplikací.", + "page-find-wallet-description-imtoken": "imToken je jednoduchá a bezpečná digitální peněženka, které důvěřují miliony lidí.", + "page-find-wallet-description-keystone": "Peněženka Keystone je hardwarová peněženka s open source firmwarem 100% oddělená od sítě, která k přenosu informací používá QR kódy.", + "page-find-wallet-description-ledger": "Udržujte vaše aktiva v bezpečí s nejvyššími bezpečnostními standardy", + "page-find-wallet-description-linen": "Mobilní peněženka založená na chytrém kontraktu: vydělávejte úroky, nakupujte kryptoměny a účastněte se DeFi. Vydělávejte odměny a tokeny s hlasovacími právy.", + "page-find-wallet-description-loopring": "První peněženka pro Ethereum využívající chytrý kontrakt, s obchodováním založeném na zkRollup, přesuny aktiv a AMM. Bez síťových poplatků, bezpečná a jednoduchá.", + "page-find-wallet-description-mathwallet": "MathWallet je multiplatformní (mobilní/rozšíření/web) univerzální peněženka na kryptoměny, která podporuje více než 50 blockchainů a 2 000 dappek.", + "page-find-wallet-description-metamask": "Sledujte blockchain aplikace mrknutím oka. Spolehlivé pro víc než 21 milion uživatelů po celém světě.", + "page-find-wallet-description-monolith": "Jediná samoobslužná peněženka na světě, spárovaná s debetní kartou Visa. Dostupné ve Spojeném království a EU, použitelné celosvětově.", + "page-find-wallet-description-multis": "Multis je kryptoměnový účet navržený pro firmy. Díky Multis mohou společnosti uchovávat prostředky s kontrolou přístupu, získávat výnosy z úroků z úspor a zefektivnit platby a účetnictví.", + "page-find-wallet-description-mycrypto": "MyCrypto je rozhraní pro správu všech vašich účtů. Směňujte, posílejte a kupujte kryptoměny s peněženkami jako MetaMask, Ledger, Trezor a dalšími.", + "page-find-wallet-description-myetherwallet": "Bezplatné rozhraní na straně klienta, které vám pomůže komunikovat s Ethereum blockchainem.", + "page-find-wallet-description-numio": "Numio je alternativní peněženka na druhé vrstvě sítě Ethereum, založená na zkRollups, pro rychlé a levné transakce s ERC-20 tokeny a jejich směňování. Numio je dostupná v systémech Android a iOS.", + "page-find-wallet-description-opera": "Peněženka na kryptoměny vestavěná do prohlížeče Opera Touch pod iOS a Opera pro Android. První velký prohlížeč, který integroval kryptoměnovou peněženku, díky čemuž máte hladký přístup k novému webu zítřka (Web 3).", + "page-find-wallet-description-pillar": "Alternativní, komunitně vlastněná peněženka s vlastní L2 platební sítí.", + "page-find-wallet-description-portis": "Alternativní peněženka blockchainu, díky které se každá aplikace ovládá snadno.", + "page-find-wallet-description-rainbow": "Lepší domov pro Vaše Ethereum aktiva", + "page-find-wallet-description-samsung": "Zabezpečte své cennosti s peněženkou Samsung Blockchain Wallet.", + "page-find-wallet-description-status": "Bezpečná aplikace k zasílání zpráv, krypto peněženka a Web3 prohlížeč vytvořený s nejmodernější technologií", + "page-find-wallet-description-tokenpocket": "TokenPocket: Bezpečná a pohodlná špičková digitální peněženka a portál do decentralizovaných aplikací, s podporou multi-chainu.", + "page-find-wallet-description-bitkeep": "BitKeep je decentralizovaná peněženka pro multi-chain, která nabízí bezpečnou a pohodlnou správu aktiv na jednom místě uživatelům z celého světa.", + "page-find-wallet-description-torus": "Přihlášení jedním klikem na Web 3.0", + "page-find-wallet-description-trezor": "První a původní hardwarová peněženka", + "page-find-wallet-description-trust": "Trust Wallet je decentralizovaná peněženka na několik kryptoměn. Kupujte kryptoměny, objevujte decentralizované aplikace, vyměňuje aktiva a mnohem více, zatímco si udržujete kontrolu nad svými klíči.", + "page-find-wallet-description-unstoppable": "Unstoppable Wallet je open source alternativní řešení známé pro svůj intuitivní návrh a uživatelskou přívětivost. Nativně podporuje decentralizované obchodování a směnu.", + "page-find-wallet-description-zengo": "ZenGo je první bezklíčová krypto peněženka. U peněženky ZenGo nepotřebujete žádné privátní klíče, hesla nebo bezpečnostní fráze, které byste si museli pamatovat nebo je mohli zapomenout. Kupujte, obchoduje, vydělávejte a ukládejte Ethereum s nebývalou jednoduchostí a bezpečností.", + "page-find-wallet-description-walleth": "Peněženka, která běží zcela na principu open source (GPLv3) Ethereum peněženka pro Android od roku 2017. Pomocí WalletConnect můžete připojit své oblíbené dappky a používat je přímo s hardwarovými peněženkami.", + "page-find-wallet-description-safepal": "Softwarová peněženka od SafePal je bezpečná decentralizovaná, jednoduchá na používání a bezplatná aplikace ke správě více než 10 000 kryptoměn.", + "page-find-wallet-enjin-logo-alt": "Logo Enjin", + "page-find-wallet-Ethereum-wallets": "Peněženky pro Ethereum", + "page-find-wallet-explore-dapps": "Prozkoumat dappky", + "page-find-wallet-explore-dapps-desc": "Tyto peněženky jsou navrhnuty tak, aby Vám pomohly připojit se k dappkám Ethereum.", + "page-find-wallet-feature-h2": "Vyberte funkce peněženky, na kterých vám záleží.", + "page-find-wallet-fi-tools": "Přístup k DeFi", + "page-find-wallet-fi-tools-desc": "Půjčte si nebo půjčujte ostatním, a vydělávejte na úrocích přímo z peněženky.", + "page-find-wallet-following-features": "s těmito funkcemi:", + "page-find-wallet-fortmatic-logo-alt": "Logo Fortmatic", + "page-find-wallet-gnosis-logo-alt": "Logo Gnosis Safe", + "page-find-wallet-guarda-logo-alt": "Logo Guarda", + "page-find-wallet-hyperpay-logo-alt": "Logo HyperPay", + "page-find-wallet-image-alt": "Najít obrázek hrdiny peněženky", + "page-find-wallet-imtoken-logo-alt": "Logo imToken", + "page-find-wallet-keystone-logo-alt": "Logo Keystone", + "page-find-wallet-last-updated": "Naposledy aktualizováno", + "page-find-wallet-ledger-logo-alt": "Logo Ledger", + "page-find-wallet-limits": "Omezení ochrany", + "page-find-wallet-limits-desc": "Zabezpečte svoje aktiva tím, že nastavíte limity, které zabrání vyčerpání účtu.", + "page-find-wallet-linen-logo-alt": "Logo Linen", + "page-find-wallet-listing-policy": "výpis zásad", + "page-find-wallet-loopring-logo-alt": "Logo Loopring", + "page-find-wallet-mathwallet-logo-alt": "Logo MathWallet", + "page-find-wallet-meta-description": "Najděte a porovnejte Ethereum peněženky založené na funkcích, které chcete.", + "page-find-wallet-meta-title": "Najděte peněženku pro Ethereum", + "page-find-wallet-metamask-logo-alt": "Logo MetaMask", + "page-find-wallet-monolith-logo-alt": "Logo Monolith", + "page-find-wallet-multis-logo-alt": "Logo Multis", + "page-find-wallet-multisig": "Vícepodpisové účty", + "page-find-wallet-multisig-desc": "Aby byly bezpečnější, vyžadují vícepodpisové peněženky více než jeden účet k autorizaci určitých transakcí.", + "page-find-wallet-mycrypto-logo-alt": "Logo MyCrypto", + "page-find-wallet-myetherwallet-logo-alt": "Logo MyEtherWallet", + "page-find-wallet-new-to-wallets": "Teprve se s peněženkami seznamujete? Zde je přehled pro začátek.", + "page-find-wallet-new-to-wallets-link": "Peněženky pro Ethereum", + "page-find-wallet-not-all-features": "Žádná peněženka ještě nemá všechny tyto funkce.", + "page-find-wallet-not-endorsements": "Peněženky uvedené na této stránce nejsou oficiálními potvrzeními a jsou poskytovány pouze pro informační účely. Jejich popisy byly poskytnuty samotnými společnostmi peněženky. Na tuto stránku přidáváme produkty na základě kritérií v našem", + "page-find-wallet-numio-logo-alt": "Logo Numio", + "page-find-wallet-overwhelmed": "Ethereum peněženky níže. Je toho na vás moc? Zkuste filtrovat podle funkcí.", + "page-find-wallet-opera-logo-alt": "Logo Opera", + "page-find-wallet-pillar-logo-alt": "Logo Pillar", + "page-find-wallet-portis-logo-alt": "Logo Portis", + "page-find-wallet-rainbow-logo-alt": "Logo Rainbow", + "page-find-wallet-raise-an-issue": "vyvolat problém na GitHubu", + "page-find-wallet-search-btn": "Hledat vybrané funkce", + "page-find-wallet-showing": "Zobrazeno ", + "page-find-wallet-samsung-logo-alt": "Logo Samsung Blockchain Wallet", + "page-find-wallet-status-logo-alt": "Logo statusu", + "page-find-wallet-swaps": "Decentralizované výměny žetonů", + "page-find-wallet-swaps-desc": "Obchoduje mezi ETH a jinými žetony přímo z Vaší peněženky.", + "page-find-wallet-title": "Najít peněženku", + "page-find-wallet-tokenpocket-logo-alt": "Logo TokenPocket", + "page-find-wallet-bitkeep-logo-alt": "Logo BitKeep", + "page-find-wallet-torus-logo-alt": "Logo Torus", + "page-find-wallet-trezor-logo-alt": "Logo Trezor", + "page-find-wallet-trust-logo-alt": "Logo Trust", + "page-find-wallet-safepal-logo-alt": "Logo SafePal", + "page-find-wallet-try-removing": "Zkuste odebrat funkci nebo dvě", + "page-find-wallet-unstoppable-logo-alt": "Logo Unstoppable", + "page-find-wallet-use-wallet-desc": "Teď, když máte peněženku, podívejte se na aplikace Ethereum (dappky). Existují dappky pro finance, sociální média, hry a mnoho dalších kategorií.", + "page-find-wallet-use-your-wallet": "Použít peněženku", + "page-find-wallet-voluem-desc": "Pokud chcete držet hodně ETH, vyberte si peněženku, která vám umožní koupit více než 2 000 USD v ETH najednou.", + "page-find-wallet-volume": "Vysokoobjemové nákupy", + "page-find-wallet-we-found": "Našli jsme", + "page-find-wallet-withdraw": "Výběr do banky", + "page-find-wallet-withdraw-desc": "Možnost vyplatit si ETH přímo na bankovní účet, aniž byste použili burzu.", + "page-find-wallet-zengo-logo-alt": "Logo ZenGo", + "page-find-wallet-walleth-logo-alt": "Logo WallETH", + "page-stake-eth": "Investování ETH" +} diff --git a/src/intl/cs/page-wallets.json b/src/intl/cs/page-wallets.json new file mode 100644 index 00000000000..7c4460f85ea --- /dev/null +++ b/src/intl/cs/page-wallets.json @@ -0,0 +1,70 @@ +{ + "page-wallets-accounts-addresses": "Peněženky, účty a adresy", + "page-wallets-accounts-addresses-desc": "Stojí za to pochopit rozdíly mezi některými klíčovými pojmy.", + "page-wallets-accounts-ethereum-addresses": "Účet na síti Ethereum má adresu podobně jako e-mailová schránka. Ethereovou adresu můžete použít k posílání financí na účet.", + "page-wallets-alt": "Ilustrace robota s trezorem jako tělem, který představuje peněženku Ethereum", + "page-wallets-ethereum-account": "Účet sítě Ethereum má zůstatek a můžete z něj posílat transakce.", + "page-wallets-blog": "Blog Coinbase", + "page-wallets-bookmarking": "Přidejte si Vaši peněženku do záložek", + "page-wallets-bookmarking-desc": "Pokud používáte webovou peněženku, přidejte si stránku do záložek, abyste se ochránili před phishingem.", + "page-wallets-cd": "Fyzické hardwarové peněženky, které umožňují držet Vaše kryptoměny v offline režimu – velmi bezpečné", + "page-wallets-converted": "Konvertován do krypta?", + "page-wallets-converted-desc": "Pokud hodláte držet nějaké větší částky, doporučujeme použít hardwarovou peněženku, protože ty jsou nejbezpečnější. Nebo peněženku s upozorněním na podvody a limity výběru.", + "page-wallets-curious": "Krypto-nováček?", + "page-wallets-curious-desc": "Pokud jste v kryptu noví a chcete k němu získat cit, doporučujeme něco, co Vám umožní Ethereum objevovat nebo si ETH koupit přímo z peněženky.", + "page-wallets-desc-2": "K posílání prostředků a správě ETH potřebujete peněženku.", + "page-wallets-desc-2-link": "Více o ETH", + "page-wallets-desc-3": "Peněženka je pouze nástrojem pro správu Ethereového účtu. To znamená, že můžete kdykoliv změnit poskytovatele peněženky. Mnoho peněženek vám také umožňuje spravovat více účtů na síti Ethereum z jedné aplikace.", + "page-wallets-desc-4": "Peněženky totiž nespravují vaše finance, spravujete je vy sami.", + "page-wallets-description": "Peněženky pro Ethereum jsou aplikace, které vám umožňují komunikovat s Ethereum účtem. Je to jako aplikace internetového bankovnictví, ale bez banky. Peněženka umožňuje zobrazit si zůstatek, odesílat transakce a připojovat se k aplikacím.", + "page-wallets-desktop": "Desktopové aplikace, pokud chcete spravovat své finance v systému Linux, Windows, nebo MacOS", + "page-wallets-ethereum-wallet": "Peněženka je program nebo zařízení, pomocí kterého můžete spravovat svůj účet na síti Ethereum. Můžete s její pomocí sledovat zůstatek na účtu, posílat transakce a další.", + "page-wallets-explore": "Prozkoumejte Ethereum", + "page-wallets-features-desc": "Můžeme vám pomoci s výběrem peněženky podle funkcí, které potřebujete.", + "page-wallets-features-title": "Chcete si vybrat podle toho, jaké mají funkce?", + "page-wallets-find-wallet-btn": "Najít peněženku", + "page-wallets-find-wallet-link": "Najít peněženku", + "page-wallets-get-some": "Získejte ETH", + "page-wallets-get-some-alt": "Ilustrace ruky tvořící logo ETH z lega", + "page-wallets-get-some-btn": "Získejte ETH", + "page-wallets-get-some-desc": "ETH je nativní kryptoměna sítě Ethereum. ETH v peněžence budete potřebovat, pokud chcete používat aplikace na Ethereu.", + "page-wallets-get-wallet": "Vybrat peněženku", + "page-wallets-get-wallet-desc": "Můžete si vybrat z velkého množství peněženek. Chceme vám pomoci s výběrem té, která je pro vás nejlepší.", + "page-wallets-get-wallet-desc-2": "Pamatujte: toto rozhodnutí může kdykoli změnit. Váš účet na Ethereu není vázán na poskytovatele vaší peněženky.", + "page-wallets-how-to-store": "Ukládání digitálních aktiv na Ethereu", + "page-wallets-keys-to-safety": "Klíče k uchování kryptoměny v bezpečí", + "page-wallets-manage-funds": "Aplikace pro správu vašich financí", + "page-wallets-manage-funds-desc": "Vaše peněženka zobrazuje vaše zůstatky historii transakcí a můžete přes ní posílat nebo přijímat finance. Některé peněženky nabízejí i další funkce.", + "page-wallets-meta-description": "Co potřebujete vědět, abyste mohli používat peněženku na ETH.", + "page-wallets-meta-title": "Peněženky pro Ethereum", + "page-wallets-mobile": "Mobilní aplikace, pomocí kterých máte odkudkoliv přístup ke svým financím", + "page-wallets-more-on-dapps-btn": "Další informace o decentralizovaných aplikacích", + "page-wallets-most-wallets": "Ve většině peněženek si můžete vytvořit nový účet na síti Ethereum. Takže už nemusíte nějaký mít předtím, než stáhnete peněženku.", + "page-wallets-protecting-yourself": "Chráníme sebe a vaše prostředky", + "page-wallets-seed-phrase": "Zapište si bezpečnostní frázi", + "page-wallets-seed-phrase-desc": "Peněženky vám často poskytnou bezpečnostní frázi, kterou si musíte zapsat a uložit na bezpečném místě. Je to jediný způsob, jak bude možné peněženku obnovit.", + "page-wallets-seed-phrase-example": "Toto je příklad:", + "page-wallets-seed-phrase-snippet": "there aeroplane curve vent formation doge possible product distinct under spirit lamp", + "page-wallets-seed-phrase-write-down": "Neukládejte ji na počítači. Zapište ji a uložte na bezpečném místě.", + "page-wallets-slogan": "Klíč k vaší digitální budoucnosti", + "page-wallets-stay-safe": "Funkční zabezpečení", + "page-wallets-stay-safe-desc": "Zabezpečení peněženek vyžaduje trochu jiný přístup. Finanční svoboda a možnost přístupu k financím odkudkoliv jde ruku v ruce se zodpovědností. Ve světě kryptoměn neexistuje žádná zákaznická podpora.", + "page-wallets-subtitle": "Peněženky umožňují přístup k vašim prostředkům a používání Etherea. Pouze vy byste měli mít přístup k vaší peněžence.", + "page-wallets-take-responsibility": "Přijměte zodpovědnost za vlastní finance", + "page-wallets-take-responsibility-desc": "Centralizované směnárny spojují peněženku s uživatelským jménem a heslem, které můžete obnovit tradičním způsobem. Jen pamatujte, že této směnárně svěřujete správu svých financí. Pokud je na tuto společnost proveden útok nebo pokud zkrachuje, jsou vaše finance v ohrožení.", + "page-wallets-tips": "Další tipy na zabezpečení", + "page-wallets-tips-community": "Od komunity", + "page-wallets-title": "Peněženky pro Ethereum", + "page-wallets-triple-check": "Vše raději třikrát zkontrolujte", + "page-wallets-triple-check-desc": "Pamatujte, transakce nelze vrátit zpět a peněženky nelze jednoduše obnovit, takže buďte opatrní a obezřetní za každých okolností.", + "page-wallets-try-dapps": "Vyzkoušejte decentralizované aplikace", + "page-wallets-try-dapps-alt": "Obrázek spolupracujících členů komunity platformy Ethereum", + "page-wallets-try-dapps-desc": "Decentralizované aplikace (dappky) jsou aplikace postavené na platformě Ethereum. Jsou levnější, spravedlivější a shovívavější k vašim datům než většina tradičních aplikací.", + "page-wallets-types": "Typy peněženek", + "page-wallets-web-browser": "Webové peněženky, pomocí kterých můžete svůj účet spravovat prostřednictvím webového prohlížeče", + "page-wallets-whats-a-wallet": "Co je Ethereum peněženka?", + "page-wallets-your-ethereum-account": "Váš účet na síti Ethereum", + "page-wallets-your-ethereum-account-desc": "Vaše peněženka je vaše okno k Ethereovému účtu. Najdete tu váš zůstatek, historii transakcí a další. Ale poskytovatele peněženky můžete kdykoliv změnit.", + "page-wallets-your-login": "Vaše přihlášení do aplikací na Ethereu", + "page-wallets-your-login-desc": "Peněženka umožňuje připojení k jakékoliv decentralizované aplikaci pomocí účtu na Ethereu. Je to jako přihlášení, kterým získáte přístup k většině dappek." +} diff --git a/src/intl/cs/page-what-is-ethereum.json b/src/intl/cs/page-what-is-ethereum.json new file mode 100644 index 00000000000..53806057592 --- /dev/null +++ b/src/intl/cs/page-what-is-ethereum.json @@ -0,0 +1,69 @@ +{ + "page-what-is-ethereum-101": "Ethereum 101", + "page-what-is-ethereum-101-desc": "Ethereum je technologie, která umožňuje za malý poplatek poslat kryptoměnu komukoliv. Umožňuje také běh aplikací, které mohou používat všichni, ale zároveň nemohou být nikým vypnuty.", + "page-what-is-ethereum-101-desc-2": "Ethereum vychází z principů Bitcoinu, ale s některými zásadními rozdíly.", + "page-what-is-ethereum-101-desc-3": "Oba můžete používat jako digitální peníze bez poskytovatelů plateb nebo bank. Ale Ethereum je programovatelné, takže ho můžete použít i pro mnoho různých digitálních aktiv – dokonce i pro Bitcoin!", + "page-what-is-ethereum-101-desc-4": "To také znamená, že Ethereum je pro více než jen platby. Je to tržiště finančních služeb, her a aplikací, které nemohou ukrást vaše data ani vás cenzurovat.", + "page-what-is-ethereum-101-italic": "světový programovatelný blockchain.", + "page-what-is-ethereum-101-strong": "Je to ", + "page-what-is-ethereum-accessibility": "Ethereum je otevřené každému.", + "page-what-is-ethereum-adventure": "Vzhůru za dobrodružstvím!", + "page-what-is-ethereum-alt-img-bazaar": "Ilustrace osoby nahlížející do bazaru, který představuje Ethereum", + "page-what-is-ethereum-alt-img-comm": "Obrázek spolupracujících členů komunity platformy Ethereum", + "page-what-is-ethereum-alt-img-lego": "Ilustrace ruky tvořící logo ETH z lega", + "page-what-is-ethereum-alt-img-social": "Ilustrace osob ve společenském prostoru vyhrazeném pro Ethereum s velkým logem ETH", + "page-what-is-ethereum-banking-card": "Bankovnictví pro všechny", + "page-what-is-ethereum-banking-card-desc": "Ne každý má přístup k finančním službám v reálném světě. K přístupu na síť Ethereum a k jejím úvěrům, půjčkám a spořicím produktům stačí připojení k internetu.", + "page-what-is-ethereum-build": "Vytvořte něco s Ethereem", + "page-what-is-ethereum-build-desc": "Pokud chcete začít vystavět svou budoucnost na Ethereu, přečtěte si naši dokumentaci, vyzkoušejte si návody a nástroje, abyste věděli, kde začít.", + "page-what-is-ethereum-censorless-card": "Odolnost proti cenzuře", + "page-what-is-ethereum-censorless-card-desc": "Žádná vláda ani firma nemá kontrolu nad Ethereem. Díky decentralizaci vám nemůže nikdo bránit v přijímání plateb nebo využívání služeb na Ethereu.", + "page-what-is-ethereum-comm-desc": "Vítejte v naší komunitě, kde narazíte na lidi s různou historií, včetně umělců, kryptoanarchistů, fortune 500 společností. Zjistěte, jak se k nám přidat ještě dnes.", + "page-what-is-ethereum-commerce-card": "Obchodní garance", + "page-what-is-ethereum-commerce-card-desc": "Ethereum vytváří rovnější podmínky. Zákazníci mají bezpečnou, zajištěnou záruku, že peníze se proplatí pouze tehdy, když dodáte vše podle dohody. Nepotřebujete mít za sebou autoritu velké společnosti, abyste mohli podnikat.", + "page-what-is-ethereum-community": "Komunita Ethereum", + "page-what-is-ethereum-compatibility-card": "Kompatibilita vítězí", + "page-what-is-ethereum-compatibility-card-desc": "Lepší produkty a zážitky se tvoří každou chvíli, protože projekty postavené na Ethereu jsou v principu vždy kompatibilní. Firmy tak mohou stavět na úspěchu druhých.", + "page-what-is-ethereum-dapps-desc": "Produkty a služby, které běží na Ethereu. Máme decentralizované aplikace pro finance, práci, sociální média, hry a další – seznamte se s aplikacemi digitální budoucnosti.", + "page-what-is-ethereum-dapps-img-alt": "Ilustrace psa doge, co používá Ethereum aplikaci na počítači", + "page-what-is-ethereum-dapps-title": "Decentralizované aplikace Etherea", + "page-what-is-ethereum-desc": "Základ naší digitální budoucnosti", + "page-what-is-ethereum-explore": "Prozkoumejte Ethereum", + "page-what-is-ethereum-get-started": "Nejlepším způsobem, jak se dozvědět více, je stáhnout si kryptoměnovou peněženku, získat ETH a vyzkoušet některé decentralizovanou aplikaci Ethereum.", + "page-what-is-ethereum-in-depth-description": "Ethereum představuje otevřený přístup k digitálním penězům a k datům, kterým porozumí každý – bez ohledu na to kdo jste a odkud jste. Je to komunitní technologie, která stojí za kryptoměnou ether (ETH) a tisíci dalších aplikací, které můžete dnes používat.", + "page-what-is-ethereum-internet-card": "Více soukromí na internetu", + "page-what-is-ethereum-internet-card-desc": "Abyste mohli používat aplikace Ethereum, nemusíte poskytovat všechny osobní údaje. Ethereum buduje ekonomiku založenou na hodnotě, ne na dozoru a získávání uživatelských dat.", + "page-what-is-ethereum-meet-comm": "Seznamte se s komunitou", + "page-what-is-ethereum-meta-description": "Přečtěte si o Ethereu, k čemu je a jak si síť vyzkoušet sami.", + "page-what-is-ethereum-meta-title": "Co je to Ethereum?", + "page-what-is-ethereum-native-alt": "Symbol etheru (ETH)", + "page-what-is-ethereum-native-crypto": "Ethereum je nativní kryptoměna a ekvivalent Bitcoinu. ETH můžete použít na Ethereum aplikacích nebo k posílání peněz přátelům a rodině.", + "page-what-is-ethereum-native-img-alt": "Ilustrace robota s trezorem místo torza, který slouží k reprezentaci peněženek Ethereum", + "page-what-is-ethereum-native-title": "ETH", + "page-what-is-ethereum-p2p-card": "Síť klientů", + "page-what-is-ethereum-p2p-card-desc": "Ethereum umožňuje poslat peníze nebo uzavřít dohodu napřímo. Není potřeba procházet zprostředkujícími společnostmi.", + "page-what-is-ethereum-singlecard-desc": "Pokud máte zájem o blockchain a technickou stránku Etherea, jste na správné stránce.", + "page-what-is-ethereum-singlecard-link": "Jak funguje Ethereum", + "page-what-is-ethereum-singlecard-title": "Jak funguje Ethereum", + "page-what-is-ethereum-start-building-btn": "Začni tvořit", + "page-what-is-ethereum-title": "Co je to Ethereum?", + "page-what-is-ethereum-tools-needed": "Jediné, co potřebujete, je kryptoměnová peněženka.", + "page-what-is-ethereum-try": "Vyzkoušejte Ethereum", + "page-what-is-ethereum-tryit": "Vstupte do bazaru a vyzkoušejte to...", + "page-what-is-ethereum-wallets": "Kryptoměnové peněženky", + "page-what-is-ethereum-wallets-desc": "Jak spravovat svůj ETH a Ethereum účet. Pro začátek budete potřebovat kryptoměnovou peněženku. Pomůžeme vám s výběrem.", + "page-what-is-ethereum-welcome": "Vítejte v Ethereu", + "page-what-is-ethereum-welcome-2": "Doufáme, že zůstanete.", + "page-what-is-ethereum-defi-title": "Decentralizované finance (DeFi)", + "page-what-is-ethereum-defi-description": "Otevřenější finanční systém, který vám dává větší kontrolu nad vašimi penězi a otevře dveře novým možnostem.", + "page-what-is-ethereum-defi-alt": "Eth logo postavené z lega.", + "page-what-is-ethereum-nft-title": "Nezaměnitelné tokeny (NFT)", + "page-what-is-ethereum-nft-description": "Způsob, kterým lze reprezentovat unikátní věci jako aktiva Etherea. S těmi pak lze obchodovat, použít je jako důkaz vlastnictví a vytvářet tím nové příležitosti pro tvůrce.", + "page-what-is-ethereum-nft-alt": "Logo Eth zobrazené prostřednictvím hologramu.", + "page-what-is-ethereum-dao-title": "Decentralizované autonomní organizace (DAO)", + "page-what-is-ethereum-dao-description": "Nový způsob spolupráce a zakládání on-line komunit se společnými cíli a sdruženými fondy.", + "page-what-is-ethereum-dao-alt": "Vyobrazení decentralizované autonomní organizace hlasující o návrhu.", + "page-what-is-ethereum-use-cases-title": "Prozkoumejte využití Etherea", + "page-what-is-ethereum-use-cases-subtitle": "Ethereum vedlo k vytvoření nových produktů a služeb, které mohou zlepšit různé oblasti našeho života.", + "page-what-is-ethereum-use-cases-subtitle-two": "Jsme stále v raných fázích vývoje, ale je toho hodně na co se těšit." +} From 66489d3328536e013f31c78706f11114249d00e6 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 17:05:17 -0700 Subject: [PATCH 115/167] de Use Ethereum content import from Crowdin --- src/intl/de/page-dapps.json | 144 +++++++------- src/intl/de/page-developers-index.json | 36 ++-- .../de/page-developers-learning-tools.json | 36 ++-- .../de/page-developers-local-environment.json | 26 +-- src/intl/de/page-eth.json | 54 ++--- src/intl/de/page-get-eth.json | 82 ++++---- src/intl/de/page-languages.json | 6 +- src/intl/de/page-run-a-node.json | 186 +++++++++--------- src/intl/de/page-stablecoins.json | 96 ++++----- src/intl/de/page-wallets-find-wallet.json | 86 ++++---- src/intl/de/page-wallets.json | 92 ++++----- src/intl/de/page-what-is-ethereum.json | 46 ++--- 12 files changed, 448 insertions(+), 442 deletions(-) diff --git a/src/intl/de/page-dapps.json b/src/intl/de/page-dapps.json index 1bcd00c0161..4756eb0fe67 100644 --- a/src/intl/de/page-dapps.json +++ b/src/intl/de/page-dapps.json @@ -25,65 +25,65 @@ "page-dapps-category-utilities": "Nützliches", "page-dapps-category-worlds": "Virtuelle Welten", "page-dapps-choose-category": "Kategorie wählen", - "page-dapps-collectibles-benefits-1-description": "Wenn Kunst auf Ethereum tokenisiert wird, kann Eigentum für alle sichtbar nachweisbar sein. Du kannst die Reise des Kunstwerks von der Erstellung bis zum aktuellen Inhaber verfolgen. Dies verhindert Fälschungen.", + "page-dapps-collectibles-benefits-1-description": "Wenn Kunst auf Ethereum tokenisiert wird, kann Eigentum für alle sichtbar nachweisbar sein. Sie können die Reise des Kunstwerks von der Erstellung bis zum aktuellen Inhaber verfolgen. Dies verhindert Fälschungen.", "page-dapps-collectibles-benefits-1-title": "Eigentum ist nachweisbar", "page-dapps-collectibles-benefits-2-description": "Das Bezahlen für das Streamen von Musik oder den Kauf von Kunstwerken ist für die Künstler viel fairer. Mit Ethereum gibt es weniger Bedarf an Zwischenhändlern. Und wenn Zwischenhändler benötigt werden, sind ihre Kosten nicht so hoch, weil die Plattformen nicht für die Infrastruktur des Netzwerks bezahlen müssen.", "page-dapps-collectibles-benefits-2-title": "Fairer für die Schöpfer", "page-dapps-collectibles-benefits-3-description": "Tokenisierte Sammlerstücke sind an Ihre Ethereum-Adresse gebunden, nicht an die Plattform. So können Sie Dinge wie In-Game-Gegenstände auf jedem Ethereum-Markt verkaufen, nicht nur im Spiel selbst.", - "page-dapps-collectibles-benefits-3-title": "Sammlerstücke gehen mit dir", - "page-dapps-collectibles-benefits-4-description": "Die Werkzeuge und Produkte, um deine Kunst zu tokenisieren und zu verkaufen, existieren bereits. Deine Tokens können auf allen einlösbaren Ethereum-Plattformen verkauft werden.", + "page-dapps-collectibles-benefits-3-title": "Sammlerstücke gehen mit Ihnen", + "page-dapps-collectibles-benefits-4-description": "Die Werkzeuge und Produkte, um Ihre Kunst zu tokenisieren und zu verkaufen, existieren bereits. Ihre Tokens können auf allen einlösbaren Ethereum-Plattformen verkauft werden.", "page-dapps-collectibles-benefits-4-title": "Infrastruktur bereits vorhanden", - "page-dapps-collectibles-benefits-description": "Dies sind Applikationen, die sich auf digitales Eigentum fokussieren, Verdienstmöglichkeiten für Schaffende verbessern und neue Wege erfinden, um in deine bevorzugten Künstler und deren Arbeit zu investieren.", + "page-dapps-collectibles-benefits-description": "Dies sind Applikationen, die sich auf digitales Eigentum fokussieren, Verdienstmöglichkeiten für Schaffende verbessern und neue Wege erfinden, um in Ihre bevorzugten Künstler und deren Arbeit zu investieren.", "page-dapps-collectibles-benefits-title": "dezentrale Sammelobjekte und Streaming", "page-dapps-collectibles-button": "Kunst und Sammlerstücke", - "page-dapps-collectibles-description": "Dies sind Applikationen, die sich auf digitales Eigentum fokussieren, Verdienstmöglichkeiten für Schaffende verbessern und neue Wege erfinden, um in deine bevorzugten Künstler und deren Arbeit zu investieren.", + "page-dapps-collectibles-description": "Dies sind Applikationen, die sich auf digitales Eigentum fokussieren, Verdienstmöglichkeiten für Schaffende verbessern und neue Wege erfinden, um in Ihre bevorzugten Künstler und deren Arbeit zu investieren.", "page-dapps-collectibles-title": "Dezentralisierte Kunst und Sammlerstücke", "page-dapps-compound-logo-alt": "Compound-Logo", "page-dapps-cryptopunks-logo-alt": "CryptoPunks-Logo", "page-dapps-cryptovoxels-logo-alt": "Cryptovoxels-Logo", "page-dapps-dapp-description-1inch": "Hilft dabei, hohe Preisabweichungen zu vermeiden, indem die besten Preise zusammengefasst werden.", - "page-dapps-dapp-description-aave": "Verleihe deine Tokens, um Zinsen zu erhalten, und hebe sie jederzeit wieder ab.", - "page-dapps-dapp-description-async-art": "Erschaffe, sammle und handle mit #ProgrammableArt – digitale Gemälde, die in \"Layers\" aufgespaltet sind und mit denen du das Gesamtbild gestalten kannst. Jeder Master und jede Layer ist ein ERC721-Token.", - "page-dapps-dapp-description-audius": "Dezentralisierte Streaming-Plattform. Hör zu = Geld für Ersteller, nicht Marken.", - "page-dapps-dapp-description-augur": "Wette auf die Ergebnisse in Sport, Wirtschaft und weiteren weltweiten Events.", - "page-dapps-dapp-description-axie-infinity": "Handel mit und kämpfe gegen Kreaturen namens Axies. Und verdiene dabei etwas, während du spielst – verfügbar auf deinem Mobiltelefon", - "page-dapps-dapp-description-brave": "Verdiene Token während des Browsens und unterstütze deine Lieblingskünstler mit ihnen.", - "page-dapps-dapp-description-cent": "Ein soziales Netzwerk, in dem du durch das Posten von NFT Geld verdienst.", - "page-dapps-dapp-description-compound": "Verleihe deine Token, um Zinsen zu erhalten, und ziehe dich jederzeit wieder davon zurück.", - "page-dapps-dapp-description-cryptopunks": "Kaufe und biete auf Punks und biete diese wiederum zum Verkauf an – eine der ersten Token-Sammlungen auf Ethereum.", - "page-dapps-dapp-description-cryptovoxels": "Erschaffe Kunstgalerien, baue Geschäfte und kaufe Land – eine virtuelle Ethereum-Welt.", - "page-dapps-dapp-description-dark-forest": "Erobere Welten in einem unendlichen, prozedural generierten, kryptographisch spezifizierten Universum.", - "page-dapps-dapp-description-decentraland": "Sammle und handele virtuelles Land in einer virtuellen Welt, die du entdecken kannst.", - "page-dapps-dapp-description-dydx": "Eröffne Short- oder gehebelte Positionen mit einer bis zu 10-fachen Hebelwirkung. Auch Leihen und Ausleihen ist möglich.", + "page-dapps-dapp-description-aave": "Verleihen Sie Ihre Tokens, um Zinsen zu erhalten, und heben Sie sie jederzeit wieder ab.", + "page-dapps-dapp-description-async-art": "Erschaffen, sammeln und handeln Sie mit #ProgrammableArt – digitale Gemälde, die in „Layers\" aufgespaltet sind und mit denen Sie das Gesamtbild gestalten können. Jeder Master und jede Layer ist ein ERC721-Token.", + "page-dapps-dapp-description-audius": "Dezentralisierte Streaming-Plattform. Hört zu = Geld für Ersteller, nicht Marken.", + "page-dapps-dapp-description-augur": "Wetten Sie auf die Ergebnisse in Sport, Wirtschaft und weiteren weltweiten Events.", + "page-dapps-dapp-description-axie-infinity": "Handeln Sie mit und kämpfen Sie gegen Kreaturen namens Axies. Und verdienen Sie dabei etwas, während Sie spielen – verfügbar auf Ihrem Mobiltelefon", + "page-dapps-dapp-description-brave": "Verdienen Sie Token während des Browsens und unterstützen Sie Ihre Lieblingskünstler mit ihnen.", + "page-dapps-dapp-description-cent": "Ein soziales Netzwerk, in dem Sie durch das Posten von NFT Geld verdienen.", + "page-dapps-dapp-description-compound": "Verleihen Sie Ihre Token, um Zinsen zu erhalten, und ziehen Sie sich jederzeit wieder davon zurück.", + "page-dapps-dapp-description-cryptopunks": "Kaufen und bieten Sie auf Punks und bieten Sie diese wiederum zum Verkauf an – eine der ersten Token-Sammlungen auf Ethereum.", + "page-dapps-dapp-description-cryptovoxels": "Erschaffen Sie Kunstgalerien, bauen Sie Geschäfte und kaufen Sie Land – eine virtuelle Ethereum-Welt.", + "page-dapps-dapp-description-dark-forest": "Erobern Sie Welten in einem unendlichen, prozedural generierten, kryptographisch spezifizierten Universum.", + "page-dapps-dapp-description-decentraland": "Sammeln und handeln Sie virtuelles Land in einer virtuellen Welt, die Sie entdecken können.", + "page-dapps-dapp-description-dydx": "Eröffnen Sie Short- oder gehebelte Positionen mit einer bis zu 10-fachen Hebelwirkung. Auch Leihen und Ausleihen ist möglich.", "page-dapps-dapp-description-ens": "Benutzerfreundliche Namen für Ethereum-Adressen und dezentrale Seiten.", - "page-dapps-dapp-description-foundation": "Investiere in eine einzigartige Ausgabe von digitaler Kunst und handele Kunstwerke mit anderen Käufern.", - "page-dapps-dapp-description-gitcoin": "Verdiene Kryptowährung, indem du an Open-Source-Software arbeitest.", + "page-dapps-dapp-description-foundation": "Investieren Sie in eine einzigartige Ausgabe von digitaler Kunst und handeln Sie Kunstwerke mit anderen Käufern.", + "page-dapps-dapp-description-gitcoin": "Verdienen Sie Kryptowährung, indem Sie an Open-Source-Software arbeiten.", "page-dapps-dapp-description-gitcoin-grants": "Crowdfunding für Ethereum-Gemeinschaftsprojekte mit umfangreicheren Beiträgen", - "page-dapps-dapp-description-gods-unchained": "Strategisches Handeln mit Kartenspielen. Verdiene dir durch das Spielen Spielkarten, die du im realen Leben verkaufen kannst.", - "page-dapps-dapp-description-golem": "Erhalte Zugriff auf Rechenleistung oder miete deine eigenen Ressourcen an.", + "page-dapps-dapp-description-gods-unchained": "Strategisches Handeln mit Kartenspielen. Verdienen Sie sich durch das Spielen Spielkarten, die Sie im realen Leben verkaufen können.", + "page-dapps-dapp-description-golem": "Erhalten Sie Zugriff auf Rechenleistung oder mieten Sie Ihre eigenen Ressourcen an.", "page-dapps-dapp-description-radicle": "Sichere Peer-to-Peer-Code-Zusammenarbeit ohne Vermittler.", "page-dapps-dapp-description-loopring": "Peer-to-Peer-Tradingplattform – für Geschwindigkeit entwickelt.", - "page-dapps-dapp-description-marble-cards": "Erstelle und tausche einzigartige, digitale Spielkarten basierend auf URL.", - "page-dapps-dapp-description-matcha": "Durchsucht mehrere Börsen, um für dich den besten Preis zu finden.", - "page-dapps-dapp-description-nifty-gateway": "Kaufe Werke on-chain von Top-Künstlern, Athleten, Marken und Schaffenden.", - "page-dapps-dapp-description-oasis": "Handele, leihe und sichere mit Dai, einer Ethereum-Stablecoin.", - "page-dapps-dapp-description-opensea": "Kaufe, verkaufe, entdecke und handele Waren mit limitierter Auflage.", - "page-dapps-dapp-description-opera": "Sende Kryptowährung von deinem Browser an Händler, andere Nutzer und Apps.", - "page-dapps-dapp-description-poap": "Sammle NFTs um zu beweisen, dass du bei verschiedenen virtuellen oder persönlichen Veranstaltungen warst. Nutze sie um an Tombolas teilzunehmen, zu stimmen, zu kollaborieren oder einfach nur anzugeben.", - "page-dapps-dapp-description-polymarket": "Wette auf Ergebnisse. Handele auf den Informationsmärkten.", - "page-dapps-dapp-description-pooltogether": "Eine Lotterie, bei der du nicht verlieren kannst. Preise jede Woche.", - "page-dapps-dapp-description-index-coop": "Ein Krypto-Indexfonds, der dein Portfolio den Top-DeFi-Token aussetzt.", - "page-dapps-dapp-description-nexus-mutual": "Deckung ohne Versicherungsgesellschaft. Schütze dich gegen Smart-Contract-Bugs und -Hacks.", + "page-dapps-dapp-description-marble-cards": "Erstellen und tauschen Sie einzigartige, digitale Spielkarten basierend auf URL.", + "page-dapps-dapp-description-matcha": "Durchsucht mehrere Börsen, um für Sie den besten Preis zu finden.", + "page-dapps-dapp-description-nifty-gateway": "Kaufen Sie Werke on-chain von Top-Künstlern, Athleten, Marken und Schaffenden.", + "page-dapps-dapp-description-oasis": "Handeln, leihen und sparen Sie mit Dai, einer Ethereum-Stablecoin.", + "page-dapps-dapp-description-opensea": "Kaufen, verkaufen, entdecken und handeln Sie Waren mit limitierter Auflage.", + "page-dapps-dapp-description-opera": "Senden Sie Kryptowährung von Ihrem Browser an Händler, andere Nutzer und Apps.", + "page-dapps-dapp-description-poap": "Sammeln Sie NFTs um zu beweisen, dass Sie bei verschiedenen virtuellen oder persönlichen Veranstaltungen waren. Nutzen Sie sie, um an Tombolas teilzunehmen, zu stimmen, zu kollaborieren oder einfach nur anzugeben.", + "page-dapps-dapp-description-polymarket": "Wetten Sie auf Ergebnisse. Handeln Sie auf den Informationsmärkten.", + "page-dapps-dapp-description-pooltogether": "Eine Lotterie, bei der Sie nicht verlieren können. Preise jede Woche.", + "page-dapps-dapp-description-index-coop": "Ein Krypto-Indexfonds, der Ihr Portfolio den Top-DeFi-Token aussetzt.", + "page-dapps-dapp-description-nexus-mutual": "Deckung ohne Versicherungsgesellschaft. Schützen Sie sich gegen Smart-Contract-Bugs und -Hacks.", "page-dapps-dapp-description-etherisc": "Eine dezentrale Versicherungsvorlage, mit der jeder seinen eigenen Versicherungsschutz erstellen kann.", - "page-dapps-dapp-description-zapper": "Verfolge dein Portfolio und verwende eine Reihe von DeFi-Produkten von einer Website aus.", + "page-dapps-dapp-description-zapper": "Verfolgen Sie Ihr Portfolio und verwenden Sie eine Reihe von DeFi-Produkten von einer Website aus.", "page-dapps-dapp-description-zerion": "Verwalten Sie Ihr Portfolio und bewerten Sie einfach jede einzelne DeFi-Anlage am Markt.", - "page-dapps-dapp-description-rotki": "Open-Source-Portfolio-Tracking, Analytik, Buchhaltung und Steuerberichterstattung unter Wahrung deiner Privatsphäre.", - "page-dapps-dapp-description-rarible": "Erstelle, verkaufe und kaufe tokenisierte Sammlerstücke.", - "page-dapps-dapp-description-sablier": "Übertrage Geld in Echtzeit.", - "page-dapps-dapp-description-superrare": "Kaufe digitale Kunst direkt vom Künstler oder auf dem Zweitmarkt.", + "page-dapps-dapp-description-rotki": "Open-Source-Portfolio-Tracking, Analytik, Buchhaltung und Steuerberichterstattung unter Wahrung Ihrer Privatsphäre.", + "page-dapps-dapp-description-rarible": "Erstellen, verkaufen und kaufen Sie tokenisierte Sammlerstücke.", + "page-dapps-dapp-description-sablier": "Übertragen Sie Geld in Echtzeit.", + "page-dapps-dapp-description-superrare": "Kaufen Sie digitale Kunst direkt vom Künstler oder auf dem Zweitmarkt.", "page-dapps-dapp-description-token-sets": "Strategien für Krypto-Investitionen, die sich automatisch ausgleichen.", - "page-dapps-dapp-description-tornado-cash": "Versende anonyme Transaktionen auf Ethereum.", - "page-dapps-dapp-description-uniswap": "Tausche Token einfach oder stelle Token für prozentuale Vergütung zur Verfügung.", + "page-dapps-dapp-description-tornado-cash": "Versenden Sie anonyme Transaktionen auf Ethereum.", + "page-dapps-dapp-description-uniswap": "Tauschen Sie Token einfach oder stellen Sie Token für prozentuale Vergütung zur Verfügung.", "page-dapps-docklink-dapps": "Einführung in dApps", "page-dapps-docklink-smart-contracts": "Smart Contracts", "page-dapps-dark-forest-logo-alt": "Dark-Forest-Logo", @@ -94,39 +94,39 @@ "page-dapps-zapper-logo-alt": "Zapper-Logo", "page-dapps-zerion-logo-alt": "Zerion-Logo", "page-dapps-rotki-logo-alt": "Rotki-Logo", - "page-dapps-desc": "Finde eine Ethereum-Anwendung zum Ausprobieren.", + "page-dapps-desc": "Finden Sie eine Ethereum-Anwendung zum Ausprobieren.", "page-dapps-doge-img-alt": "Illustration eines Doge, der einen Computer benutzt", "page-dapps-dydx-logo-alt": "dYdX-Logo", - "page-dapps-editors-choice-dark-forest": "Spiele gegen andere, um Planeten zu erobern, und teste die neueste Skalierungs- und Privatsphäre-Technologie von Ethereum. Vielleicht etwas für diejenigen, die bereits mit Ethereum vertraut sind.", - "page-dapps-editors-choice-description": "Ein paar dApps, die das ethereum.org-Team aktuell sehr schätzt. Entdecke unten noch mehr DApps.", - "page-dapps-editors-choice-foundation": "Investiere in Kultur. Kaufe, handele und verkaufe einzigartige digitale Kunst und Mode von einigen unglaublichen Künstlern, Musikern und Marken.", + "page-dapps-editors-choice-dark-forest": "Spielen Sie gegen andere, um Planeten zu erobern, und testen Sie die neueste Skalierungs- und Privatsphäre-Technologie von Ethereum. Vielleicht etwas für diejenigen, die bereits mit Ethereum vertraut sind.", + "page-dapps-editors-choice-description": "Ein paar dApps, die das ethereum.org-Team aktuell sehr schätzt. Entdecken Sie unten noch mehr dApps.", + "page-dapps-editors-choice-foundation": "Investieren Sie in Kultur. Kaufen, handeln und verkaufen Sie einzigartige digitale Kunst und Mode von einigen unglaublichen Künstlern, Musikern und Marken.", "page-dapps-editors-choice-header": "Favoriten des Teams", - "page-dapps-editors-choice-pooltogether": "Kaufe ein Ticket für eine Lotterie ohne Verlust. Jede Woche werden die Zinsen, die sich aus dem gesamten Ticket-Pool ergeben, an einen glücklichen Gewinner ausgeschüttet. Du bekommst dein Geld zurück, wann immer du es möchtest.", - "page-dapps-editors-choice-uniswap": "Tausche deine Token ganz einfach. Ein Liebling der Community, der dir erlaubt, Token mit allen möglichen Leuten im Netzwerk zu handeln.", + "page-dapps-editors-choice-pooltogether": "Kaufen Sie ein Ticket für eine Lotterie ohne Verlust. Jede Woche werden die Zinsen, die sich aus dem gesamten Ticket-Pool ergeben, an einen glücklichen Gewinner ausgeschüttet. Sie bekommen Ihr Geld zurück, wann immer Sie es möchten.", + "page-dapps-editors-choice-uniswap": "Tauschen Sie Ihre Token ganz einfach. Ein Liebling der Community, der es Ihnen erlaubt, Token mit allen möglichen Leuten im Netzwerk zu handeln.", "page-dapps-ens-logo-alt": "Ethereum-Name-Service-Logo", "page-dapps-explore-dapps-description": "Viele dApps sind immer noch in der Experimentierphase und loten die Möglichkeiten des dezentralen Netzwerks aus. Aber es gab einige erfolgreiche Frühstarter in den Kategorien Technologie, Finanzen, Spiele und Sammlerstücke.", "page-dapps-explore-dapps-title": "Entdecke dApps", - "page-dapps-features-1-description": "Einmal in Ethereum eingespielt, kann ein dApp-Code nicht mehr herausgenommen werden. Jeder kann die Funktionen der DApp nutzen. Sogar, wenn das Team hinter der DApp aufgelöst wurde, kannst du sie immer noch nutzen. Einmal auf Ethereum, bleibt sie auch dort.", + "page-dapps-features-1-description": "Einmal in Ethereum eingespielt, kann ein dApp-Code nicht mehr zurückgenommen werden. Jeder kann die Funktionen der dApp nutzen. Sogar, wenn das Team hinter der dApp aufgelöst wurde, können Sie sie immer noch nutzen. Einmal auf Ethereum, bleibt sie auch dort.", "page-dapps-features-1-title": "Keine Besitzer", - "page-dapps-features-2-description": "Sie können nicht von einer dApp oder vom Senden von Transaktionen ausgeschlossen werden. Wenn z. B. Twitter auf Ethereum wäre, könnte niemand dein Konto blockieren oder dich vom Tweeten abhalten.", + "page-dapps-features-2-description": "Sie können nicht von einer dApp oder vom Senden von Transaktionen ausgeschlossen werden. Wenn z. B. Twitter auf Ethereum wäre, könnte niemand Ihr Konto blockieren oder Sie vom Tweeten abhalten.", "page-dapps-features-2-title": "Frei von Zensur", "page-dapps-features-3-description": "Da Ethereum über ETH verfügt, sind Zahlungen ein natürlicher Teil von Ethereum. Entwickler brauchen keine Zeit mit der Integration von Zahlungs-Drittanbietern zu verbringen.", "page-dapps-features-3-title": "Integrierte Zahlungen", - "page-dapps-features-4-description": "DApp-Code ist frei zugänglich und standardmäßig kompatibel. Teams bauen regelmäßig unter Verwendung der Arbeit anderer Teams. Wenn man möchte, dass Benutzer Token in deiner DApp austauschen, kannst du einfach den Code einer anderen DApp einfügen.", + "page-dapps-features-4-description": "DApp-Code ist frei zugänglich und standardmäßig kompatibel. Teams bauen regelmäßig unter Verwendung der Arbeit anderer Teams. Wenn man möchte, dass Benutzer Token in deiner DApp austauschen, können Sie einfach den Code einer anderen DApp einfügen.", "page-dapps-features-4-title": "Plug-and-Play", - "page-dapps-features-5-description": "Bei den meisten dApps braucht man nicht seine echte Identität anzugeben. Dein Ethereum-Account ist dein Zugang und alles, was du brauchst, ist eine Wallet.", + "page-dapps-features-5-description": "Bei den meisten dApps braucht man nicht seine echte Identität anzugeben. Ihr Ethereum-Account ist Ihr Zugang und alles, was Sie brauchen, ist eine Wallet.", "page-dapps-features-5-title": "Ein anonymer Login", - "page-dapps-features-6-description": "Kryptographie stellt sicher, dass Angreifer keine Transaktionen und anderen dApp-Interaktionen in deinem Namen ausführen können. Du autorisierst dApp-Aktionen mit deinem Ethereum-Konto; in der Regel über deine Wallet. So bleiben deine Zugangsdaten sicher.", + "page-dapps-features-6-description": "Kryptographie stellt sicher, dass Angreifer keine Transaktionen und anderen dApp-Interaktionen in Ihrem Namen ausführen können. Sie autorisieren dApp-Aktionen mit Ihrem Ethereum-Konto; in der Regel über Deine Wallet. So bleiben Ihre Zugangsdaten sicher.", "page-dapps-features-6-title": "Durch Kryptographie gesichert", "page-dapps-features-7-description": "Sobald die dApp auf Ethereum läuft, wird sie nur stoppen, wenn Ethereum selbst nicht mehr funktioniert. Netzwerke von Ethereums Größe sind bekanntermaßen sehr schwer anzugreifen.", "page-dapps-features-7-title": "Keine Downtime", - "page-dapps-finance-benefits-1-description": "Finanzdienstleistungen, die auf Ethereum laufen, haben keine Anmeldebedingungen. Wenn du ein Guthaben und eine Internetverbindung hast, kannst du loslegen.", + "page-dapps-finance-benefits-1-description": "Finanzdienstleistungen, die auf Ethereum laufen, haben keine Anmeldebedingungen. Wenn Sie ein Guthaben und eine Internetverbindung haben, können Sie loslegen.", "page-dapps-finance-benefits-1-title": "Offener Zugang", "page-dapps-finance-benefits-2-description": "Es gibt eine ganze Welt von Token, mit denen man über diese Finanzprodukte interagieren kann. Leute bauen die ganze Zeit neue Token auf Basis von Ethereum auf.", "page-dapps-finance-benefits-2-title": "Eine neue Token-Ökonomie", - "page-dapps-finance-benefits-3-description": "Teams haben Stablecoins entwickelt – eine weniger volatile Kryptowährung, die es dir erlaubt, Crypto ohne Risiko und Unsicherheit zu nutzen und damit zu experimentieren.", + "page-dapps-finance-benefits-3-description": "Teams haben Stablecoins entwickelt – eine weniger volatile Kryptowährung, die es IOhnen erlaubt, Krypto ohne Risiko und Unsicherheit zu nutzen und damit zu experimentieren.", "page-dapps-finance-benefits-3-title": "Stablecoins", - "page-dapps-finance-benefits-4-description": "Finanzprodukte im Ethereum-Ökosystem sind alle modular aufgebaut und miteinander kompatibel. Neue Konfigurationen dieser Module kommen laufend auf den Markt und erhöhen die Möglichkeiten, was du mit Crypto machen kannst.", + "page-dapps-finance-benefits-4-description": "Finanzprodukte im Ethereum-Ökosystem sind alle modular aufgebaut und miteinander kompatibel. Neue Konfigurationen dieser Module kommen laufend auf den Markt und erhöhen die Möglichkeiten, was Sie mit Krypto machen können.", "page-dapps-finance-benefits-4-title": "Vernetzte Finanzdienstleistungen", "page-dapps-finance-benefits-description": "Was ist besonders an Ethereum, das dezentralisierte Finanzanwendungen aufblühen lässt?", "page-dapps-finance-benefits-title": "Dezentralisierte Finanzen", @@ -134,10 +134,10 @@ "page-dapps-finance-description": "Dies sind Anwendungen, die sich auf den Aufbau von Finanzdienstleistungen mit Kryptowährungen konzentrieren. Sie bieten z. B. Kreditvergabe, Kreditaufnahme, Zinseinnahmen und private Zahlungen – ohne persönliche Daten.", "page-dapps-finance-title": "Dezentralisierte Finanzen", "page-dapps-foundation-logo-alt": "Foundation-Logo", - "page-dapps-gaming-benefits-1-description": "Seien es virtuelles Land oder Sammelkarten, deine Gegenstände sind auf Sammlermärkten handelbar. All diese Spielgegenstände haben einen realen Wert.", + "page-dapps-gaming-benefits-1-description": "Seien es virtuelles Land oder Sammelkarten, Ihre Gegenstände sind auf Sammlermärkten handelbar. All diese Spielgegenstände haben einen realen Wert.", "page-dapps-gaming-benefits-1-title": "Spielgegenstände dienen als Token", - "page-dapps-gaming-benefits-2-description": "Deine Gegenstände und in einigen Fällen dein Fortschritt gehören dir, nicht den Spieleentwicklern. Du wirst also nichts verlieren, wenn die Firma hinter dem Spiel angegriffen wird, eine Serverstörung erleidet oder sich auflöst.", - "page-dapps-gaming-benefits-2-title": "Deine Spielstände sind hier sicher", + "page-dapps-gaming-benefits-2-description": "Ihre Gegenstände und in einigen Fällen dein Fortschritt gehören Ihnen, nicht den Spieleentwicklern. Sie werden also nichts verlieren, wenn die Firma hinter dem Spiel angegriffen wird, eine Serverstörung erleidet oder sich auflöst.", + "page-dapps-gaming-benefits-2-title": "Ihre Spielstände sind hier sicher", "page-dapps-gaming-benefits-3-description": "Auf die gleiche Weise, wie Ethereum-Zahlungen für jedermann verifizierbar sind, können Spiele diese Qualität nutzen, um Fairness zu gewährleisten. Theoretisch ist alles verifizierbar, von der Anzahl der kritischen Treffer bis zur Größe der Kriegskasse eines Gegners.", "page-dapps-gaming-benefits-3-title": "Nachweisbare Fairness", "page-dapps-gaming-benefits-description": "Was ist besonders an Ethereum, das dezentralisiertes Gaming fördert?", @@ -146,7 +146,7 @@ "page-dapps-gaming-description": "Dies sind Anwendungen, die sich auf die Schaffung virtueller Welten konzentrieren und andere Spieler mit Sammlerstücken herausfordern, die einen realen Wert haben.", "page-dapps-gaming-title": "Dezentralisiertes Gaming", "page-dapps-get-some-eth-description": "DApp-Aktionen kosten Überweisungsgebühren", - "page-dapps-get-started-subtitle": "Um eine dApp auszuprobieren, benötigst du eine Wallet und ein bisschen ETH. Eine Wallet ermöglicht dir die Verbindung oder den Login. Und du brauchst du ETH, um fällige Transaktionsgebühren zu bezahlen.", + "page-dapps-get-started-subtitle": "Um eine dApp auszuprobieren, benötigen Sie eine Wallet und ein bisschen ETH. Eine Wallet ermöglicht Ihnen die Verbindung oder den Login. Und Sie brauchen ETH, um fällige Transaktionsgebühren zu bezahlen.", "page-dapps-get-started-title": "Erste Schritte", "page-dapps-gitcoin-grants-logo-alt": "Gitcoin-Grants-Logo", "page-dapps-gitcoin-logo-alt": "Gitcoin-Logo", @@ -155,16 +155,16 @@ "page-dapps-radicle-logo-alt": "Radicle-Logo", "page-dapps-hero-header": "Ethereum-basierte Werkzeuge und Dienste", "page-dapps-hero-subtitle": "DApps sind eine wachsende Bewegung von Anwendungen, die Ethereum verwenden, um Geschäftsmodelle aufzumischen oder neue zu erfinden.", - "page-dapps-how-dapps-work-p1": "DApps haben ihren Backend-Code (Smart Contracts) auf einem dezentralen Netzwerk und nicht auf einem zentralisierten Server. Sie nutzen die Ethereum-Blockchain für die Datenspeicherung und Smart-Contracts für ihre App-Logik.", - "page-dapps-how-dapps-work-p2": "Ein Smart Contract ist wie eine Reihe von Regeln, die für alle sichtbar exakt nach diesen Regeln auf der Blockchain funktionieren. Stelle dir einen Verkaufsautomaten vor: Wenn du genügend Geld hast und die richtige Auswahl triffst, bekommst du den gewünschten Artikel. Ebenso wie Automaten können Smart Contracts, genau wie dein Ethereum-Account, Geld halten. Dies ermöglicht Code, Vereinbarungen und Transaktionen zu vermitteln.", - "page-dapps-how-dapps-work-p3": "Sobald dApps im Ethereum-Netzwerk installiert sind, kannst du diese nicht mehr ändern. DApps können dezentralisiert werden, weil sie durch die in den Smart Contract geschriebene Logik kontrolliert werden, nicht durch eine Person oder ein Unternehmen.", + "page-dapps-how-dapps-work-p1": "DApps haben ihren Backend-Code (Smart Contracts) auf einem dezentralen Netzwerk und nicht auf einem zentralisierten Server. Sie nutzen die Ethereum-Blockchain für die Datenspeicherung und Smart Contracts für ihre App-Logik.", + "page-dapps-how-dapps-work-p2": "Ein Smart Contract ist wie eine Reihe von Regeln, die für alle sichtbar exakt nach diesen Regeln auf der Blockchain funktionieren. Stellen Sie sich einen Verkaufsautomaten vor: Wenn Sie genügend Geld haben und die richtige Auswahl treffen, bekommen Sie den gewünschten Artikel. Ebenso wie Automaten können Smart Contracts, genau wie Ihr Ethereum-Account, Geld halten. Dies ermöglicht Code, Vereinbarungen und Transaktionen zu vermitteln.", + "page-dapps-how-dapps-work-p3": "Sobald dApps im Ethereum-Netzwerk installiert sind, können Sie diese nicht mehr ändern. dApps können dezentralisiert werden, weil sie durch die in den Smart Contract geschriebene Logik kontrolliert werden, nicht durch eine Person oder ein Unternehmen.", "page-dapps-how-dapps-work-title": "So funktionieren dApps", - "page-dapps-learn-callout-button": "Fang an zu bauen", - "page-dapps-learn-callout-description": "Unser Community-Entwicklerportal verfügt über Dokumente, Tools und Frameworks, um dir bei der Entwicklung einer dApp zu helfen.", + "page-dapps-learn-callout-button": "Fangen Sie an zu bauen", + "page-dapps-learn-callout-description": "Unser Community-Entwicklerportal verfügt über Dokumente, Tools und Frameworks, um Ihnen bei der Entwicklung einer dApp zu helfen.", "page-dapps-learn-callout-image-alt": "Illustration einer Hand, die ein Ethereum-Logo aus Lego-Steinen aufbaut.", - "page-dapps-learn-callout-title": "Lerne, eine dApp zu entwickeln", + "page-dapps-learn-callout-title": "Lernen Sie, eine dApp zu entwickeln", "page-dapps-loopring-logo-alt": "Loopring-Logo", - "page-dapps-magic-behind-dapps-description": "DApps mögen sich wie normale Apps anfühlen, aber hinter den Kulissen haben sie einige besondere Eigenschaften, weil ihnen alle Superkräfte von Ethereum zur Verfügung stehen. Hier siehst du, was DApps von Apps unterscheidet.", + "page-dapps-magic-behind-dapps-description": "DApps mögen sich wie normale Apps anfühlen, aber hinter den Kulissen haben sie einige besondere Eigenschaften, weil ihnen alle Superkräfte von Ethereum zur Verfügung stehen. Hier sehen Sie, was DApps von Apps unterscheidet.", "page-dapps-magic-behind-dapps-link": "Was macht Ethereum großartig?", "page-dapps-magic-behind-dapps-title": "Die Magie hinter dApps", "page-dapps-magic-title-1": "Die Magie", @@ -185,9 +185,9 @@ "page-dapps-ready-description": "Wähle eine dApp zum Probieren aus", "page-dapps-ready-title": "Bereit?", "page-dapps-sablier-logo-alt": "Sablier-Logo", - "page-dapps-set-up-a-wallet-button": "Finde Wallet", - "page-dapps-set-up-a-wallet-description": "Eine Wallet ist dein Login für eine dApp", - "page-dapps-set-up-a-wallet-title": "Richte eine Wallet ein", + "page-dapps-set-up-a-wallet-button": "Finden Sie eine Wallet", + "page-dapps-set-up-a-wallet-description": "Eine Wallet ist Ihr Login für eine dApp", + "page-dapps-set-up-a-wallet-title": "Richten Sie eine Wallet ein", "page-dapps-superrare-logo-alt": "SuperRare-Logo", "page-dapps-technology-button": "Technologie", "page-dapps-technology-description": "Diese Anwendungen konzentrieren sich auf die Dezentralisierung von Entwicklerwerkzeugen, die Einbindung kryptoökonomischer Systeme in bestehende Technologien und die Schaffung von Marktplätzen für Open-Source-Entwicklungsarbeit.", @@ -195,12 +195,12 @@ "page-dapps-token-sets-logo-alt": "Token-Sets-Logo", "page-dapps-tornado-cash-logo-alt": "Tornado-Cash-Logo", "page-dapps-uniswap-logo-alt": "Uniswap-Logo", - "page-dapps-wallet-callout-button": "Finde Wallet", - "page-dapps-wallet-callout-description": "Wallets sind auch dApps. Finde eine basierend auf den Merkmalen, die dir passen.", + "page-dapps-wallet-callout-button": "Finde eine Wallet", + "page-dapps-wallet-callout-description": "Wallets sind auch dApps. Finde eine basierend auf den Merkmalen, die Ihnen passen.", "page-dapps-wallet-callout-image-alt": "Illustration eines Roboters.", "page-dapps-wallet-callout-title": "Wallets anschauen", - "page-dapps-warning-header": "Informiere dich immer ausgiebig selbst", - "page-dapps-warning-message": "Ethereum ist eine neue Technologie und die meisten Anwendungen sind neu. Bevor du große Mengen an Geld einsetzt, stelle sicher, dass du die Risiken verstehst.", + "page-dapps-warning-header": "Informieren Sie sich immer ausgiebig selbst", + "page-dapps-warning-message": "Ethereum ist eine neue Technologie und die meisten Anwendungen sind neu. Bevor Sie große Mengen an Geld einsetzen, stellen Sie sicher, dass Sie die Risiken verstehen.", "page-dapps-what-are-dapps": "Was sind dApps?", "page-dapps-more-on-defi-button": "Mehr zu dezentralisierten Finanzen", "page-dapps-more-on-nft-button": "Mehr zu tokenisierten Sammlerstücken", diff --git a/src/intl/de/page-developers-index.json b/src/intl/de/page-developers-index.json index 5a5c92ba8e2..92cfe9f5cf2 100644 --- a/src/intl/de/page-developers-index.json +++ b/src/intl/de/page-developers-index.json @@ -1,8 +1,8 @@ { - "page-developer-meta-title": "Ethereum – Entwicklerressourcen", - "page-developers-about": "Über diese Entwicklerressourcen", - "page-developers-about-desc": "ethereum.org hilft dir, mit Ethereum zu bauen, mit Dokumentationen zu grundlegenden Konzepten sowie mit dem Entwicklungsstack. Außerdem gibt es Tutorials, die dir den Einstieg erleichtern.", - "page-developers-about-desc-2": "Inspiriert durch das Mozilla-Entwicklernetzwerk dachten wir, dass Ethereum einen Ort braucht, an dem großartige Inhalte und Ressourcen für Entwickler untergebracht werden. Wie bei unseren Freunden von Mozilla ist hier alles open-source und bereit für dich, um es zu erweitern und zu verbessern.", + "page-developer-meta-title": "Ethereum Entwickler-Ressourcen", + "page-developers-about": "Über diese Entwickler-Ressourcen", + "page-developers-about-desc": "ethereum.org hilft Ihnen, mit Ethereum zu bauen, mit Dokumentationen zu grundlegenden Konzepten sowie mit dem Entwicklungsstack. Außerdem gibt es Tutorials, die Ihnen den Einstieg erleichtern.", + "page-developers-about-desc-2": "Inspiriert durch das Mozilla-Entwicklernetzwerk dachten wir, dass Ethereum einen Ort braucht, an dem großartige Inhalte und Ressourcen für Entwickler untergebracht werden. Wie bei unseren Freunden von Mozilla ist hier alles open-source und bereit für Sie, um es zu erweitern und zu verbessern.", "page-developers-account-desc": "Verträge oder Personen im Netzwerk", "page-developers-accounts-link": "Konten", "page-developers-advanced": "Fortgeschritten", @@ -10,11 +10,11 @@ "page-developers-api-link": "Backend-APIs", "page-developers-aria-label": "Entwicklermenü", "page-developers-block-desc": "Stapel von Transaktionen, die der Blockchain hinzugefügt werden", - "page-developers-block-explorers-desc": "Dein Portal zu Ethereum-Daten", + "page-developers-block-explorers-desc": "Ihr Portal zu Ethereum-Daten", "page-developers-block-explorers-link": "Block-Explorer", "page-developers-blocks-link": "Blöcke", "page-developers-browse-tutorials": "Tutorials durchsuchen", - "page-developers-choose-stack": "Wähle deinen Stack", + "page-developers-choose-stack": "Wähle Deinen Stack", "page-developers-contribute": "Mitwirken", "page-developers-dev-env-desc": "IDEs, die für dApp-Entwicklung geeignet sind", "page-developers-dev-env-link": "Entwicklungsumgebungen", @@ -23,15 +23,15 @@ "page-developers-evm-desc": "Der Computer, der Transaktionen verarbeitet", "page-developers-evm-link": "Die Ethereum Virtual Machine (EVM)", "page-developers-explore-documentation": "Dokumentation durchsuchen", - "page-developers-feedback": "Wenn du Feedback hast, wende dich an uns über ein GitHub-Ticket oder auf unserem Discord-Server.", + "page-developers-feedback": "Wenn Sie Feedback haben, wenden Sie sich bitte an uns über ein GitHub-Ticket oder auf unserem Discord-Server.", "page-developers-frameworks-desc": "Werkzeuge zur Beschleunigung der Entwicklung", "page-developers-frameworks-link": "Entwicklungs-Frameworks", "page-developers-fundamentals": "Grundlagen", "page-developers-gas-desc": "Ether wird zur Durchführung von Transaktionen benötigt", "page-developers-gas-link": "Gas", - "page-developers-get-started": "Wie möchtest du anfangen?", + "page-developers-get-started": "Wie möchten Sie beginnen?", "page-developers-improve-ethereum": "Hilf uns, ethereum.org besser zu machen", - "page-developers-improve-ethereum-desc": "Wie ethereum.org sind auch diese Dokumente eine Gemeinschaftsanstrengung. Erstelle eine PR, wenn du Fehler, Raum für Verbesserungen oder neue Möglichkeiten, Ethereum-Entwicklern zu helfen, bemerkst.", + "page-developers-improve-ethereum-desc": "Wie ethereum.org sind auch diese Dokumente eine Gemeinschaftsanstrengung. Erstellen Sie eine PR, wenn Sie Fehler, Raum für Verbesserungen oder neue Möglichkeiten, Ethereum-Entwicklern zu helfen, bemerken.", "page-developers-into-eth-desc": "Eine Einführung in Blockchain und Ethereum", "page-developers-intro-ether-desc": "Eine Einführung zu Kryptowährungen und Ether", "page-developers-intro-dapps-desc": "Eine Einführung in dezentralisierte Anwendungen", @@ -40,25 +40,25 @@ "page-developers-intro-ether-link": "Einleitung zu Ether", "page-developers-intro-stack": "Einführung in den Stack", "page-developers-intro-stack-desc": "Eine Einführung in den Ethereum-Stack", - "page-developers-js-libraries-desc": "Verwendung von JavaScript zur Interaktion mit Smart Contracts", + "page-developers-js-libraries-desc": "Javascript verwenden, um mit Smart Contracts zu interagieren", "page-developers-js-libraries-link": "JavaScript-Bibliotheken", "page-developers-language-desc": "Verwende Ethereum mit vertrauten Sprachen", "page-developers-languages": "Programmiersprachen", "page-developers-learn": "Ethereum-Entwicklung lernen", - "page-developers-learn-desc": "Informiere dich mit unseren Dokumentationen über Kernkonzepte und den Ethereum-Stack", + "page-developers-learn-desc": "Informieren Sie sich mit unseren Dokumentationen über Kernkonzepte und den Ethereum-Stack", "page-developers-learn-tutorials": "Lernen mit Tutorials", "page-developers-learn-tutorials-cta": "Tutorials anzeigen", - "page-developers-learn-tutorials-desc": "Lerne die Entwicklung von Ethereum Schritt für Schritt von Buildern, die es bereits gemacht haben.", + "page-developers-learn-tutorials-desc": "Lernen Sie die Entwicklung von Ethereum Schritt für Schritt von Buildern, die es bereits gemacht haben.", "page-developers-meta-desc": "Dokumentation, Tutorials und Tools für Entwickler, die auf Ethereum bauen.", - "page-developers-mev-desc": "Eine Einführung zu Miner extrahierbarem Wert (MEV)", - "page-developers-mev-link": "Miner extrahierbarer Wert (MEV)", + "page-developers-mev-desc": "Eine Einführung zu Miner-extrahierbarem Wert (MEV)", + "page-developers-mev-link": "Miner-extrahierbarer Wert (MEV)", "page-developers-mining-desc": "Wie neue Blöcke erstellt werden und Konsens erreicht wird", "page-developers-mining-link": "Mining", "page-developers-networks-desc": "Eine Übersicht über Mainnet und die Testnetzwerke", "page-developers-networks-link": "Netzwerke", "page-developers-node-clients-desc": "Wie Blöcke und Transaktionen im Netzwerk verifiziert werden", - "page-developers-node-clients-link": "Nodes und Clients", - "page-developers-oracle-desc": "Off-Chain-Daten in deine Smart Contracts einbeziehen", + "page-developers-node-clients-link": "Knotenpunkte und Clients", + "page-developers-oracle-desc": "Off-Chain-Daten in Ihre Smart Contracts einbeziehen", "page-developers-oracles-link": "Oracles", "page-developers-play-code": "Mit Code spielen", "page-developers-read-docs": "Dokumentation lesen", @@ -67,12 +67,12 @@ "page-developers-smart-contract-security-desc": "Sicherheitsmaßnahmen, die bei der Entwicklung von Smart Contracts zu berücksichtigen sind", "page-developers-smart-contract-security-link": "Smart Contract – Sicherheit", "page-developers-set-up": "Lokale Umgebung einrichten", - "page-developers-setup-desc": "Bereite durchs Konfigurieren der Entwicklerumgebung deinen Stack fürs Bauen vor.", + "page-developers-setup-desc": "Bereite durch das Konfigurieren der Entwicklerumgebung Deinen Stack für das Bauen vor.", "page-developers-smart-contracts-desc": "Die Logik hinter dApps – selbstausführende Vereinbarungen", "page-developers-smart-contracts-link": "Smart Contracts", "page-developers-stack": "Der Stack", "page-developers-start": "Mit dem Experimentieren beginnen", - "page-developers-start-desc": "Willst du erst experimentieren und dann Fragen stellen?", + "page-developers-start-desc": "Wollen Sie erst experimentieren und dann Fragen stellen?", "page-developers-storage-desc": "Wie man mit dem dApp-Speicher umgeht", "page-developers-storage-link": "Speicher", "page-developers-subtitle": "Ein Builder-Handbuch für Ethereum. Von Buildern, für Builder.", diff --git a/src/intl/de/page-developers-learning-tools.json b/src/intl/de/page-developers-learning-tools.json index b96204249d3..188ecf31c6d 100644 --- a/src/intl/de/page-developers-learning-tools.json +++ b/src/intl/de/page-developers-learning-tools.json @@ -2,42 +2,44 @@ "page-learning-tools-bloomtech-description": "Der BloomTech Web3-Kurs vermittelt Ihnen die Fähigkeiten, die Arbeitgeber bei Ingenieuren suchen.", "page-learning-tools-bloomtech-logo-alt": "BloomTech-Logo", "page-learning-tools-bootcamps": "Entwickler-Bootcamps", - "page-learning-tools-bootcamps-desc": "Bezahlte Online-Kurse, um dich schnell auf den aktuellen Stand zu bringen.", + "page-learning-tools-bootcamps-desc": "Bezahlte Online-Kurse, um sich schnell auf den aktuellen Stand zu bringen.", "page-learning-tools-browse-docs": "Dokumente durchsuchen", - "page-learning-tools-capture-the-ether-description": "Capture the Ether ist ein Spiel, in dem du Smart-Contracts auf Ethereum hackst, um mehr über Sicherheit zu lernen.", - "page-learning-tools-capture-the-ether-logo-alt": "Erobere das Ether-Logo", + "page-learning-tools-capture-the-ether-description": "Capture the Ether ist ein Spiel, in dem Sie Smart Contracts auf Ethereum hacken, um mehr über Sicherheit zu lernen.", + "page-learning-tools-capture-the-ether-logo-alt": "Erobern Sie das Ether-Logo", "page-learning-tools-chainshot-description": "Externes, von Instruktoren geleitetes Ethereum-Entwickler-Bootcamp und zusätzliche Kurse.", "page-learning-tools-chainshot-logo-alt": "ChainShot-Logo", "page-learning-tools-coding": "Lernen durch Programmieren", - "page-learning-tools-coding-subtitle": "Diese Tools werden dir helfen, mit Ethereum zu experimentieren, wenn du ein eher interaktives Lernerlebnis bevorzugst.", + "page-learning-tools-coding-subtitle": "Diese Tools werden Ihnen helfen, mit Ethereum zu experimentieren, wenn Sie ein eher interaktives Lernerlebnis bevorzugen.", "page-learning-tools-consensys-academy-description": "Online Ethereum Entwickler-Bootcamp.", "page-learning-tools-consensys-academy-logo-alt": "ConsenSys-Academy-Logo", - "page-learning-tools-buildspace-description": "Erfahre mehr über Krypto, indem du coole Projekte erstellst.", + "page-learning-tools-buildspace-description": "Erfahren Sie mehr über Krypto, indem Sie coole Projekte erstellen.", "page-learning-tools-buildspace-logo-alt": "_buildspace-Logo", - "page-learning-tools-cryptozombies-description": "Lerne Solidity bei der Erstellung deines eigenen Zombie-Spiels.", - "page-learning-tools-cryptozombies-logo-alt": "CryptoZombies-Logo", - "page-learning-tools-documentation": "Lerne mit Dokumentation", - "page-learning-tools-documentation-desc": "Du möchtest mehr lernen? Gehe auf unsere Dokumentation, um die Anleitung zu erhalten, die du benötigst.", + "page-learning-tools-cryptozombies-description": "Lerne Solidity bei der Erstellung Ihres eigenen Zombie-Spiels.", + "page-learning-tools-cryptozombies-logo-alt": "KryptoZombies-Logo", + "page-learning-tools-documentation": "Lernen mit Dokumentation", + "page-learning-tools-documentation-desc": "Sie möchten mehr lernen? Gehen Sie auf unsere Dokumentation, um die Anleitung zu erhalten, die Sie benötigen.", "page-learning-tools-eth-dot-build-description": "Ein Lern-Sandkasten für web3, inklusive Drag-and-Drop-Programmierung und Open-Source-Bausteinen.", "page-learning-tools-eth-dot-build-logo-alt": "Eth.build-Logo", "page-learning-tools-ethernauts-description": "Beende Level durch das Hacken von Smart Contracts.", "page-learning-tools-ethernauts-logo-alt": "Ethernauts-Logo", "page-learning-tools-game-tutorials": "Interaktive Spielanleitungen", - "page-learning-tools-game-tutorials-desc": "Lerne, während du spielst. Diese Tutorials leiten dich mit Gameplay durch die Grundlagen.", - "page-learning-tools-meta-desc": "Webbasierte Programmierwerkzeuge und ein interaktives Lernerlebnis helfen dir mit der Entwicklung von Ethereum zu experimentieren.", + "page-learning-tools-game-tutorials-desc": "Lernen Sie, während Sie spielen. Diese Tutorials leiten Sie mit Gameplay durch die Grundlagen.", + "page-learning-tools-meta-desc": "Webbasierte Programmierwerkzeuge und ein interaktives Lernerlebnis helfen Ihnen, mit der Entwicklung von Ethereum zu experimentieren.", "page-learning-tools-meta-title": "Lernwerkzeuge für Entwickler", "page-learning-tools-questbook-description": "Selbstbeschleunigte Tutorials zum Lernen von Web 3.0 durch die eigene Erstellung", "page-learning-tools-questbook-logo-alt": "Questbook-Logo", - "page-learning-tools-remix-description": "Entwickle, verteile und verwalte Smart-Contracts für Ethereum. Folge Tutorials mit dem Learneth-Plugin.", - "page-learning-tools-remix-description-2": "Remix und Replit sind nicht nur isolierte Entwicklungsumgebungen, Softwareentwickler können damit die intelligenten Verträge schreiben, kompilieren und einsetzen.", + "page-learning-tools-remix-description": "Entwickeln, verteilen und verwalten Sie Smart Contracts für Ethereum. Folgen Sie Tutorials mit dem Learneth-Plugin.", + "page-learning-tools-remix-description-2": "Remix und Replit sind nicht nur isolierte Entwicklungsumgebungen, Softwareentwickler können damit die Smart Contracts schreiben, kompilieren und einsetzen.", "page-learning-tools-replit-description": "Eine anpassbare Entwicklungsumgebung für Ethereum mit Hot-Reload, Fehlerüberprüfung und erstklassigem Testnet-Support.", "page-learning-tools-replit-logo-alt": "Replit-Logo", "page-learning-tools-remix-logo-alt": "Remix-Logo", "page-learning-tools-sandbox": "Code-Sandkästen", - "page-learning-tools-sandbox-desc": "Diese Sandkästen werden dir Platz geben, um mit dem Schreiben von Smart-Contracts zu experimentieren und Ethereum zu verstehen.", - "page-learning-tools-studio-description": "Eine webbasierte IDE, wo du Tutorials verfolgen kannst, die zeigen, wie Smart-Contracts erstellt und getestet werden und wie ein Frontend für diese erstellt wird.", - "page-learning-tools-vyperfun-description": "Lerne Vyper, indem du dein eigenes Pokémon-Spiel erstellst.", + "page-learning-tools-sandbox-desc": "Diese Sandkästen werden Ihnen den Raum geben, um mit dem Schreiben von Smart Contracts zu experimentieren und Ethereum zu verstehen.", + "page-learning-tools-studio-description": "Eine webbasierte IDE, wo Sie Tutorials verfolgen können, die zeigen, wie Smart Contracts erstellt und getestet werden und wie ein Frontend für diese erstellt wird.", + "page-learning-tools-vyperfun-description": "Lerne Vyper, indem Sie Ihr eigenes Pokémon-Spiel erstellen.", "page-learning-tools-vyperfun-logo-alt": "Vyper.fun-Logo", "page-learning-tools-nftschool-description": "Erkunde, was mit nicht fungiblen Token oder NFT von der technischen Seite aus geschieht.", - "page-learning-tools-nftschool-logo-alt": "NFT-school-Logo" + "page-learning-tools-nftschool-logo-alt": "NFT-school-Logo", + "page-learning-tools-pointer-description": "Lerne Web3 Entwicklerfähigkeiten mit unterhaltsamen interaktiven Tutorials. Erhalte dabei Krypto-Belohnungen", + "page-learning-tools-pointer-logo-alt": "Zeiger-Logo" } diff --git a/src/intl/de/page-developers-local-environment.json b/src/intl/de/page-developers-local-environment.json index 6aef85d0e17..902b1cc19d7 100644 --- a/src/intl/de/page-developers-local-environment.json +++ b/src/intl/de/page-developers-local-environment.json @@ -1,35 +1,35 @@ { - "page-local-environment-brownie-desc": "Ein auf Python basierendes Entwicklungs- und Test-Framework für Smart-Contracts, die auf die Ethereum Virtual Machine abzielen.", + "page-local-environment-brownie-desc": "Ein auf Python basierendes Entwicklungs- und Test-Framework für Smart Contracts, die auf die Ethereum Virtual Machine abzielen.", "page-local-environment-brownie-logo-alt": "Brownie-Logo", "page-local-environment-embark-desc": "Die all-in-one-Entwicklerplattform, um dezentrale Applikationen zu erstellen und einzusetzen.", "page-local-environment-embark-logo-alt": "Embark-Logo", "page-local-environment-epirus-desc": "Eine Plattform zum Entwickeln, Einsetzen und Überwachen von Blockchain-Anwendungen auf der Java Virtual Machine", "page-local-environment-epirus-logo-alt": "Epirus-Logo", - "page-local-environment-eth-app-desc": "Erstelle Ethereum-basierte Apps mit einem Befehl. Begleitet von einem breiten Angebot von UI-Frameworks und DeFi-Vorlagen, aus denen du auswählen kannst.", - "page-local-environment-eth-app-logo-alt": "Erstelle ein Eth-App-Logo", + "page-local-environment-eth-app-desc": "Erstelle Ethereum-basierte Apps mit einem Befehl. Begleitet von einem breiten Angebot von UI-Frameworks und DeFi-Vorlagen, aus denen Sie auswählen können.", + "page-local-environment-eth-app-logo-alt": "Erstellen Sie ein Eth-App-Logo", "page-local-environment-framework-feature-1": "Funktionen zum Aufsetzen einer lokalen Blockchain-Instanz.", - "page-local-environment-framework-feature-2": "Dienste zum Kompilieren und Testen von Smart-Contracts.", + "page-local-environment-framework-feature-2": "Dienste zum Kompilieren und Testen von Smart Contracts.", "page-local-environment-framework-feature-3": "Client-Entwicklungs-Add-ons zur Erstellung deiner anwenderorientierten Anwendung im selben Projekt/Projektarchiv.", "page-local-environment-framework-feature-4": "Konfiguration für die Verbindung zu Ethereum-Netzwerken und dem Einsatz von Verträgen, sei es zu einer lokal laufenden Instanz oder zu einem öffentlichen Netzwerk von Ethereum.", "page-local-environment-framework-feature-5": "Dezentralisierte App-Verteilung – Integration mit Speicheroptionen wie IPFS.", "page-local-environment-framework-features": "Diese Frameworks verfügen über eine Vielzahl von Funktionen, wie zum Beispiel:", - "page-local-environment-frameworks-desc": " Wir empfehlen, ein Framework auszuwählen, besonders wenn du gerade erst anfängst. Das Aufbauen einer vollwertigen dApp erfordert unterschiedliche Technologien. Frameworks enthalten viele der benötigten Funktionen oder bieten einfache Plugin-Systeme, um die gewünschten Werkzeuge auszuwählen.", + "page-local-environment-frameworks-desc": "Wir empfehlen, ein Framework auszuwählen, besonders wenn Sie gerade erst anfangen. Das Aufbauen einer vollwertigen dApp erfordert unterschiedliche Technologien. Frameworks enthalten viele der benötigten Funktionen oder bieten einfache Plugin-Systeme, um die gewünschten Werkzeuge auszuwählen.", "page-local-environment-frameworks-title": "Frameworks und vorgefertigte Stacks", "page-local-environment-hardhat-desc": "Hardhat ist eine Ethereum-Entwicklungsumgebung für Profi-Anwender.", "page-local-environment-hardhat-logo-alt": "Hardhat-Logo", - "page-local-environment-openZeppelin-desc": "Spare Stunden an Entwicklungszeit, indem du über unsere CLI kompilierst, upgradest, veröffentlichst und mit Smart-Contracts interagierst.", + "page-local-environment-openZeppelin-desc": "Sparen Stunden an Entwicklungszeit, indem Sie über unsere CLI kompilieren, upgraden, veröffentlichen und mit Smart Contracts interagieren.", "page-local-environment-openZeppelin-logo-alt": "OpenZeppelin-Logo", - "page-local-environment-scaffold-eth-desc": "Ethers + Hardhat + React: alles, was du brauchst, um mit der Entwicklung dezentraler Anwendungen auf Basis von Smart-Contracts zu beginnen", + "page-local-environment-scaffold-eth-desc": "Ethers + Hardhat + React: alles, was Sie brauchen, um mit der Entwicklung dezentraler Anwendungen auf Basis von Smart Contracts zu beginnen", "page-local-environment-scaffold-eth-logo-alt": "scaffold-eth-Logo", - "page-local-environment-setup-meta-desc": "Anleitung, wie du deinen Software-Stack für die Ethereum-Entwicklung auswählst.", + "page-local-environment-setup-meta-desc": "Anleitung, wie Sie Ihren Software-Stack für die Ethereum-Entwicklung auswählen.", "page-local-environment-setup-meta-title": "Ethereum – lokale Entwicklereinrichtung", - "page-local-environment-setup-subtitle": "Wenn du bereit bist mit der Entwicklung zu beginnen, ist es Zeit, deinen Stack auszuwählen.", - "page-local-environment-setup-subtitle-2": " Hier sind die Werkzeuge und Frameworks, die du zum Aufbau deiner Ethereum-Anwendung verwenden kannst.", - "page-local-environment-setup-title": "Richte deine lokale Entwicklungsumgebung ein", - "page-local-environment-solidity-template-desc": "Eine GitHub-Vorlage eines vorkompilierten Setups für deine Solidity-Smart-Contracts. Enthält ein lokales Hardhat-Netzwerk, Waffle für Tests, Ether für Wallet-Implementierungen und mehr.", + "page-local-environment-setup-subtitle": "Wenn Sie bereit sind, mit der Entwicklung zu beginnen, ist es Zeit, Ihren Stack auszuwählen.", + "page-local-environment-setup-subtitle-2": "Hier sind die Werkzeuge und Frameworks, die Sie zum Aufbau Deiner Ethereum-Anwendung verwenden können.", + "page-local-environment-setup-title": "Richten Sie Ihre lokale Entwicklungsumgebung ein", + "page-local-environment-solidity-template-desc": "Eine GitHub-Vorlage eines vorkompilierten Setups für Ihre Solidity-Smart-Contracts. Enthält ein lokales Hardhat-Netzwerk, Waffle für Tests, Ether für Wallet-Implementierungen und mehr.", "page-local-environment-solidity-template-logo-alt": "Solidity-Vorlagen-Logo", "page-local-environment-truffle-desc": "Die Truffle Suite bringt Entwickler so bequem wie möglich von der Idee zur dApp.", "page-local-environment-truffle-logo-alt": "Truffel-Logo", - "page-local-environment-waffle-desc": "Die fortschrittlichste Test-Bibliothek für Smart-Contracts. Verwende sie alleine oder mit Scaffold-eth oder Hardhat.", + "page-local-environment-waffle-desc": "Die fortschrittlichste Test-Bibliothek für Smart-Contracts. Verwenden Sie sie alleine oder mit Scaffold-eth oder Hardhat.", "page-local-environment-waffle-logo-alt": "Waffle-Logo" } diff --git a/src/intl/de/page-eth.json b/src/intl/de/page-eth.json index e925b86b33d..ba757dc140e 100644 --- a/src/intl/de/page-eth.json +++ b/src/intl/de/page-eth.json @@ -1,25 +1,25 @@ { - "page-eth-buy-some": "Willst du Ethereum kaufen?", - "page-eth-buy-some-desc": "Es ist üblich, Ethereum und ETH miteinander zu vermischen. Ethereum ist die Blockchain und ETH ist der primäre Vermögenswert von Ethereum. ETH ist das, was du wahrscheinlich kaufen möchtest.", + "page-eth-buy-some": "Wollen Sie Ethereum kaufen?", + "page-eth-buy-some-desc": "Es ist üblich, Ethereum und ETH miteinander zu vermischen. Ethereum ist die Blockchain und ETH ist der primäre Vermögenswert von Ethereum. ETH ist das, was Sie wahrscheinlich kaufen möchten.", "page-eth-cat-img-alt": "Grafik des ETH-Zeichens mit einem Kaleidoskop aus Katzen", "page-eth-collectible-tokens": "Sammler-Token", "page-eth-collectible-tokens-desc": "Token, die ein Sammelobjekt, ein Stück digitaler Kunst oder andere einzigartige Vermögenswerte repräsentieren. Üblicherweise bekannt als nicht austauschbare Token (NFT).", "page-eth-cryptography": "Durch Kryptographie gesichert", - "page-eth-cryptography-desc": "Internetgeld mag neu sein, aber es wird durch erprobte Kryptographie gesichert. Dies schützt deine Wallet, die ETH darin und deine Transaktionen. ", + "page-eth-cryptography-desc": "Internetgeld mag neu sein, aber es wird durch erprobte Kryptographie gesichert. Dies schützt Ihre Wallet, die ETH darin und Ihre Transaktionen. ", "page-eth-currency-for-apps": "Es ist die Währung der Ethereum-Apps.", "page-eth-currency-for-future": "Währung für unsere digitale Zukunft", - "page-eth-description": "ETH ist eine Kryptowährung. Es ist begrenztes digitales Geld, das im Internet verwendet werden kann – ähnlich wie Bitcoin. Falls du neu in Krypto bist, lerne hier, wie sich ETH von traditionellem Geld unterscheidet.", - "page-eth-earn-interest-link": "Verdiene Zinsen", + "page-eth-description": "ETH ist eine Kryptowährung. Es ist begrenztes digitales Geld, das im Internet verwendet werden kann – ähnlich wie Bitcoin. Falls Sie neu in Krypto sind, lernen Sie hier, wie sich ETH von traditionellem Geld unterscheidet.", + "page-eth-earn-interest-link": "Verdienen Sie Zinsen", "page-eth-ethhub-caption": "Häufig aktualisiert", - "page-eth-ethhub-overview": "In EthHub findest du bei Bedarf eine großartige Übersicht", + "page-eth-ethhub-overview": "In EthHub finden Sie bei Bedarf eine großartige Übersicht", "page-eth-flexible-amounts": "Verfügbar in flexiblen Mengen", - "page-eth-flexible-amounts-desc": "ETH ist auf bis zu 18 Dezimalstellen teilbar, so dass du nicht ein ganzes ETH kaufen musst. Du kannst einzelne Bruchteile kaufen – lediglich 0,00000000000000000000000000000001 ETH, wenn du möchtest.", + "page-eth-flexible-amounts-desc": "ETH ist auf bis zu 18 Dezimalstellen teilbar, sodass Sie nicht ein ganzes ETH kaufen müssen. Sie können einzelne Bruchteile kaufen – lediglich 0,00000000000000000000000000000001 ETH, wenn Sie möchten.", "page-eth-fuels": "ETH betreibt und sichert Ethereum", - "page-eth-fuels-desc": "ETH ist das Herzblut von Ethereum. Wenn du ETH sendest oder eine Ethereum-Applikation verwendest, bezahlst du eine geringe Gebühr in ETH für die Nutzung des Ethereum-Netzwerks. Diese Gebühr ist ein Anreiz für einen Miner, zu verarbeiten und zu überprüfen, was du zu tun versuchst.", + "page-eth-fuels-desc": "ETH ist das Herzblut von Ethereum. Wenn Sie ETH senden oder eine Ethereum-Applikation verwenden, bezahlen Sie eine geringe Gebühr in ETH für die Nutzung des Ethereum-Netzwerks. Diese Gebühr ist ein Anreiz für einen Miner, zu verarbeiten und zu überprüfen, was Sie zu tun versuchen.", "page-eth-fuels-desc-2": "Miner sind wie die Archivare von Ethereum – sie prüfen und beweisen, dass niemand betrügt. Miner, die diese Arbeit erledigen, werden auch mit kleinen Beträgen von neu ausgegebenen ETH belohnt.", "page-eth-fuels-desc-3": "Die Miner halten Ethereum sicher und frei von zentralisierter Kontrolle. Anders ausgedrückt,", "page-eth-fuels-more-staking": "Mehr zum Staking", - "page-eth-fuels-staking": "Mit dem Staking wird ETH noch wichtiger werden. Wenn du ETH stakest, wirst du dazu in der Lage sein, Ethereum zu sichern und Belohnungen zu erhalten. In diesem System verringert die Gefahr des Verlusts deiner ETH den Anreiz von Angriffen.", + "page-eth-fuels-staking": "Mit dem Staking wird ETH noch wichtiger werden. Wenn Sie ETH stakeen, werden Sie dazu in der Lage sein, Ethereum zu sichern und Belohnungen zu erhalten. In diesem System verringert die Gefahr des Verlusts Ihrer ETH den Anreiz von Angriffen.", "page-eth-get-eth-btn": "ETH erwerben", "page-eth-gov-tokens": "Governance-Token", "page-eth-gov-tokens-desc": "Token, die das Stimmrecht in dezentralisierten Organisationen repräsentieren.", @@ -40,48 +40,48 @@ "page-eth-no-centralized-desc": "ETH ist dezentral und global. Es gibt kein Unternehmen oder eine Bank, die sich entscheiden kann, mehr ETH auszudrucken oder die Nutzungsbedingungen zu ändern.", "page-eth-non-fungible-tokens-link": "Nicht-austauschbare Tokens", "page-eth-not-only-crypto": "ETH ist nicht die einzige Kryptowährung auf Ethereum", - "page-eth-not-only-crypto-desc": "Jeder kann neue Arten von Vermögenswerten erstellen und diese auf Ethereum handeln. Diese sind als \"Token\" bekannt. Menschen haben bereits traditionelle Währungen, ihre Immobilien, ihre Kunst und sogar sich selbst tokenisiert!", + "page-eth-not-only-crypto-desc": "Jeder kann neue Arten von Vermögenswerten erstellen und diese auf Ethereum handeln. Diese sind als „Token\" bekannt. Menschen haben bereits traditionelle Währungen, ihre Immobilien, ihre Kunst und sogar sich selbst tokenisiert!", "page-eth-not-only-crypto-desc-2": "Ethereum ist die Heimat von Tausenden von Token – einige nützlicher und wertvoller als andere. Entwickler bauen ständig neue Marken auf, die neue Möglichkeiten und Märkte eröffnen.", - "page-eth-not-only-crypto-desc-3": "Wenn du mehr über Token erfahren möchtest, haben unsere Freunde bei EthHub ein paar großartige Übersichten verfasst:", + "page-eth-not-only-crypto-desc-3": "Wenn Sie mehr über Token erfahren möchten, haben unsere Freunde bei EthHub ein paar großartige Übersichten verfasst:", "page-eth-open": "Für alle zugänglich", - "page-eth-open-desc": "Du benötigst nur eine Internetverbindung und eine Wallet, um ETH zu akzeptieren. Du musst nicht auf ein Bankkonto zugreifen, um Zahlungen zu akzeptieren. ", + "page-eth-open-desc": "Sie benötigen nur eine Internetverbindung und eine Wallet, um ETH zu akzeptieren. Sie müssen nicht auf ein Bankkonto zugreifen, um Zahlungen zu akzeptieren. ", "page-eth-p2p-payments": "Peer-to-Peer-Zahlungen", - "page-eth-p2p-payments-desc": "Du kannst deine ETH ohne Vermittlerdienst wie eine Bank versenden. Es ist so, als würde man persönlich Geld übergeben, aber man kann es sicher mit jedem machen, jeder, überall, jederzeit.", + "page-eth-p2p-payments-desc": "Sie können Ihre ETH ohne Vermittlerdienst wie eine Bank versenden. Es ist so, als würde man persönlich Geld übergeben, aber man kann es sicher mit jedem machen, jeder, überall, jederzeit.", "page-eth-period": ".", "page-eth-popular-tokens": "Beliebte Arten von Token", "page-eth-powers-ethereum": "ETH betreibt Ethereum", "page-eth-shit-coins": "Sh*tcoins", - "page-eth-shit-coins-desc": "Weil es einfach ist, neue Coins zu erstellen, kann es jeder machen – auch Leute mit schlechten oder bösen Absichten. Informiere dich immer erst ausgiebig, bevor du sie benutzt!", + "page-eth-shit-coins-desc": "Weil es einfach ist, neue Coins zu erstellen, kann es jeder machen – auch Leute mit schlechten oder bösen Absichten. Informieren Sie sich immer erst ausgiebig, bevor Sie sie benutzen!", "page-eth-stablecoins": "Stablecoins", "page-eth-stablecoins-desc": "Token, die den Wert traditioneller Währung wie den Dollar widerspiegeln. Dies löst das Volatilitätsproblem mit vielen Kryptowährungen.", - "page-eth-stablecoins-link": "Erwerbe Stablecoins", - "page-eth-stream-link": "Streame ETH", + "page-eth-stablecoins-link": "Erwerben Sie Stablecoins", + "page-eth-stream-link": "Streamen Sie ETH", "page-eth-tokens-link": "Ethereum-Token", "page-eth-trade-link-2": "Token tauschen", "page-eth-underpins": "ETH untermauert das Finanzsystem von Ethereum", "page-eth-underpins-desc": "Unzufrieden mit Zahlungsmöglichkeiten, baut die Ethereum-Community ein ganzes Finanzsystem auf, das peer-to-peer und für jedermann zugänglich ist.", - "page-eth-underpins-desc-2": "Du kannst ETH als Sicherheit verwenden, um völlig verschiedene Kryptowährungstoken auf Ethereum zu erzeugen. Darüber hinaus kannst du leihen, verleihen und Zinsen auf ETH und andere von ETH unterstützte Token verdienen.", + "page-eth-underpins-desc-2": "Sie können ETH als Sicherheit verwenden, um völlig verschiedene Kryptowährungstoken auf Ethereum zu erzeugen. Darüber hinaus können Sie leihen, verleihen und Zinsen auf ETH und andere von ETH unterstützte Token verdienen.", "page-eth-uses": "Verwendungen für ETH wachsen täglich", "page-eth-uses-desc": "Da Ethereum programmierbar ist, können Entwickler ETH auf unzählige Arten gestalten.", - "page-eth-uses-desc-2": "Im Jahr 2015 konnte man nur ETH von einem Ethereum-Konto an ein anderes schicken. Hier sind nur einige der Dinge, die du heute damit tun kannst.", - "page-eth-uses-desc-3": "Zahle oder erhalte Geld in Echtzeit.", - "page-eth-uses-desc-4": "Du kannst ETH mit anderen Token wie Bitcoin handeln.", + "page-eth-uses-desc-2": "Im Jahr 2015 konnte man nur ETH von einem Ethereum-Konto an ein anderes schicken. Hier sind nur einige der Dinge, die Sie heute damit tun können.", + "page-eth-uses-desc-3": "Zahlen oder erhalten Sie Geld in Echtzeit.", + "page-eth-uses-desc-4": "Sie können ETH mit anderen Token wie Bitcoin handeln.", "page-eth-uses-desc-5": "auf ETH und anderen Ethereum-basierten Token.", - "page-eth-uses-desc-6": "Greife auf die Welt der Kryptowährungen mit einem stetigen, weniger volatilen Wert zu.", + "page-eth-uses-desc-6": "Greifen Sie auf die Welt der Kryptowährungen mit einem stetigen, weniger volatilen Wert zu.", "page-eth-value": "Warum Ether wertvoll ist", "page-eth-video-alt": "ETH-Glyphenvideo", "page-eth-whats-eth": "Was ist Ether (ETH)?", "page-eth-whats-eth-hero-alt": "Illustration einer Gruppe von Leuten, die eine Ether(ETH)-Glyphe bestaunen", - "page-eth-whats-eth-meta-desc": "Was du wissen musst, um ETH und seinen Platz in Ethereum zu verstehen.", + "page-eth-whats-eth-meta-desc": "Was Sie wissen müssen um ETH und seinen Platz in Ethereum zu verstehen.", "page-eth-whats-eth-meta-title": "Was ist Ether (ETH)?", "page-eth-whats-ethereum": "Was ist Ethereum?", - "page-eth-whats-ethereum-desc": "Wenn du mehr über Ethereum und die Technologie hinter ETH erfahren möchtest, schau dir unsere Einführung an.", + "page-eth-whats-ethereum-desc": "Wenn Sie mehr über Ethereum und die Technologie hinter ETH erfahren möchten, schauen Sie sich unsere Einführung an.", "page-eth-whats-unique": "Was ist einzigartig an ETH?", "page-eth-whats-unique-desc": "Es gibt viele Kryptowährungen und viele andere Token auf Ethereum, aber es gibt bestimmte Dinge, die nur ETH tun kann.", "page-eth-where-to-buy": "Wo man ETH bekommt", - "page-eth-where-to-buy-desc": "Du kannst ETH über eine Börse oder eine Wallet erhalten, aber verschiedene Länder haben unterschiedliche Richtlinien. Überprüfe selbst, bei welchen Anbietern du ETH kaufen kannst.", - "page-eth-yours": "Es gehört wirklich dir", - "page-eth-yours-desc": "ETH ermöglicht es dir, deine eigene Bank zu sein. Du kannst dein eigenes Guthaben mit deiner Wallet als Eigentumsnachweis kontrollieren – keine Drittanbieter sind nötig.", + "page-eth-where-to-buy-desc": "Sie können ETH über eine Börse oder eine Wallet erhalten, aber verschiedene Länder haben unterschiedliche Richtlinien. Überprüfen Sie selbst, bei welchen Anbietern Sie ETH kaufen können.", + "page-eth-yours": "Es gehört wirklich Ihnen", + "page-eth-yours-desc": "ETH ermöglicht es Ihnen, Ihre eigene Bank zu sein. Sie können Ihr eigenes Guthaben mit Ihrer Wallet als Eigentumsnachweis kontrollieren – keine Drittanbieter sind nötig.", "page-eth-more-on-tokens": "Mehr zu Token und ihren Verwendungszwecken", "page-eth-button-buy-eth": "ETH erwerben", "page-eth-tokens-stablecoins": "Stablecoins", @@ -93,5 +93,5 @@ "page-eth-tokens-nft-description": "Token, die Eigentum an Gegenständen auf Ethereum darstellen.", "page-eth-tokens-dao-description": "Internetgemeinschaften werden oft von Tokenbesitzern verwaltet.", "page-eth-whats-defi": "Mehr zu DeFi", - "page-eth-whats-defi-description": "DeFi ist das dezentralisierte Finanzsystem auf Ethereum. Dieser Überblick zeigt dir, was du tun kannst." + "page-eth-whats-defi-description": "DeFi ist das dezentralisierte Finanzsystem auf Ethereum. Dieser Überblick zeigt Ihnen was Sie tun können." } diff --git a/src/intl/de/page-get-eth.json b/src/intl/de/page-get-eth.json index b8df4fd8a37..d95e8a2205b 100644 --- a/src/intl/de/page-get-eth.json +++ b/src/intl/de/page-get-eth.json @@ -1,62 +1,66 @@ { + "page-get-eth-article-keeping-crypto-safe": "Die Schlüssel zum Schutz Ihrer Kryptowährungen", + "page-get-eth-article-protecting-yourself": "Schützen Sie sich und Ihre Werte", + "page-get-eth-article-store-digital-assets": "Wie man digitale Vermögenswerte auf Ethereum hält", "page-get-eth-cex": "Zentralisierte Börsen (CEX)", - "page-get-eth-cex-desc": "Börsen sind Unternehmen, mit denen du Crypto mit traditionellen Währungen kaufen kannst. Sie verwahren das ETH, das du kaufst, bis du es zu einer Wallet sendest, die du verwaltest.", - "page-get-eth-checkout-dapps-btn": "Schau dir dApps an", - "page-get-eth-community-safety": "Communitybeiträge zur Sicherheit", + "page-get-eth-cex-desc": "Börsen sind Unternehmen, mit denen Sie Krypto mit traditionellen Währungen kaufen können. Sie verwahren das ETH, das Sie kaufen, bis Sie es zu einer Wallet senden, die Sie verwalten.", + "page-get-eth-checkout-dapps-btn": "Schauen Sie sich dApps an", + "page-get-eth-community-safety": "Community-Beiträge zur Sicherheit", "page-get-eth-description": "Ethereum und ETH werden nicht von einer Regierung oder einem Unternehmen kontrolliert – sie sind dezentralisiert. Das heißt, dass ETH für jeden frei zugänglich ist.", "page-get-eth-dex": "Dezentralisierte Börsen (DEX)", - "page-get-eth-dex-desc": "Wenn du mehr Kontrolle haben möchtest, dann kaufe ETH peer-to-peer. Mit einem DEX kannst du handeln, ohne die Kontrolle über deine Gelder an ein zentralisiertes Unternehmen abzugeben.", + "page-get-eth-dex-desc": "Wenn Sie mehr Kontrolle haben möchten, dann kaufen Sie ETH peer-to-peer. Mit einem DEX können Sie handeln, ohne die Kontrolle über Ihre Gelder an ein zentralisiertes Unternehmen abzugeben.", "page-get-eth-dexs": "Dezentralisierte Börsen (DEX)", "page-get-eth-dexs-desc": "Dezentralisierte Börsen sind offene Marktplätze für ETH und andere Token. Sie verbinden Käufer und Verkäufer direkt.", - "page-get-eth-dexs-desc-2": "Anstatt einen vertrauenswürdigen Dritten zu verwenden, um Geld bei der Transaktion zu schützen, verwenden sie Code. Das ETH des Verkäufers wird erst überwiesen, wenn die Zahlung garantiert ist. Diese Art von Code wird als Smart-Contract bezeichnet.", - "page-get-eth-dexs-desc-3": "Das bedeutet, dass es weniger geografische Beschränkungen gibt als bei zentralisierten Alternativen. Wenn jemand verkauft, was du willst, und eine Zahlungsmethode akzeptiert, die du liefern kannst, bist du startklar. DEXs ermöglichen es dir, ETH mit anderen Token, PayPal oder sogar persönlichen Geldlieferungen zu kaufen.", + "page-get-eth-dexs-desc-2": "Anstatt einen vertrauenswürdigen Dritten zu verwenden, um Geld bei der Transaktion zu schützen, verwenden sie Code. Das ETH des Verkäufers wird erst überwiesen, wenn die Zahlung garantiert ist. Diese Art von Code wird als Smart Contract bezeichnet.", + "page-get-eth-dexs-desc-3": "Das bedeutet, dass es weniger geografische Beschränkungen gibt als bei zentralisierten Alternativen. Wenn jemand verkauft, was was Sie wollen, und eine Zahlungsmethode akzeptiert, die Sie liefern können, sind Sie startklar. DEXs ermöglichen es Ihnen, ETH mit anderen Token, PayPal oder sogar persönlichen Geldlieferungen zu kaufen.", "page-get-eth-do-not-copy": "Beispiel: Nicht kopieren", - "page-get-eth-exchanges-disclaimer": "Wir haben diese Informationen manuell zusammengestellt. Wenn dir Fehler auffallen, teile es uns über folgende E-Mail-Adresse mit: ", - "page-get-eth-exchanges-empty-state-text": "Gib dein Wohnsitzland an, um eine Liste von Wallets und Börsen zu sehen, die du zum Kauf von ETH benutzen kannst", + "page-get-eth-exchanges-disclaimer": "Wir haben diese Informationen manuell zusammengestellt. Wenn Ihnen Fehler auffallen, teilen Sie es uns über folgende E-Mail-Adresse mit: ", + "page-get-eth-exchanges-empty-state-text": "Geben Sie Ihr Wohnsitzland an, um eine Liste von Wallets und Börsen zu sehen, die Sie zum Kauf von ETH benutzen können", "page-get-eth-exchanges-except": "Außer", - "page-get-eth-exchanges-header": "In welchem Land lebst du?", + "page-get-eth-exchanges-header": "In welchem Land leben Sie?", "page-get-eth-exchanges-header-exchanges": "Börsen", "page-get-eth-exchanges-header-wallets": "Wallets", - "page-get-eth-exchanges-intro": "Börsen und Wallets haben Beschränkungen dafür, wo sie Crypto verkaufen können.", - "page-get-eth-exchanges-no-exchanges": "Leider kennen wir keine Börsen, bei denen du ETH in diesem Land kaufen kannst. Wenn du eine kennst, schreib uns eine E-Mail an ", - "page-get-eth-exchanges-no-exchanges-or-wallets": "Leider kennen wir keine Börsen oder Wallets, bei denen du ETH in diesem Land kaufen kannst. Wenn du eine kennst, schreib uns eine E-Mail an ", - "page-get-eth-exchanges-no-wallets": "Leider kennen wir keine Wallets, mit denen du ETH in diesem Land kaufen kannst. Wenn du eine kennst, schreib uns eine E-Mail an ", + "page-get-eth-exchanges-intro": "Börsen und Wallets haben Beschränkungen dafür, wo sie Krypto verkaufen können.", + "page-get-eth-exchanges-no-exchanges": "Leider kennen wir keine Börsen, bei denen Sie ETH in diesem Land kaufen können. Wenn Sie eine kennen, schreiben Sie uns eine E-Mail an ", + "page-get-eth-exchanges-no-exchanges-or-wallets": "Leider kennen wir keine Börsen oder Wallets, bei denen Sie ETH in diesem Land kaufen können. Wenn Sie eine kennen, schreiben Sie uns eine E-Mail an ", + "page-get-eth-exchanges-no-wallets": "Leider kennen wir keine Wallets, mit denen Sie ETH in diesem Land kaufen können. Wenn Sie eine kennen, schreiben Sie uns eine E-Mail an ", + "page-get-eth-exchanges-search": "Schreiben Sie, wo Du leben...", "page-get-eth-exchanges-success-exchange": "Es kann einige Tage dauern, um sich bei einer Börse zu registrieren, aufgrund ihrer rechtlichen Kontrollen.", "page-get-eth-exchanges-success-wallet-link": "Wallets", - "page-get-eth-exchanges-success-wallet-paragraph": "Dort, wo du wohnst, kannst du ETH direkt von diesen Wallets kaufen. Weitere Informationen", + "page-get-eth-exchanges-success-wallet-paragraph": "Dort, wo Sie wohnen, können Sie ETH direkt von diesen Wallets kaufen. Weitere Informationen", "page-get-eth-exchanges-usa": "Vereinigte Staaten von Amerika (USA)", - "page-get-eth-get-wallet-btn": "Richte eine Wallet ein", - "page-get-eth-hero-image-alt": "Erhalte ETH Hero Image", - "page-get-eth-keep-it-safe": "Schütze dein ETH", - "page-get-eth-meta-description": "Wie du ETH basierend auf deinem Wohnort kaufen kannst und Empfehlungen, wie du dich darum kümmerst.", + "page-get-eth-get-wallet-btn": "Richten Sie eine Wallet ein", + "page-get-eth-hero-image-alt": "Erhalten Sie ETH Hero Image", + "page-get-eth-keep-it-safe": "Schützen Sie Ihr ETH", + "page-get-eth-meta-description": "Wie Sie ETH basierend auf Ihrem Wohnort kaufen können und Empfehlungen, wie Sie sich darum kümmern.", "page-get-eth-meta-title": "So kauft man ETH", - "page-get-eth-need-wallet": "Du brauchst eine Wallet, um eine DEX verwenden zu können.", + "page-get-eth-need-wallet": "Sie brauchen eine Wallet, um eine DEX verwenden zu können.", "page-get-eth-new-to-eth": "Neu bei ETH? Hier ist eine Übersicht, um loszulegen.", - "page-get-eth-other-cryptos": "Kaufe mit anderen Kryptowährungen", - "page-get-eth-protect-eth-desc": "Wenn du sehr viel ETH kaufen willst, möchstest du es vielleicht in einer Wallet, die du kontrollierst, aufbewahren, nicht an einer Börse. Das liegt daran, dass Börsen ein wahrscheinliches Ziel für Hacker sind. Wenn ein Hacker Zugang erhält, könntest du dein Guthaben verlieren. Alternativ hast nur du die Kontrolle über deine Wallet.", - "page-get-eth-protect-eth-in-wallet": "Schütze dein ETH in einer Wallet", + "page-get-eth-other-cryptos": "Kaufen Sie mit anderen Kryptowährungen", + "page-get-eth-protect-eth-desc": "Wenn Sie sehr viel ETH kaufen wollen, möchsten Sie es vielleicht in einer Wallet, die Sie kontrollieren, aufbewahren, nicht an einer Börse. Das liegt daran, dass Börsen ein wahrscheinliches Ziel für Hacker sind. Wenn ein Hacker Zugang erhält, könnten Sie Ihr Guthaben verlieren. Alternativ haben nur Sie die Kontrolle über Ihre Wallet.", + "page-get-eth-protect-eth-in-wallet": "Schützen Sie Ihr ETH in einer Wallet", "page-get-eth-search-by-country": "Nach Land suchen", - "page-get-eth-security": "Aber das bedeutet auch, dass du die Sicherheit deines Guthabens ernst nehmen musst. Mit ETH vertraust du nicht einer Bank, dass sie auf dein Geld aufpasst, sondern du vertraust dir selbst.", - "page-get-eth-smart-contract-link": "Mehr zu Smart-Contracts", - "page-get-eth-swapping": "Tausche deine Token gegen ETH anderer Leute und umgekehrt.", + "page-get-eth-security": "Aber das bedeutet auch, dass Sie die Sicherheit Ihres Guthabens ernst nehmen müssen. Mit ETH vertrauen Sie nicht einer Bank, dass sie auf Ihr Geld aufpasst, sondern Sie vertrauen sich selbst.", + "page-get-eth-smart-contract-link": "Mehr zu Smart Contracts", + "page-get-eth-swapping": "Tauschen Sie Ihre Token gegen ETH anderer Leute und umgekehrt.", "page-get-eth-traditional-currencies": "Mit traditionellen Währungen kaufen", - "page-get-eth-traditional-payments": "Kaufe ETH mit traditionellen Zahlungsmöglichkeiten direkt bei Verkäufern.", - "page-get-eth-try-dex": "Probiere eine DEX", - "page-get-eth-use-your-eth": "Nutze dein ETH", - "page-get-eth-use-your-eth-dapps": "Jetzt, da du eine Wallet hast, schaue dir doch ein paar Ethereum-Anwendungen (DApps) an. Es gibt dApps für Finanzen, soziale Medien, Gaming und viele andere Kategorien.", - "page-get-eth-wallet-instructions": "Folge der Wallet-Anleitung", - "page-get-eth-wallet-instructions-lost": "Wenn du den Zugriff auf deine Wallet verlierst, verlierst du den Zugriff zu deinem Guthaben. Deine Wallet sollte dir Anweisungen geben, wie du dich davor schützen kannst. Beachte diese sorgfältig – in den meisten Fällen kann dir niemand helfen, wenn du den Zugriff zu deiner Wallet verlierst.", + "page-get-eth-traditional-payments": "Kaufen Sie ETH mit traditionellen Zahlungsmöglichkeiten direkt bei Verkäufern.", + "page-get-eth-try-dex": "Probieren Sie eine DEX", + "page-get-eth-use-your-eth": "Nutzen Sie Ihr ETH", + "page-get-eth-use-your-eth-dapps": "Jetzt, da Sie eine Wallet haben, schauen Sie sich doch ein paar Ethereum-Anwendungen (dApps) an. Es gibt dApps für Finanzen, soziale Medien, Gaming und viele andere Kategorien.", + "page-get-eth-wallet-instructions": "Folgen Sie der Wallet-Anleitung", + "page-get-eth-wallet-instructions-lost": "Wenn Sie den Zugriff auf Ihre Wallet verlieren, verlieren Sie den Zugriff zu Ihrem Guthaben. Ihre Wallet sollte Ihnen Anweisungen geben, wie Sie sich davor schützen können. Beachten Sie diese sorgfältig – in den meisten Fällen kann Ihnen niemand helfen, wenn Sie den Zugriff zu Ihrer Wallet verlieren.", "page-get-eth-wallets": "Wallets", "page-get-eth-wallets-link": "Mehr zu Wallets", - "page-get-eth-wallets-purchasing": "Einige Wallets ermöglichen dir den Kauf von Crypto mit einer Debit-/Kreditkarte, Banküberweisung oder sogar Apple Pay. Es gelten geografische Einschränkungen.", - "page-get-eth-warning": "Diese DEXs sind nicht für Anfänger gedacht, da du etwas ETH benötigst, um sie zu nutzen.", + "page-get-eth-wallets-purchasing": "Einige Wallets ermöglichen Ihnen den Kauf von Krypto mit einer Debit-/Kreditkarte, Banküberweisung oder sogar Apple Pay. Es gelten geografische Einschränkungen.", + "page-get-eth-warning": "Diese DEXs sind nicht für Anfänger gedacht, da Sie etwas ETH benötigen, um sie zu nutzen.", "page-get-eth-what-are-DEX's": "Was sind DEX?", "page-get-eth-whats-eth-link": "Was ist ETH?", - "page-get-eth-where-to-buy-desc": "Du kannst ETH von Börsen oder Wallets direkt kaufen.", - "page-get-eth-where-to-buy-desc-2": "Überprüfe, welche Dienste du nutzen kannst, je nachdem, wo du wohnst.", + "page-get-eth-where-to-buy-desc": "Sie können ETH von Börsen oder Wallets direkt kaufen.", + "page-get-eth-where-to-buy-desc-2": "Überprüfen Sie, welche Dienste Sie nutzen können, je nachdem, wo Sie wohnen.", "page-get-eth-where-to-buy-title": "Wo man ETH kaufen kann", - "page-get-eth-your-address": "Deine ETH-Adresse", - "page-get-eth-your-address-desc": "Wenn du eine Wallet herunterlädst, wird sie eine öffentliche ETH-Adresse für dich erstellen. So sieht sie aus:", - "page-get-eth-your-address-desc-3": "Stelle es dir wie deine E-Mail-Adresse vor, aber anstatt E-Mails kann man ETH empfangen. Wenn du ETH von einer Börse zu deiner Wallet überweisen willst, benutze deine Adresse als Ziel. Überprüfe deine Angaben vor dem Abschicken immer zweimal!", - "page-get-eth-your-address-wallet-link": "Schaue dir Wallets an" + "page-get-eth-your-address": "Ihre ETH-Adresse", + "page-get-eth-your-address-desc": "Wenn Sie eine Wallet herunterladen, wird sie eine öffentliche ETH-Adresse für Sie erstellen. So sieht sie aus:", + "page-get-eth-your-address-desc-3": "Stellen Sie es sich wie Deine E-Mail-Adresse vor, aber anstatt E-Mails kann man ETH empfangen. Wenn Sie ETH von einer Börse zu Ihrer Wallet überweisen wollen, benutzen Sie Ihre Adresse als Ziel. Überprüfen Sie Ihre Angaben vor dem Abschicken immer zweimal!", + "page-get-eth-your-address-wallet-link": "Schauen Sie sich Wallets an" } diff --git a/src/intl/de/page-languages.json b/src/intl/de/page-languages.json index d14c959a9d2..a189108be64 100644 --- a/src/intl/de/page-languages.json +++ b/src/intl/de/page-languages.json @@ -1,15 +1,15 @@ { "page-languages-h1": "Sprachunterstützung", "page-languages-interested": "Interessiert, daran mitzuwirken?", - "page-languages-learn-more": "Erfahre mehr über unser Übersetzungsprogramm", + "page-languages-learn-more": "Erfahren Sie mehr über unser Übersetzungsprogramm", "page-languages-meta-desc": "Ressourcen für alle unterstützten Sprachen von ethereum.org und Möglichkeiten, sich als Übersetzer zu engagieren.", "page-languages-meta-title": "ethereum.org-Sprachübersetzungen", "page-languages-p1": "Ethereum ist ein globales Projekt, und es ist wichtig, dass es für jeden zugänglich ist, unabhängig von Nationalität oder Sprache. Unsere Community arbeitet hart daran, diese Vision zu realisieren.", "page-languages-translations-available": "ethereum.org ist in den folgenden Sprachen verfügbar", "page-languages-resources-paragraph": "Neben der Übersetzung der Inhalte von ethereum.org pflegen wir auch eine", "page-languages-resources-link": "betreute Liste der Ethereum-Ressourcen in vielen Sprachen", - "page-languages-want-more-header": "Du möchtest ethereum.org in einer anderen Sprache sehen?", + "page-languages-want-more-header": "Sie möchten ethereum.org in einer anderen Sprache sehen?", "page-languages-want-more-link": "Übersetzungsprogramm", - "page-languages-want-more-paragraph": "Übersetzer von ethereum.org sind immer dabei, Seiten in so viele Sprachen wie möglich zu übersetzen. Um zu sehen, woran sie gerade arbeiten oder um dich anzumelden, um mitzumachen, informiere dich über unser", + "page-languages-want-more-paragraph": "Übersetzer von ethereum.org sind immer dabei, Seiten in so viele Sprachen wie möglich zu übersetzen. Um zu sehen, woran sie gerade arbeiten oder um Sie anzumelden, um mitzumachen, informieren Sie sich über unser", "page-languages-filter-placeholder": "Filter" } diff --git a/src/intl/de/page-run-a-node.json b/src/intl/de/page-run-a-node.json index dceb2f1edcb..75f8766a1c4 100644 --- a/src/intl/de/page-run-a-node.json +++ b/src/intl/de/page-run-a-node.json @@ -1,12 +1,12 @@ { - "page-run-a-node-build-your-own-title": "Selbermachen", + "page-run-a-node-build-your-own-title": "Zum Selberbauen", "page-run-a-node-build-your-own-hardware-title": "Schritt 1 – Hardware", "page-run-a-node-build-your-own-minimum-specs": "Mindestanforderungen", "page-run-a-node-build-your-own-min-ram": "4 - 8 GB Arbeitsspeicher", "page-run-a-node-build-your-own-ram-note-1": "Siehe Anmerkung zum Staking", "page-run-a-node-build-your-own-ram-note-2": "Siehe Anmerkung zum Raspberry Pi", "page-run-a-node-build-your-own-min-ssd": "2 TB SSD Festplatte", - "page-run-a-node-build-your-own-ssd-note": "Die SSD ist wegen den erforderlichen Schreibgeschwindigkeiten notwendig.", + "page-run-a-node-build-your-own-ssd-note": "Eine SSD ist wegen der erforderlichen Schreibgeschwindigkeiten notwendig.", "page-run-a-node-build-your-own-min-internet": "Internetverbindung", "page-run-a-node-build-your-own-recommended": "Empfohlen", "page-run-a-node-build-your-own-nuc": "Intel NUC, 7. Generation oder neuer", @@ -14,125 +14,125 @@ "page-run-a-node-build-your-own-connection": "Kabelgebundene Internetverbindung", "page-run-a-node-build-your-own-connection-small": "Nicht erforderlich, bietet aber eine einfachere Einrichtung und eine stabilere Verbindung", "page-run-a-node-build-your-own-peripherals": "Bildschirm und Tastatur", - "page-run-a-node-build-your-own-peripherals-small": "Sofern Sie kein DAppNode oder ssh/headless Setup verwenden", + "page-run-a-node-build-your-own-peripherals-small": "Sofern keine dAppNode oder ssh/headless Setup verwendet werden", "page-run-a-node-build-your-own-software": "Schritt 2 – Software", - "page-run-a-node-build-your-own-software-option-1-title": "Option 1 – DAppNode", - "page-run-a-node-build-your-own-software-option-1-description": "Wenn Ihre Hardware bereit ist, können Sie das DAppNode Betriebssystem von einem Computer mit der Hilfe eines USB-Sticks herunterladen und auf die frische SSD Festplatte installieren.", - "page-run-a-node-build-your-own-software-option-1-button": "DAppNode Setup", + "page-run-a-node-build-your-own-software-option-1-title": "Option 1 – dAppNode", + "page-run-a-node-build-your-own-software-option-1-description": "Wenn Ihre Hardware bereit ist, können Sie das dAppNode-Betriebssystem von einem beliebigen Computer herunterladen und mithilfe eines USB-Sticks auf die neue SSD Festplatte installieren.", + "page-run-a-node-build-your-own-software-option-1-button": "DAppNode-Aufbau", "page-run-a-node-build-your-own-software-option-2-title": "Option 2 – Befehlszeile", - "page-run-a-node-build-your-own-software-option-2-description-1": "Für die maximale Kontrolle, können erfahrene Nutzer auch die Befehlszeile verwenden.", - "page-run-a-node-build-your-own-software-option-2-description-2": "Weitere Informationen zum Einstieg in die Client-Auswahl finden Sie in unserer Entwickler Dokumentation.", + "page-run-a-node-build-your-own-software-option-2-description-1": "Für maximale Kontrollzwecke können erfahrene Nutzer auch die Befehlszeile verwenden.", + "page-run-a-node-build-your-own-software-option-2-description-2": "Weitere Informationen zum Einstieg in die Kundenauswahl finden Sie in unserer Entwicklerdokumentation.", "page-run-a-node-build-your-own-software-option-2-button": "Einrichtung der Befehlszeile", - "page-run-a-node-buy-fully-loaded-title": "Kaufe eine voll bestückte", - "page-run-a-node-buy-fully-loaded-description": "Bestellen Sie eine Plug-and-Play Variante vom Händler für die schnellste und einfachste Einrichtung.", - "page-run-a-node-buy-fully-loaded-note-1": "Kein aufbauen erforderlich.", + "page-run-a-node-buy-fully-loaded-title": "Voll einsatzbereite Konfiguration kaufen", + "page-run-a-node-buy-fully-loaded-description": "Für einfaches Onboarding bestellen Sie eine Plug-and-Play Variante vom Händler.", + "page-run-a-node-buy-fully-loaded-note-1": "Kein Zusammenbauen erforderlich.", "page-run-a-node-buy-fully-loaded-note-2": "Eine App-ähnliche Einrichtung mit einer GUI.", "page-run-a-node-buy-fully-loaded-note-3": "Keine Befehlszeile erforderlich.", - "page-run-a-node-buy-fully-loaded-plug-and-play": "Diese Lösungen sind klein, aber komplett bestückt.", - "page-run-a-node-censorship-resistance-title": "Zensur-Resistenz", - "page-run-a-node-censorship-resistance-preview": "Stellen Sie sicher, dass Sie Zugriff haben, wenn Sie ihn benötigen, und lassen Sie sich nicht zensieren.", - "page-run-a-node-censorship-resistance-1": "Ein Knotenpunkt eines Drittanbieters könnte entscheiden, Transaktionen von bestimmten IP-Adressen oder Transaktionen, die bestimmte Konten betreffen, zu verweigern, und dich so möglicherweise von der Nutzung des Netzwerks abhalten, wenn du es brauchst. ", - "page-run-a-node-censorship-resistance-2": "Ein eigener Knotenpunkt, an den du Transaktionen übermitteln kannst, garantiert, dass du deine Transaktion jederzeit an den Rest des Peer-to-Peer-Netzwerks weiterleiten kannst.", + "page-run-a-node-buy-fully-loaded-plug-and-play": "Diese Lösungen sind klein, aber komplett ausgestattet.", + "page-run-a-node-censorship-resistance-title": "Zensurresistenz", + "page-run-a-node-censorship-resistance-preview": "Stellen Sie den Zugriff sicher, wenn Sie ihn brauchen, und werden Sie nicht zensiert.", + "page-run-a-node-censorship-resistance-1": "Der Knotenpunkt eines Drittanbieters könnte Transaktionen von bestimmten IP-Adressen oder Transaktionen, die bestimmte Konten betreffen, verweigern, und so möglicherweise Deine Nutzung des Netzwerks verhindern, wenn Sie es brauchen. ", + "page-run-a-node-censorship-resistance-2": "Ein eigener Knotenpunkt, an den Sie Transaktionen übermitteln können, garantiert, dass Sie Ihre Transaktion jederzeit an den Rest des Peer-to-Peer-Netzwerks weiterleiten können.", "page-run-a-node-community-title": "Helfer finden", - "page-run-a-node-community-description-1": "Auf Online-Plattformen wie Discord oder Reddit gibt es eine große Anzahl von Community-Buildern, die dir bei allen Fragen weiterhelfen können.", - "page-run-a-node-community-description-2": "Mach es nicht alleine. Wenn du eine Frage hast, kann dir wahrscheinlich jemand hier helfen, eine Antwort zu finden.", - "page-run-a-node-community-link-1": "Trete dem DAppNode Discord-Kanal bei", + "page-run-a-node-community-description-1": "Auf Online-Plattformen wie Discord oder Reddit gibt es eine große Anzahl von Community-Buildern, die Ihnen bei allen Fragen weiterhelfen können.", + "page-run-a-node-community-description-2": "Versuchen Sie es nicht alleine. Wenn Sie eine Frage haben, kann Ihnen wahrscheinlich jemand hier helfen, eine Antwort zu finden.", + "page-run-a-node-community-link-1": "Treten Sie dem dAppNode Discord-Kanal bei", "page-run-a-node-community-link-2": "Online-Communities finden", - "page-run-a-node-choose-your-adventure-title": "Wähle dein eigenes Abenteuer aus", - "page-run-a-node-choose-your-adventure-1": "Für den Anfang brauchst du etwas Hardware. Obwohl die Knotenpunkt-Software auch auf einem Pc ausgeführt werden kann, kann ein eigener Rechner die Leistung deiner Knotenpunkte erheblich steigern und gleichzeitig die Auswirkungen auf deinen Hauptrechner minimieren.", - "page-run-a-node-choose-your-adventure-2": "Bedenke bei der Auswahl der Hardware, dass die Kette ständig wächst und unweigerlich gewartet werden muss. Die Erhöhung der Spezifikationen kann dazu beitragen, dass die Wartung der Knotenpunkte hinausgezögert wird.", - "page-run-a-node-choose-your-adventure-build-1": "Eine billigere und besser anpassbare Option für technisch versiertere Nutzer.", - "page-run-a-node-choose-your-adventure-build-bullet-1": "Beschaffen Sie Ihre eigenen Teile.", - "page-run-a-node-choose-your-adventure-build-bullet-2": "Installiere DAppNode.", - "page-run-a-node-choose-your-adventure-build-bullet-3": "Oder du wählst dein eigenes Betriebssystem und eigenen Clients aus.", - "page-run-a-node-choose-your-adventure-build-start": "Starte jetzt", + "page-run-a-node-choose-your-adventure-title": "Wählen Sie Ihr Abenteuer aus", + "page-run-a-node-choose-your-adventure-1": "Um beginnen zu können, brauchen Sie die entsprechende Hardware. Obwohl die Netzknoten-Software auch auf einem PC laufen kann, kann ein eigener Rechner die Leistung Ihres Kontenpunkts erheblich steigern und gleichzeitig die Auswirkungen auf Ihren Hauptrechner minimieren.", + "page-run-a-node-choose-your-adventure-2": "Bei der Auswahl der Hardware muss man bedenken, dass die Blockchain ständig wächst und unweigerlich eine ständige Wartung stattfinden muss. Die Erhöhung der Spezifikationen kann dazu beitragen, eine Knotenpunktwartung zu verzögern.", + "page-run-a-node-choose-your-adventure-build-1": "Eine günstigere und besser anpassbare Option für technisch versierte Nutzer.", + "page-run-a-node-choose-your-adventure-build-bullet-1": "Beschaffen Sie sich Ihre eigenen Teile.", + "page-run-a-node-choose-your-adventure-build-bullet-2": "Installieren Sie dAppNode.", + "page-run-a-node-choose-your-adventure-build-bullet-3": "Oder wählen Sie Ihr eigenes Betriebssystem und eigene Kunden-Software aus.", + "page-run-a-node-choose-your-adventure-build-start": "Der Aufbau kann beginnen", "page-run-a-node-decentralized-title": "Dezentralisierung", - "page-run-a-node-decentralized-preview": "Widerstehe der Stärkung zentraler Fehlerquellen.", - "page-run-a-node-decentralized-1": "Zentralisierte Cloud-Server können eine Menge Rechenleistung bereitstellen, aber sie bieten auch ein Ziel für Nationalstaaten oder Angreifer, die das Netzwerk stören wollen.", + "page-run-a-node-decentralized-preview": "Widersteht starker zentraler Fehlerquellen.", + "page-run-a-node-decentralized-1": "Zentralisierte Cloud-Server können eine Menge Rechenleistung bereitstellen, aber sie bieten auch ein Ziel für Staaten oder Angreifer, die das Netzwerk stören wollen.", "page-run-a-node-decentralized-2": "Die Ausfallsicherheit des Netzwerks wird durch eine größere Anzahl von Knotenpunkten an geografisch unterschiedlichen Orten erreicht, die von mehr Menschen mit unterschiedlichem Hintergrund betrieben werden. Je mehr Menschen ihren eigenen Knotenpunkt betreiben, desto geringer ist die Abhängigkeit von zentralen Fehlerquellen und desto stärker wird das Netzwerk.", - "page-run-a-node-feedback-prompt": "Fanden Sie diesen Artikel hilfreich?", + "page-run-a-node-feedback-prompt": "War dieser Artikel hilfreich?", "page-run-a-node-further-reading-title": "Weiterführende Informationen", - "page-run-a-node-further-reading-1-link": "Ethereum meistern - Sollte ich einen vollständigen Knotenpunkt betreiben", + "page-run-a-node-further-reading-1-link": "Ethereum meistern - Soll ich einen vollständigen Knotenpunkt betreiben", "page-run-a-node-further-reading-1-author": "Andreas Antonopoulos", "page-run-a-node-further-reading-2-link": "Ethereum auf ARM - Schnellstartanleitung", "page-run-a-node-further-reading-3-link": "Die Grenzen der Skalierbarkeit der Blockchain", "page-run-a-node-further-reading-3-author": "Vitalik Buterin", "page-run-a-node-getting-started-title": "Erste Schritte", - "page-run-a-node-getting-started-software-section-1": "In den ersten Tagen des Netzwerks mussten die Nutzer die Fähigkeit haben, die Kommandozeile zu bedienen, um einen Ethereum-Knoten zu betreiben.", - "page-run-a-node-getting-started-software-section-1-alert": "Wenn du das bevorzugst und über die nötigen Kenntnisse verfügst, kannst du dich in unseren technischen Unterlagen informieren.", - "page-run-a-node-getting-started-software-section-1-link": "Starte einen Ethereum-Knoten", - "page-run-a-node-getting-started-software-section-2": "Jetzt gibt es DAppNode, eine kostenlose und quelloffene Software, die den Nutzern eine App-ähnliche Erfahrung bietet, während sie ihren Knoten verwalten.", - "page-run-a-node-getting-started-software-section-3a": "Mit nur wenigen Klicken kannst du deinen Knotenpunkt zum Laufen bringen.", - "page-run-a-node-getting-started-software-section-3b": "DAppNode macht es den Nutzern leicht, vollständige Knotenpunkte sowie Dapps und andere P2P-Netzwerke zu betreiben, ohne die Kommandozeile anfassen zu müssen. Das macht es für alle einfacher, sich zu beteiligen und ein dezentraleres Netzwerk zu schaffen.", + "page-run-a-node-getting-started-software-section-1": "In den ersten Tagen des Netzwerks mussten die Nutzer die Fähigkeit haben, die Kommandozeile zu bedienen, um einen Ethereum-Netzknoten betreiben zu können.", + "page-run-a-node-getting-started-software-section-1-alert": "Sollten Sie das bevorzugen und über die nötigen Kenntnisse verfügen, können Sie sich in unseren technischen Unterlagen informieren.", + "page-run-a-node-getting-started-software-section-1-link": "Starten Sie einen Ethereum-Knotenpunkt", + "page-run-a-node-getting-started-software-section-2": "Jetzt gibt es dAppNode, eine kostenlose und quelloffene Software, die den Nutzern während der Verwaltung des Knotenpunkts eine App-ähnliche Erfahrung bietet.", + "page-run-a-node-getting-started-software-section-3a": "Mit nur wenigen Klicks können Sie Ihren Knotenpunkt zum Laufen bringen.", + "page-run-a-node-getting-started-software-section-3b": "DAppNode macht es den Nutzern leicht, vollständige Knotenpunkte sowie DApps und andere P2P-Netzwerke zu betreiben, ohne die Kommandozeile benutzen zu müssen. Das macht es für alle einfacher, sich zu beteiligen und ein dezentrales Netzwerk zu schaffen.", "page-run-a-node-getting-started-software-title": "Teil 2: Software", - "page-run-a-node-glyph-alt-terminal": "Terminal Glyphe", - "page-run-a-node-glyph-alt-phone": "Telefon-Tipp-Glyphe", - "page-run-a-node-glyph-alt-dappnode": "DAppNode Glyphe", + "page-run-a-node-glyph-alt-terminal": "Befehlszeilen-Glyphe", + "page-run-a-node-glyph-alt-phone": "Telefon-Tipp-Glyph", + "page-run-a-node-glyph-alt-dappnode": "DAppNode-Glyphe", "page-run-a-node-glyph-alt-pnp": "Plug-n-Play-Glyphe", "page-run-a-node-glyph-alt-hardware": "Hardware-Glyphe", - "page-run-a-node-glyph-alt-software": "Software Download Glyphe", + "page-run-a-node-glyph-alt-software": "Software-Download-Glyphe", "page-run-a-node-glyph-alt-privacy": "Datenschutz-Glyphe", "page-run-a-node-glyph-alt-censorship-resistance": "Zensurresistente Megaphon-Glyphe", - "page-run-a-node-glyph-alt-earth": "Erde Glyphe", - "page-run-a-node-glyph-alt-decentralization": "Dezentralisierungsglyphe", - "page-run-a-node-glyph-alt-vote": "Gib deine Stimme ab Glyphe", - "page-run-a-node-glyph-alt-sovereignty": "Souveränitätsglyphe", - "page-run-a-node-hero-alt": "Grafik des Knotenpunktes", - "page-run-a-node-hero-header": "Übernimm die volle Kontrolle.
Betreibe deinen eigenen Knotenpunkt.", - "page-run-a-node-hero-subtitle": "Werde souverän und hilf mit, das Netzwerk zu sichern. Werde Ethereum.", - "page-run-a-node-hero-cta-1": "Weitere Informationen", - "page-run-a-node-hero-cta-2": "Lass uns beginnen!", + "page-run-a-node-glyph-alt-earth": "Erde-Glyphe", + "page-run-a-node-glyph-alt-decentralization": "Dezentralisierung-Glyphe", + "page-run-a-node-glyph-alt-vote": "Geben-Sie-Ihre-Stimme-ab-Glyphe", + "page-run-a-node-glyph-alt-sovereignty": "Souveränität-Glyphe", + "page-run-a-node-hero-alt": "Grafik des Netzknotens", + "page-run-a-node-hero-header": "Übernehmen Sie die volle Kontrolle.
Betreiben Sie Ihren eigenen Knotenpunkt.", + "page-run-a-node-hero-subtitle": "Werden Sie unabhängig und helfen Sie mit, das Netzwerk zu sichern. Werden Sie Teil von Ethereum.", + "page-run-a-node-hero-cta-1": "Mehr dazu", + "page-run-a-node-hero-cta-2": "Beginnen wir also!", "page-run-a-node-install-manually-title": "Manuell installieren", - "page-run-a-node-install-manually-1": "Wenn du ein technisch versierter Nutzer bist und dich entschieden hast, dein eigenes Gerät zu bauen, kannst du DAppNode von jedem Computer herunterladen und über ein USB-Laufwerk auf einer neuen SSD installieren.", - "page-run-a-node-meta-description": "Eine Einführung in das, was, warum und wie man einen Ethereum-Knoten betreibt.", + "page-run-a-node-install-manually-1": "Wenn Sie ein technisch versierter Nutzer sind und sich entschieden haben, Ihr eigenes Gerät zusammenzubauen, können Sie dAppNode von jedem Computer herunterladen und über ein USB-Laufwerk auf einer neuen SSD installieren.", + "page-run-a-node-meta-description": "Eine Einführung in das, was, warum und wie man einen Ethereum-Netzknoten betreibt.", "page-run-a-node-participate-title": "Mitmachen", - "page-run-a-node-participate-preview": "Die Revolution der Dezentralisierung beginnt mit dir.", - "page-run-a-node-participate-1": "Indem du einen Knotenpunkt betreibst, wirst du Teil einer globalen Bewegung zur Dezentralisierung von Kontrolle und Macht über eine Welt voller Informationen.", - "page-run-a-node-participate-2": "Wenn du ETH-Inhaber bist, kannst du den Wert deiner ETH steigern, indem du die Gesundheit und Dezentralisierung des Netzwerks unterstützt und sicherstellst, dass du ein Mitspracherecht bei seiner Zukunft hast.", + "page-run-a-node-participate-preview": "Die Revolution der Dezentralisierung beginnt mit Dir.", + "page-run-a-node-participate-1": "Mit dem Betreiben eines Knotenpunkts werden Sie Teil einer globalen Bewegung zur Dezentralisierung von Kontrolle und Macht über eine Welt voller Informationen.", + "page-run-a-node-participate-2": "Wenn Sie ein ETH-Inhaber sind, können Sie den Wert Ihrer ETH steigern, indem Sie den guten Zustand und die Dezentralisierung des Netzwerks unterstützen und ein Mitspracherecht bei seiner Zukunft sicherstellen.", "page-run-a-node-privacy-title": "Datenschutz & Sicherheit", - "page-run-a-node-privacy-preview": "Beende die Weitergabe deiner persönlichen Daten an Drittanbieter-Knotenpunkte.", - "page-run-a-node-privacy-1": "Wenn du Transaktionen über öffentliche Knotenpunkte sendest, können persönliche Informationen wie deine IP-Adresse und die Ethereum-Adressen, die du besitzt, an diese Drittanbieterdienste weitergegeben werden.", - "page-run-a-node-privacy-2": "Indem du kompatible Wallets auf deinen eigenen Knotenpunkt verweist, kannst du deine Wallet nutzen, um privat und sicher mit der Blockchain zu interagieren.", - "page-run-a-node-privacy-3": "Und wenn ein böswilliger Knotenpunkt eine ungültige Transaktion verbreitet, wird dein Knotenpunkt sie einfach ignorieren. Jede Transaktion wird lokal auf deinem eigenen Rechner überprüft, du musst also niemandem vertrauen.", - "page-run-a-node-rasp-pi-title": "Eine Anmerkung zum Raspberry Pi (ARM-Prozessor)", - "page-run-a-node-rasp-pi-description": "Raspberry Pis sind leichte und erschwingliche Computer, aber sie haben Einschränkungen, die die Leistung deines Knotens beeinträchtigen können. Obwohl sie derzeit nicht für das Staking empfohlen werden, können sie eine hervorragende und kostengünstige Option für den Betrieb eines Knoten für den privaten Gebrauch sein, mit nur 4 - 8 GB RAM.", + "page-run-a-node-privacy-preview": "Beenden Sie die Weitergabe persönlicher Daten an Drittanbieter-Knotenpunkte.", + "page-run-a-node-privacy-1": "Wenn Sie Transaktionen über öffentliche Netzknoten senden, können persönliche Informationen wie Ihre IP-Adresse und die Ethereum-Adressen, die Du besitzen, an diese Dienste von Drittanbietern weitergegeben werden.", + "page-run-a-node-privacy-2": "Indem Sie kompatible Wallets auf Ihren eigenen Knotenpunkt verweisen, können Sie mit Ihrer Wallet privat und sicher mit der Blockchain interagieren.", + "page-run-a-node-privacy-3": "Und wenn ein böswilliger Netzknoten eine ungültige Transaktion verbreitet, wird Ihr Knotenpunkt sie einfach ignorieren. Jede Transaktion wird lokal auf ihrem eigenen Rechner überprüft, Sie müssen also niemandem vertrauen.", + "page-run-a-node-rasp-pi-title": "Eine Anmerkung zu Raspberry Pi (ARM-Prozessor)", + "page-run-a-node-rasp-pi-description": "Raspberry Pi's sind kleine und erschwingliche Computer, aber sie haben Einschränkungen, die die Leistung Ihres Knmotenpunkts beeinträchtigen können. Obwohl sie derzeit nicht für das Staking empfohlen werden, können sie eine hervorragende und kostengünstige Option für den Betrieb eines Knotenpunkts für den privaten Gebrauch sein, mit nur 4 - 8 GB RAM.", "page-run-a-node-rasp-pi-note-1-link": "DAppNode auf ARM", - "page-run-a-node-rasp-pi-note-1-description": "Siehe dir diese Anleitung an, wenn du DAppNode auf einem Raspberry Pi betreiben willst", - "page-run-a-node-rasp-pi-note-2-link": "Ethereum auf ARM Dokumentation", - "page-run-a-node-rasp-pi-note-2-description": "Lerne, wie du einen Knotenpunkt über die Kommandozeile auf einem Raspberry Pi einrichtest", - "page-run-a-node-rasp-pi-note-3-link": "Einen Knoten mit dem Raspberry Pi betreiben", - "page-run-a-node-rasp-pi-note-3-description": "Wenn du Tutorials bevorzugst, kannst du hier mitmachen", - "page-run-a-node-shop": "Kaufen", + "page-run-a-node-rasp-pi-note-1-description": "Sehen Sie sich diese Anleitung an, wenn Sie dAppNode auf einem Raspberry Pi betreiben wollen", + "page-run-a-node-rasp-pi-note-2-link": "Ethereum auf ARM-Dokumentation", + "page-run-a-node-rasp-pi-note-2-description": "Lernen Sie, wie ein Knotenpunkt über die Kommandozeile auf einem Raspberry Pi eingerichtet wird", + "page-run-a-node-rasp-pi-note-3-link": "Einen Knotenpunkt mit dem Raspberry Pi betreiben", + "page-run-a-node-rasp-pi-note-3-description": "Wenn Sie Tutorials bevorzugen, können Sie hier fortfahren", + "page-run-a-node-shop": "Shop", "page-run-a-node-shop-avado": "Avado kaufen", "page-run-a-node-shop-dappnode": "DAppNode kaufen", - "page-run-a-node-staking-title": "Stake deine ETH", - "page-run-a-node-staking-description": "Obwohl dies nicht erforderlich ist, bist du mit einem funktionierenden Knoten einen Schritt näher dran, deine ETH einzusetzen, um Belohnungen zu verdienen und zum anderen die Ethereum-Sicherheit zu unterstützen.", - "page-run-a-node-staking-link": "Stake ETH", - "page-run-a-node-staking-plans-title": "Planst du zu staken?", - "page-run-a-node-staking-plans-description": "Um die Effizienz deines Validierers zu maximieren, wird ein Minimum von 16 GB RAM empfohlen, besser sind jedoch 32 GB, und ein CPU-Benchmark-Ergebnis von 6667+ auf cpubenchmark.net. Es wird außerdem empfohlen, dass die Staker Zugang zu einer unbegrenzten Hochgeschwindigkeits-Internet-Bandbreite haben, obwohl dies keine absolute Voraussetzung ist.", - "page-run-a-node-staking-plans-ethstaker-link-label": "Wie man Ethereum Validator Hardware kauft", - "page-run-a-node-staking-plans-ethstaker-link-description": "EthStaker geht in diesem einstündigen Special noch mehr ins Detail", + "page-run-a-node-staking-title": "Staken Sie Ihr ETH", + "page-run-a-node-staking-description": "Obwohl dies nicht erforderlich ist, sind Sie mit einem funktionierenden Knotenpunkt einen Schritt näher dran, Ihre ETH einzusetzen, um Belohnungen zu verdienen und zum anderen die Ethereum-Sicherheit zu unterstützen.", + "page-run-a-node-staking-link": "ETH-Staking", + "page-run-a-node-staking-plans-title": "Planen Sie zu staken?", + "page-run-a-node-staking-plans-description": "Um die Effizienz Ihrer validierenden Hardware zu maximieren, wird ein Minimum von 16 GB RAM empfohlen, besser sind jedoch 32 GB, für ein CPU-Benchmark-Ergebnis von 6667+ auf cpubenchmark.net. Es wird außerdem empfohlen, dass Staker Zugang zu einer Hochgeschwindigkeits-Internet-Bandbreite Flatrate haben, obwohl dies keine absolute Voraussetzung ist.", + "page-run-a-node-staking-plans-ethstaker-link-label": "Wie man Ethereum validierende Hardware erwirbt", + "page-run-a-node-staking-plans-ethstaker-link-description": "EthStaker geht in diesem einstündigen Spezial noch mehr ins Detail", "page-run-a-node-sovereignty-title": "Souveränität", - "page-run-a-node-sovereignty-preview": "Betrachte den Betrieb eines Knoten als den nächsten Schritt nach dem Erwerb deiner eigenen Ethereum-Wallet.", - "page-run-a-node-sovereignty-1": "Eine Ethereum-Wallet ermöglicht es dir, deine digitalen Vermögenswerte vollständig zu verwahren und zu kontrollieren, indem du die privaten Schlüssel zu deinen Adressen besitzt, aber diese Schlüssel geben dir keinen Aufschluss über den aktuellen Stand der Blockchain, wie z. B. dein Wallet-Guthaben.", - "page-run-a-node-sovereignty-2": "Standardmäßig greifen Ethereum-Wallets auf einen Knoten eines Drittanbieters wie Infura oder Alchemy zu, wenn sie deinen Kontostand abfragen. Wenn du deinen eigenen Knoten betreibst, hast du deine eigene Kopie der Ethereum-Blockchain.", - "page-run-a-node-title": "Eine Node ausführen", - "page-run-a-node-voice-your-choice-title": "Treffe deine Entscheidung", - "page-run-a-node-voice-your-choice-preview": "Gib im Falle einer Gabelung nicht die Kontrolle auf.", - "page-run-a-node-voice-your-choice-1": "Im Falle einer Kettengabelung, bei der zwei Ketten mit zwei verschiedenen Regelwerken entstehen, garantiert der Betrieb deines eigenen Knotens, dass du wählen kannst, welches Regelwerk du unterstützt. Es liegt an dir, ob du auf neue Regeln umsteigst und die vorgeschlagenen Änderungen unterstützt oder nicht.", - "page-run-a-node-voice-your-choice-2": "Wenn du ETH einsetzt, kannst du mit deinem eigenen Knoten deinen eigenen Client wählen, um das Risiko des Slashings zu minimieren und auf die schwankenden Anforderungen des Netzwerks zu reagieren. Wenn du deinen Einsatz bei einem Dritten platzierst, verlierst du dein Stimmrecht bei der Wahl des Clients, der deiner Meinung nach die beste Wahl ist.", - "page-run-a-node-what-title": "Was bedeutet es, einen \"Knoten zu betreiben\"?", - "page-run-a-node-what-1-subtitle": "Starte die Software.", - "page-run-a-node-what-1-text": "Diese Software, auch \"Client\" genannt, lädt eine Kopie der Ethereum-Blockchain herunter, überprüft die Gültigkeit jedes Blocks und hält sie mit neuen Blöcken und Transaktionen auf dem neuesten Stand.", + "page-run-a-node-sovereignty-preview": "Betrachten Sie den Betrieb eines Knotenpunkts als den nächsten Schritt nach dem Erhalt Ihrer eigenen Ethereum-Wallet.", + "page-run-a-node-sovereignty-1": "Eine Ethereum-Wallet macht es möglich, Ihre digitalen Vermögenswerte vollständig zu verwahren und zu kontrollieren, indem Sie die privaten Schlüssel zu ihren Adressen besitzen. Jedoch geben Ihnen diese Schlüssel keinen Aufschluss über den aktuellen Stand der Blockchain, wie z. B. Ihr Wallet-Guthaben.", + "page-run-a-node-sovereignty-2": "Standardmäßig greifen Ethereum-Wallets auf einen Knotenpunkt eines Drittanbieters wie Infura oder Alchemy zu, wenn sie ihren Kontostand abfragen. Wenn Sie Ihren eigenen Knotenpunkt betreiben, haben Sie Ihre eigene Kopie der Ethereum-Blockchain.", + "page-run-a-node-title": "Einen Knotenpunkt betreiben", + "page-run-a-node-voice-your-choice-title": "Geben Sie Ihre Entscheidung bekannt", + "page-run-a-node-voice-your-choice-preview": "Geben Sie im Falle einer Netzwerkspaltung nicht die Kontrolle auf.", + "page-run-a-node-voice-your-choice-1": "Im Falle einer Netzwerkspaltung (Chain Fork), bei der zwei Ketten mit zwei verschiedenen Regelwerken entstehen, garantiert der Betrieb Ihres eigenen Knotenpunktes, dass Sie wählen können, welches Regelwerk Sie unterstützen. Es liegt an Ihnen, ob Sie auf neue Regeln umsteigen und die vorgeschlagenen Änderungen unterstützen oder nicht.", + "page-run-a-node-voice-your-choice-2": "Während des ETH-Stakings erlaubt der Betrieb eines eigenen Knotenpunkts die Auswahl Ihres eigenen Kunden, um das Risiko des Slashings zu minimieren und auf die schwankenden Anforderungen des Netzwerks zu reagieren. Durch das Staking mit einem Drittanbieter verlieren Sie das Stimmrecht bei der Wahl des Kunden, der Ihrer Meinung nach die beste Wahl ist.", + "page-run-a-node-what-title": "Was bedeutet es, einen „Knotenpunkt zu betreiben\"?", + "page-run-a-node-what-1-subtitle": "Software laufen lassen.", + "page-run-a-node-what-1-text": "Diese Software, auch „Kunde\" genannt, lädt eine Kopie der Ethereum-Blockchain herunter, überprüft die Gültigkeit jedes Blocks und hält sie mit neuen Blöcken und Transaktionen auf dem neuesten Stand.", "page-run-a-node-what-2-subtitle": "Mit Hardware.", - "page-run-a-node-what-2-text": "Ethereum ist so konzipiert, dass ein Knoten auf einem durchschnittlichen Computer der Verbraucherklasse läuft. Du kannst jeden beliebigen Computer verwenden, aber die meisten Nutzer/innen entscheiden sich dafür, ihren Knoten auf dedizierter Hardware zu betreiben, um die Auswirkungen auf die Leistung ihres Rechners zu eliminieren und die Ausfallzeiten des Knotens zu minimieren.", - "page-run-a-node-what-3-subtitle": "Während du online bist.", - "page-run-a-node-what-3-text": "Einen Ethereum-Knoten zu betreiben, mag sich zunächst kompliziert anhören, ist aber nichts anderes als die kontinuierliche Ausführung einer Client-Software auf einem Computer, der mit dem Internet verbunden ist. Wenn dein Knoten offline ist, ist er einfach inaktiv, bis er wieder online ist und die neuesten Änderungen mitbekommt.", + "page-run-a-node-what-2-text": "Ethereum ist so konzipiert, dass ein Knotenpunkt auf einem durchschnittlichen Computer der Verbraucherklasse läuft. Man kann jeden beliebigen Computer verwenden, aber die meisten Nutzer:innen entscheiden sich dafür, ihren Knotenpunkt auf spezieller Hardware zu betreiben, um die Auswirkungen auf die Leistung ihres Rechners zu eliminieren und die Ausfallzeiten des Knotenpunkts zu minimieren.", + "page-run-a-node-what-3-subtitle": "Während man online ist.", + "page-run-a-node-what-3-text": "Einen Ethereum-Knotenpunkt zu betreiben, mag sich zunächst kompliziert anhören, ist aber nichts anderes als die kontinuierliche Ausführung einer Kunden-Software auf einem Computer, der mit dem Internet verbunden ist. Wenn Ihr Knotenpunkt offline ist, ist er einfach inaktiv, bis er wieder online ist und mit den neuesten Änderungen aktualisiert wird.", "page-run-a-node-who-title": "Wer sollte einen Knotenpunkt betreiben?", - "page-run-a-node-who-preview": "Alle! Knoten sind nicht nur für Miner und Validierer. Jede/r kann einen Knoten betreiben - du brauchst nicht einmal ETH.", - "page-run-a-node-who-copy-1": "Um einen Knoten zu betreiben, musst du weder ETH besitzen noch ein Miner sein. Vielmehr ist es jeder andere Knotenpunkt auf Ethereum, der Miner und Validierer zur Rechenschaft zieht.", - "page-run-a-node-who-copy-2": "Du bekommst vielleicht nicht die finanziellen Belohnungen, die Validatoren und Miner verdienen, aber es gibt viele andere Vorteile, die jeder Ethereum-Nutzer in Betracht ziehen sollte, wenn er einen Knoten betreibt, darunter Datenschutz, Sicherheit, geringere Abhängigkeit von Servern Dritter, Zensurresistenz und verbesserte Gesundheit und Dezentralisierung des Netzwerks.", - "page-run-a-node-who-copy-3": "Ein eigener Knotenpunkt bedeutet, dass du dich nicht auf Informationen über den Zustand des Netzwerks verlassen musst, die von einer dritten Partei bereitgestellt werden.", - "page-run-a-node-who-copy-bold": "Vertraue nicht. Überprüfe.", + "page-run-a-node-who-preview": "An alle! Knotenpunkte sind nicht nur für Miner und Validatoren. Jede/r kann einen Knotenpunkt betreiben - Man braucht nicht einmal ETH.", + "page-run-a-node-who-copy-1": "Um einen Knotenpunkt zu betreiben, müssen Sie weder ETH besitzen noch ein Miner sein. Vielmehr ist es jeder andere Knotenpunkt auf Ethereum, der Miner und Validatoren in die Verantwortung nimmt.", + "page-run-a-node-who-copy-2": "Sie bekommen vielleicht nicht die finanziellen Belohnungen, die Validatoren und Miner verdienen, aber es gibt viele andere Vorteile, die jeder Ethereum-Nutzer in Betracht ziehen sollte, wenn er einen Knotenpunkt betreibt. Dazu zählen Datenschutz, Sicherheit, geringere Abhängigkeit von Servern Dritter, Zensurresistenz und verbesserter Zustand und Dezentralisierung des Netzwerks.", + "page-run-a-node-who-copy-3": "Ein eigener Knotenpunkt bedeutet, dass Sie sich nicht auf Informationen über den Zustand des Netzwerks verlassen müssen, die von einer dritten Partei bereitgestellt werden.", + "page-run-a-node-who-copy-bold": "Nicht vertrauen. Überprüfen.", "page-run-a-node-why-title": "Warum einen Knotenpunkt betreiben?" } diff --git a/src/intl/de/page-stablecoins.json b/src/intl/de/page-stablecoins.json index b480d806d38..fe39c5ffc9e 100644 --- a/src/intl/de/page-stablecoins.json +++ b/src/intl/de/page-stablecoins.json @@ -1,72 +1,72 @@ { - "page-stablecoins-accordion-borrow-crypto-collateral": "Crypto-Sicherheit", - "page-stablecoins-accordion-borrow-crypto-collateral-copy": "Mit Ethereum kannst du direkt von anderen Benutzern leihen, ohne dein ETH zu verlieren. Dies kann als Hebelwirkung dienen – einige tun dies, um mehr ETH anzuhäufen.", - "page-stablecoins-accordion-borrow-crypto-collateral-copy-p2": "Da der Preis von ETH jedoch volatil ist, musst du dich überbesichern. Wenn du dir also 100 Stablecoins leihen willst, brauchst du wahrscheinlich mindestens ETH im Wert von 150 USD. Dies schützt das System und die Kreditgeber.", + "page-stablecoins-accordion-borrow-crypto-collateral": "Krypto-Sicherheit", + "page-stablecoins-accordion-borrow-crypto-collateral-copy": "Mit Ethereum können Sie direkt von anderen Benutzern leihen, ohne Ihr ETH zu verlieren. Dies kann als Hebelwirkung dienen – einige tun dies, um mehr ETH anzuhäufen.", + "page-stablecoins-accordion-borrow-crypto-collateral-copy-p2": "Da der Preis von ETH jedoch volatil ist, müssen Sie sich überbesichern. Wenn Sie Dir also 100 Stablecoins leihen wollen, brauchen Sie wahrscheinlich mindestens ETH im Wert von 150 USD. Dies schützt das System und die Kreditgeber.", "page-stablecoins-accordion-borrow-crypto-collateral-link": "Mehr zu kryptogestützten Stablecoins", "page-stablecoins-accordion-borrow-pill": "Fortgeschritten", - "page-stablecoins-accordion-borrow-places-intro": "Mit diesen dApps kannst du Stablecoins mit Hilfe von Krypto als Sicherheiten ausleihen. Einige akzeptieren auch andere Token sowie ETH.", + "page-stablecoins-accordion-borrow-places-intro": "Mit diesen dApps können Sie Stablecoins mithilfe von Krypto als Sicherheiten ausleihen. Einige akzeptieren auch andere Token sowie ETH.", "page-stablecoins-accordion-borrow-places-title": "Webseiten zum Ausleihen von Stablecoins", "page-stablecoins-accordion-borrow-requirement-1": "Eine Ethereum-Wallet", - "page-stablecoins-accordion-borrow-requirement-1-description": "Du benötigst eine Wallet, um eine dApp verwenden zu können", + "page-stablecoins-accordion-borrow-requirement-1-description": "Sie benötigen eine Wallet, um eine dApp verwenden zu können", "page-stablecoins-accordion-borrow-requirement-2": "Ether (ETH)", - "page-stablecoins-accordion-borrow-requirement-2-description": "Du benötigst ETH für Sicherheiten und/oder Transaktionsgebühren", - "page-stablecoins-accordion-borrow-requirements-description": "Um Stablecoins ausleihen zu können, benötigst du die richtige dApp. Du brauchst außerdem eine Wallet und ein paar ETH.", - "page-stablecoins-accordion-borrow-risks-copy": "Wenn du ETH als Sicherheit verwendest und es an Wert verliert, werden deine Sicherheiten nicht die von dir erzeugten Stablecoins abdecken. Dadurch wird dein ETH liquidiert und du wirst möglicherweise mit einer Strafe belegt. Falls du also Stablecoins ausleihst, musst du den ETH-Preis beobachten.", + "page-stablecoins-accordion-borrow-requirement-2-description": "Sie benötigen ETH für Sicherheiten und/oder Transaktionsgebühren", + "page-stablecoins-accordion-borrow-requirements-description": "Um Stablecoins ausleihen zu können, benötigen Sie die richtige Dapp. Sie brauchen außerdem eine Brieftasche und ein paar ETH.", + "page-stablecoins-accordion-borrow-risks-copy": "Wenn Sie ETH als Sicherheit verwenden und es an Wert verliert, werden Ihre Sicherheiten nicht die von Ihnen erzeugten Stablecoins abdecken. Dadurch wird Ihr ETH liquidiert und Sie werden möglicherweise mit einer Strafe belegt. Falls Sie also Stablecoins ausleihen, müssen Sie den ETH-Preis beobachten.", "page-stablecoins-accordion-borrow-risks-link": "Neuester ETH-Preis", "page-stablecoins-accordion-borrow-risks-title": "Risiken", - "page-stablecoins-accordion-borrow-text-preview": "Du kannst manche Stablecoins ausleihen, indem du Kryptowährungen als Sicherheiten verwendest, die du zurückzahlen musst.", + "page-stablecoins-accordion-borrow-text-preview": "Sie können manche Stablecoins ausleihen, indem Sie Kryptowährungen als Sicherheiten verwenden, die Sie zurückzahlen müssen.", "page-stablecoins-accordion-borrow-title": "Ausleihen", "page-stablecoins-accordion-buy-exchanges-title": "Beliebte Börsen", "page-stablecoins-accordion-buy-requirement-1": "Krypto-Börsen und -Wallets", - "page-stablecoins-accordion-buy-requirement-1-description": "Überprüfe, welche Dienste du nutzen kannst, je nachdem, wo du wohnst", - "page-stablecoins-accordion-buy-requirements-description": "Ein Konto mit einer Börse oder einer Wallet, wo du direkt Krypto kaufen kannst. Womöglich hast du bereits eine benutzt, um ETH zu erwerben. Sieh dir an, welche Leistungen du an deinem Wohnort in Anspruch nehmen kannst.", + "page-stablecoins-accordion-buy-requirement-1-description": "Überprüfen Sie, welche Dienste Sie nutzen können, je nachdem, wo Sie wohnen", + "page-stablecoins-accordion-buy-requirements-description": "Ein Konto mit einer Börse oder einer Wallet, wo Sie direkt Krypto kaufen können. Womöglich haben Sie bereits eine benutzt, um ETH zu erwerben. Sehen Sie sich an, welche Leistungen Sie an Ihrem Wohnort in Anspruch nehmen können.", "page-stablecoins-accordion-buy-text-preview": "Viele Börsen und Wallets erlauben den direkten Kauf von Stablecoins. Dabei gelten geografische Einschränkungen.", "page-stablecoins-accordion-buy-title": "Kaufen", - "page-stablecoins-accordion-buy-warning": "Zentralisierte Börsen führen wahrscheinlich nur fiat-unterstützte Stablecoins wie USDC, Tether und ähnliche. Möglicherweise kannst du sie dort nicht direkt erwerben, allerdings solltest du sie mit ETH oder anderen Kryptowährungen handeln können, die du auf diesen Plattformen kaufen kannst.", + "page-stablecoins-accordion-buy-warning": "Zentralisierte Börsen führen wahrscheinlich nur von Papiergeld unterstützte Stablecoins wie USDC, Tether und ähnliche. Möglicherweise können Sie sie dort nicht direkt erwerben, allerdings sollten Sie sie mit ETH oder anderen Kryptowährungen handeln können, die Sie auf diesen Plattformen kaufen können.", "page-stablecoins-accordion-earn-project-1-description": "Hauptsächlich technische Arbeit für die Open-Source-Software-Bewegung.", "page-stablecoins-accordion-earn-project-2-description": "Technologien, Inhalte und andere Produkte für die MakerDao-Community (das Team, das uns Dai gebracht hat).", - "page-stablecoins-accordion-earn-project-3-description": "Wenn du wirklich Ahnung hast, dann finde Bugs, um Dai zu verdienen.", + "page-stablecoins-accordion-earn-project-3-description": "Wenn Sie wirklich Ahnung haben, dann finden Sie Bugs, um Dai zu verdienen.", "page-stablecoins-accordion-earn-project-bounties": "Gitcoin-Prämien", "page-stablecoins-accordion-earn-project-bug-bounties": "Konsensebene Fehlerprämie", "page-stablecoins-accordion-earn-project-community": "MakerDao-Community", - "page-stablecoins-accordion-earn-projects-copy": "Diese Plattformen zahlen dir Stablecoins für deine Arbeit.", + "page-stablecoins-accordion-earn-projects-copy": "Diese Plattformen zahlen Ihnen Stablecoins für Ihre Arbeit.", "page-stablecoins-accordion-earn-projects-title": "Wo man Stablecoins verdienen kann", "page-stablecoins-accordion-earn-requirement-1": "Eine Ethereum-Wallet", - "page-stablecoins-accordion-earn-requirement-1-description": "Du brauchst eine Wallet, um verdiente Stablecoins empfangen zu können", - "page-stablecoins-accordion-earn-requirements-description": "Stablecoins sind eine großartige Zahlungsmethode für Arbeit und Dienstleistungen, da der Wert stabil bleibt. Du benötigst jedoch eine Wallet, um bezahlt zu werden.", - "page-stablecoins-accordion-earn-text-preview": "Du kannst Stablecoins verdienen, indem du an Projekten innerhalb des Ökosystems Ethereum arbeitest.", + "page-stablecoins-accordion-earn-requirement-1-description": "Sie brauchen eine Wallet, um verdiente Stablecoins empfangen zu können", + "page-stablecoins-accordion-earn-requirements-description": "Stablecoins sind eine großartige Zahlungsmethode für Arbeit und Dienstleistungen, da der Wert stabil bleibt. Sie benötigen jedoch eine Wallet, um bezahlt zu werden.", + "page-stablecoins-accordion-earn-text-preview": "Sie können Stablecoins verdienen, indem Sie an Projekten innerhalb des Ökosystems Ethereum arbeiten.", "page-stablecoins-accordion-earn-title": "Verdienen", "page-stablecoins-accordion-less": "Weniger", "page-stablecoins-accordion-more": "Mehr", - "page-stablecoins-accordion-requirements": "Was du brauchst", - "page-stablecoins-accordion-swap-dapp-intro": "Wenn du bereits eine Wallet und ETH hast, kannst du diese dApps benutzen, um Stablecoins einzutauschen.", + "page-stablecoins-accordion-requirements": "Was Sie brauchen", + "page-stablecoins-accordion-swap-dapp-intro": "Wenn Sie bereits eine Wallet und ETH haben, können Sie diese dApps benutzen, um Stablecoins einzutauschen.", "page-stablecoins-accordion-swap-dapp-link": "Mehr über dezentralisierte Börsen", "page-stablecoins-accordion-swap-dapp-title": "DApps zum Token-Austausch", "page-stablecoins-accordion-swap-editors-tip": "Tipp der Redakteure", "page-stablecoins-accordion-swap-editors-tip-button": "Wallets finden", - "page-stablecoins-accordion-swap-editors-tip-copy": "Besorge dir eine Wallet, mit der du direkt ETH kaufen und es für andere Tokens eintauschen kannst, inklusive Stablecoins.", + "page-stablecoins-accordion-swap-editors-tip-copy": "Besorgen Sie sich eine Wallet, mit der Sie direkt ETH kaufen und es für andere Tokens eintauschen können, inklusive Stablecoins.", "page-stablecoins-accordion-swap-pill": "Empfohlen", "page-stablecoins-accordion-swap-requirement-1": "Eine Ethereum-Wallet", - "page-stablecoins-accordion-swap-requirement-1-description": "Du brauchst eine Wallet, um einen Austausch zu autorisieren und deine Coins aufzubewahren", + "page-stablecoins-accordion-swap-requirement-1-description": "Sie brauchen eine Wallet, um einen Austausch zu autorisieren und Ihre Coins aufzubewahren", "page-stablecoins-accordion-swap-requirement-2": "Ether (ETH)", "page-stablecoins-accordion-swap-requirement-2-description": "Um für den Austausch zu bezahlen", - "page-stablecoins-accordion-swap-text-preview": "Die meisten Stablecoins kannst du auf dezentralisierten Börsen finden. So kannst du die Token, die du hast, gegen jegliche Stablecoins eintauschen.", + "page-stablecoins-accordion-swap-text-preview": "Die meisten Stablecoins können Sie auf dezentralisierten Börsen finden. So können Sie die Token, die Sie haben, gegen jegliche Stablecoins eintauschen.", "page-stablecoins-accordion-swap-title": "Tauschen", "page-stablecoins-algorithmic": "Algorithmisch", - "page-stablecoins-algorithmic-con-1": "Du musst dem Algorithmus vertrauen (oder ihn lesen können).", - "page-stablecoins-algorithmic-con-2": "Dein Guthaben an Coins ändert sich je nach Gesamtangebot.", - "page-stablecoins-algorithmic-description": "Diese Stablecoins sind nicht durch einen anderen Vermögenswert gedeckt. Stattdessen wird ein Algorithmus Token verkaufen, wenn der Preis unter den gewünschten Wert fällt, und Token liefern, wenn der Wert über den gewünschten Betrag hinausgeht. Da sich die Anzahl dieser Token im Umlauf regelmäßig ändert, wird sich die Anzahl der Token, die du besitzt, ändern, aber immer deinen Anteil widerspiegeln.", + "page-stablecoins-algorithmic-con-1": "Sie müssen dem Algorithmus vertrauen (oder ihn lesen können).", + "page-stablecoins-algorithmic-con-2": "Ihr Guthaben an Coins ändert sich je nach Gesamtangebot.", + "page-stablecoins-algorithmic-description": "Diese Stablecoins sind nicht durch einen anderen Vermögenswert gedeckt. Stattdessen wird ein Algorithmus Token verkaufen, wenn der Preis unter den gewünschten Wert fällt, und Token liefern, wenn der Wert über den gewünschten Betrag hinausgeht. Da sich die Anzahl dieser Token im Umlauf regelmäßig ändert, wird sich die Anzahl der Token, die Sie besitzen, ändern, aber immer Ihren Anteil widerspiegeln.", "page-stablecoins-algorithmic-pro-1": "Keine Sicherheiten notwendig.", "page-stablecoins-algorithmic-pro-2": "Kontrolliert durch einen öffentlichen Algorithmus.", "page-stablecoins-bank-apy": "0,05 %", "page-stablecoins-bank-apy-source": "Der durchschnittliche Zinssatz, der von Banken für einfache, staatlich versicherte Sparkonten gezahlt wird, USA.", "page-stablecoins-bank-apy-source-link": "Quelle", "page-stablecoins-bitcoin-pizza": "Die berüchtigte Bitcoin-Pizza", - "page-stablecoins-bitcoin-pizza-body": "Im Jahr 2010 kaufte jemand 2 Pizzen für 10.000 Bitcoins. Zu der Zeit waren diese ~ 41 USD wert. Auf dem heutigen Markt sind das Millionen von Dollar. Es gibt viele ähnliche bedauerliche Transaktionen in der Geschichte von Ethereum. Stablecoins lösen dieses Problem, so dass du deine Pizza genießen und an deinen ETH festhalten kannst.", + "page-stablecoins-bitcoin-pizza-body": "Im Jahr 2010 kaufte jemand 2 Pizzen für 10.000 Bitcoins. Zu der Zeit waren diese ~ 41 USD wert. Auf dem heutigen Markt sind das Millionen von Dollar. Es gibt viele ähnliche bedauerliche Transaktionen in der Geschichte von Ethereum. Stablecoins lösen dieses Problem, sodass Sie Ihre Pizza genießen und an Ihren ETH festhalten können.", "page-stablecoins-coin-price-change": "Coin-Preisänderung (letzte 30 Tage)", "page-stablecoins-crypto-backed": "Krypto-unterstützt", - "page-stablecoins-crypto-backed-con-1": "Weniger stabil als fiat-unterstützte Stablecoins.", - "page-stablecoins-crypto-backed-con-2": "Du musst den Wert der Crypto-Sicherheiten im Auge behalten.", + "page-stablecoins-crypto-backed-con-1": "Weniger stabil als von Papiergeld unterstützte Stablecoins.", + "page-stablecoins-crypto-backed-con-2": "Sie müssen den Wert der Krypto-Sicherheiten im Auge behalten.", "page-stablecoins-crypto-backed-description": "Diese Stablecoins sind durch andere Krypto-Vermögenswerte, wie ETH, abgesichert. Ihr Preis hängt vom Wert des zugrunde liegenden Vermögenswerts (oder der Sicherheit) ab, der volatil sein kann. Da der Wert von ETH schwanken kann, sind diese Stablecoins überbesichert, um sicherzustellen, dass der Preis so stabil wie möglich bleibt. Das bedeutet, dass ein Stablecoin im Wert von 1 USD, der mit Kryptowährungen unterlegt ist, einen zugrundeliegenden Krypto-Vermögenswert im Wert von mindestens 2 USD hat. Wenn also der Preis von ETH fällt, muss mehr ETH verwendet werden, um den Stablecoin zu unterlegen, sonst verlieren die Stablecoins ihren Wert.", "page-stablecoins-crypto-backed-pro-1": "Transparent und vollständig dezentralisiert.", "page-stablecoins-crypto-backed-pro-2": "Schnell in andere Crypto-Assets umwandelbar.", @@ -79,15 +79,15 @@ "page-stablecoins-editors-choice": "Auswahl des Editors", "page-stablecoins-editors-choice-intro": "Dies sind momentan wahrscheinlich die bekanntesten Beispiele für Stablecoins und die Coins, die wir bei der Verwendung von dApps als nützlich empfunden haben.", "page-stablecoins-explore-dapps": "Entdecke dapps", - "page-stablecoins-fiat-backed": "Fiat-unterstützt", + "page-stablecoins-fiat-backed": "Von Papiergeld unterstützt", "page-stablecoins-fiat-backed-con-1": "Zentralisiert – jemand muss die Token herausgeben.", "page-stablecoins-fiat-backed-con-2": "Erfordert eine Prüfung, um sicherzustellen, dass das Unternehmen über ausreichende Reserven verfügt.", - "page-stablecoins-fiat-backed-description": "Quasi ein IOU (I owe you/Ich schulde dir) für traditionelle Fiat-Währungen (für gewöhnlich der Dollar). Du verwendest deine Fiat-Währung, um einen Stablecoin zu kaufen, den du später einlösen und gegen die ursprüngliche Währung eintauschen kannst.", + "page-stablecoins-fiat-backed-description": "Quasi ein IOU (I owe you/Ich schulde dir) für traditionelle Fiat-Währungen (für gewöhnlich der Dollar). Sie verwenden Ihre Papiergeldwährung, um einen Stablecoin zu kaufen, den Sie später einlösen und gegen die ursprüngliche Währung eintauschen können.", "page-stablecoins-fiat-backed-pro-1": "Sicher vor Krypto-Volatilität.", "page-stablecoins-fiat-backed-pro-2": "Preisänderungen sind minimal.", - "page-stablecoins-find-stablecoin": "Finde eine Stablecoin", + "page-stablecoins-find-stablecoin": "Finden Sie eine Stablecoin", "page-stablecoins-find-stablecoin-how-to-get-them": "Wie man Stablecoins erwirbt", - "page-stablecoins-find-stablecoin-intro": "Es sind Hunderte von Stablecoins verfügbar. Hier sind einige, um dir den den Einstieg zu erleichtern. Wenn du neu bei Ethereum bist, empfehlen wir, zuerst etwas Recherche zu betreiben.", + "page-stablecoins-find-stablecoin-intro": "Es sind Hunderte von Stablecoins verfügbar. Hier sind einige, um Ihnen den Einstieg zu erleichtern. Wenn Sie neu bei Ethereum sind, empfehlen wir, zuerst etwas Recherche zu betreiben.", "page-stablecoins-find-stablecoin-types-link": "Verschiedene Arten von Stablecoins", "page-stablecoins-get-stablecoins": "Wie man Stablecoins erwirbt", "page-stablecoins-hero-alt": "Die drei größten Stablecoins nach Börsenwert: Dai, USDC und Tether.", @@ -98,28 +98,28 @@ "page-stablecoins-meta-description": "Eine Einführung in Ethereum-Stablecoins: was sie sind, wie man sie bekommt und warum sie wichtig sind.", "page-stablecoins-precious-metals": "Edelmetalle", "page-stablecoins-precious-metals-con-1": "Zentralisiert – jemand muss die Token herausgeben.", - "page-stablecoins-precious-metals-con-2": "Du musst dem Token-Herausgeber und den Edelmetallreserven vertrauen.", - "page-stablecoins-precious-metals-description": "Wie fiat-gestützte Münzen verwenden diese Stablecoins stattdessen Ressourcen wie Gold, um ihren Wert zu erhalten.", + "page-stablecoins-precious-metals-con-2": "Sie müssen dem Token-Herausgeber und den Edelmetallreserven vertrauen.", + "page-stablecoins-precious-metals-description": "Wie von Papiergeld gestützte Münzen verwenden diese Stablecoins stattdessen Ressourcen wie Gold, um ihren Wert zu erhalten.", "page-stablecoins-precious-metals-pro-1": "Sicher vor Krypto-Volatilität.", "page-stablecoins-prices": "Stablecoin-Preise", "page-stablecoins-prices-definition": "Stablecoins sind Kryptowährungen ohne die Volatilität. Sie teilen viele der gleichen Kräfte wie ETH, aber ihr Wert ist beständig, eher wie eine traditionelle Währung. So haben Sie Zugang zu stabilem Geld, das Sie auf Ethereum verwenden können. ", "page-stablecoins-prices-definition-how": "Wie Stablecoins stabil bleiben", - "page-stablecoins-research-warning": "Ethereum ist eine neue Technologie und die meisten Anwendungen sind neu. Stelle sicher, dass du dir des Risikos bewusst bist und nur das einzahlst, was du dir leisten kannst, zu verlieren.", - "page-stablecoins-research-warning-title": "Informiere dich immer ausgiebig selbst", + "page-stablecoins-research-warning": "Ethereum ist eine neue Technologie und die meisten Anwendungen sind neu. Stellen Sie sicher, dass Sie sich des Risikos bewusst sind und nur das einzahlen, was Sie sich leisten können, zu verlieren.", + "page-stablecoins-research-warning-title": "Informieren Sie sich immer ausgiebig selbst", "page-stablecoins-save-stablecoins": "Mit Stablecoins auf der sicheren Seite", - "page-stablecoins-save-stablecoins-body": "Stablecoins haben oft einen überdurchschnittlich hohen Zinssatz, weil es eine große Nachfrage gibt, sie zu leihen. Es gibt dApps, die dich Zinsen auf deine Stablecoins in Echtzeit verdienen lassen, indem du sie in einen Leihpool einzahlst. Genau wie in der Bankenwelt stellst du Token für Kreditnehmer zur Verfügung, aber du kannst Token und Ihre Zinsen jederzeit wieder abheben.", - "page-stablecoins-saving": "Mache von deinen Stablecoin-Ersparnissen guten Gebrauch und verdiene ein paar Zinsen. Wie alles in der Kryptowährungsbranche können sich die prognostizierten jährlichen prozentualen Renditen (APY) täglich ändern, abhängig von Angebot und Nachfrage in Echtzeit.", - "page-stablecoins-stablecoins-dapp-callout-description": "Wirf einen Blick auf die dApps von Ethereum – Stablecoins sind häufig nützlicher für alltägliche Transkationen.", + "page-stablecoins-save-stablecoins-body": "Stablecoins haben oft einen überdurchschnittlich hohen Zinssatz, weil es eine große Nachfrage gibt, sie zu leihen. Es gibt dApps, die Sie Zinsen auf Ihre Stablecoins in Echtzeit verdienen lassen, indem Sie sie in einen Leihpool einzahlen. Genau wie in der Bankenwelt stellen Sie Token für Kreditnehmer zur Verfügung, aber Sie können Token und Ihre Zinsen jederzeit wieder abheben.", + "page-stablecoins-saving": "Machen Sie von Ihren Stablecoin-Ersparnissen guten Gebrauch und verdienen Sie ein paar Zinsen. Wie alles in der Kryptowährungsbranche können sich die prognostizierten jährlichen prozentualen Renditen (APY) täglich ändern, abhängig von Angebot und Nachfrage in Echtzeit.", + "page-stablecoins-stablecoins-dapp-callout-description": "Werfen Sie einen Blick auf die dApps von Ethereum – Stablecoins sind häufig nützlicher für alltägliche Transaktionen.", "page-stablecoins-stablecoins-dapp-callout-image-alt": "Abbildung eines Doges.", - "page-stablecoins-stablecoins-dapp-callout-title": "Nutze deine Stablecoins", + "page-stablecoins-stablecoins-dapp-callout-title": "Nutzen Sie Ihre Stablecoins", "page-stablecoins-stablecoins-dapp-description-1": "Märkte für viele Stablecoins, darunter Dai, USDC, TUSD, USDT und mehr. ", - "page-stablecoins-stablecoins-dapp-description-2": "Verleihe Stablecoins und verdiene Zinsen und $COMP, Compounds eigenes Token.", - "page-stablecoins-stablecoins-dapp-description-3": "Eine Handelsplattform, auf der du Zinsen auf deine Dai und USDC verdienen kannst.", + "page-stablecoins-stablecoins-dapp-description-2": "Verleihen Sie Stablecoins und verdienen Sie Zinsen und $COMP, Compounds eigenes Token.", + "page-stablecoins-stablecoins-dapp-description-3": "Eine Handelsplattform, auf der Sie Zinsen auf Ihre Dai und USDC verdienen können.", "page-stablecoins-stablecoins-dapp-description-4": "Eine App zum Speichern von Dai.", - "page-stablecoins-stablecoins-feature-1": "Stablecoins sind global und können über das Internet versendet werden. Sie sind einfach zu empfangen oder zu senden, sobald du ein Ethereum-Konto hast.", - "page-stablecoins-stablecoins-feature-2": "Die Nachfrage nach Stablecoins ist hoch, du kannst also Zinsen durch das Verleihen verdienen. Stelle sicher, dass du dir der Risiken bewusst bist, bevor du etwas verleihst.", + "page-stablecoins-stablecoins-feature-1": "Stablecoins sind global und können über das Internet versendet werden. Sie sind einfach zu empfangen oder zu senden, sobald Sie ein Ethereum-Konto haben.", + "page-stablecoins-stablecoins-feature-2": "Die Nachfrage nach Stablecoins ist hoch, Sie können also Zinsen durch das Verleihen verdienen. Stellen Sie sicher, dass Sie sich der Risiken bewusst sind, bevor Sie etwas verleihen.", "page-stablecoins-stablecoins-feature-3": "Stablecoins sind gegen ETH und andere Ethereum-Token tauschbar. Viele dApps setzen auf Stablecoins.", - "page-stablecoins-stablecoins-feature-4": "Stablecoins sind durch Kryptographie gesichert. Niemand kann Transaktionen in deinem Namen fälschen.", + "page-stablecoins-stablecoins-feature-4": "Stablecoins sind durch Kryptographie gesichert. Niemand kann Transaktionen in Ihrem Namen fälschen.", "page-stablecoins-stablecoins-meta-description": "Eine Einführung in Ethereum-Stablecoins: was sie sind, wie man sie bekommt und warum sie wichtig sind.", "page-stablecoins-stablecoins-table-header-column-1": "Währung", "page-stablecoins-stablecoins-table-header-column-2": "Marktkapitalisierung", @@ -127,20 +127,20 @@ "page-stablecoins-stablecoins-table-type-crypto-backed": "Krypto", "page-stablecoins-stablecoins-table-type-fiat-backed": "Fiat", "page-stablecoins-stablecoins-table-type-precious-metals-backed": "Edelmetalle", - "page-stablecoins-table-error": "Stablecoins konnten nicht geladen werden. Versuche, die Seite zu aktualisieren.", + "page-stablecoins-table-error": "Stablecoins konnten nicht geladen werden. Versuchen Sie, die Seite zu aktualisieren.", "page-stablecoins-table-loading": "Stablecoin-Daten werden geladen...", "page-stablecoins-title": "Stablecoins", "page-stablecoins-top-coins": "Top-Stablecoins nach Marktkapitalisierung", "page-stablecoins-top-coins-intro": "Marktkapitalisierung ist", "page-stablecoins-top-coins-intro-code": "die Gesamtzahl der vorhandenen Token multipliziert mit dem Wert pro Token. Diese Liste ist dynamisch und die hier aufgeführten Projekte werden nicht unbedingt vom ethereum.org-Team unterstützt.", "page-stablecoins-types-of-stablecoin": "So funktionieren sie: Arten von Stablecoins", - "page-stablecoins-usdc-banner-body": "USDC ist wahrscheinlich die berühmteste fiat-gestützte Stablecoin. Ihr Wert ist ungefähr ein Dollar und wird von Circle und Coinbase unterstützt.", + "page-stablecoins-usdc-banner-body": "USDC ist wahrscheinlich die berühmteste von Papiergeld gestützte Stablecoin. Ihr Wert ist ungefähr ein Dollar und wird von Circle und Coinbase unterstützt.", "page-stablecoins-usdc-banner-learn-button": "Weitere Infos über USDC", "page-stablecoins-usdc-banner-swap-button": "ETH gegen USDC eintauschen", "page-stablecoins-usdc-banner-title": "USDC", "page-stablecoins-usdc-logo": "Das USDC-Logo", "page-stablecoins-why-stablecoins": "Wieso Stablecoins?", "page-stablecoins-how-they-work-button": "Wie sie funktionieren", - "page-stablecoins-why-stablecoins-body": "ETH, wie auch Bitcoin, hat einen volatilen Preis, weil es eine neue Technologie ist. Daher möchtest du es vielleicht nicht regelmäßig ausgeben. Stablecoins spiegeln den Wert traditioneller Währungen, um dir Zugang zu stabilem Geld zu geben, das du auf Ethereum verwenden kannst.", + "page-stablecoins-why-stablecoins-body": "ETH, wie auch Bitcoin, hat einen volatilen Preis, weil es eine neue Technologie ist. Daher möchten Sie es vielleicht nicht regelmäßig ausgeben. Stablecoins spiegeln den Wert traditioneller Währungen, um Ihnen Zugang zu stabilem Geld zu geben, das Sie auf Ethereum verwenden können.", "page-stablecoins-more-defi-button": "Mehr zu dezentralisierten Finanzen (DeFi)" } diff --git a/src/intl/de/page-wallets-find-wallet.json b/src/intl/de/page-wallets-find-wallet.json index febde6e7bc7..7319194023b 100644 --- a/src/intl/de/page-wallets-find-wallet.json +++ b/src/intl/de/page-wallets-find-wallet.json @@ -1,11 +1,11 @@ { - "page-find-wallet-add-wallet": ". Wenn du uns eine Wallet hinzufügen lassen möchtest,", + "page-find-wallet-add-wallet": ". Wenn Sie uns eine Wallet hinzufügen lassen möchten,", "page-find-wallet-airgap-logo-alt": "Das AirGap-Logo", "page-find-wallet-alpha-logo-alt": "AlphaWallet-Logo", "page-find-wallet-ambo-logo-alt": "Ambo-Logo", "page-find-wallet-argent-logo-alt": "Argent-Logo", - "page-find-wallet-buy-card": "Kaufe Krypto mit einer Bankkarte", - "page-find-wallet-buy-card-desc": "Kaufe ETH direkt mit deiner Wallet und einer Bankkarte. Geografische Einschränkungen können gelten.", + "page-find-wallet-buy-card": "Kaufen Sie Krypto mit einer Bankkarte", + "page-find-wallet-buy-card-desc": "Kaufen Sie ETH direkt mit Ihrer Wallet und einer Bankkarte. Geografische Einschränkungen können gelten.", "page-find-wallet-card-yes": "Ja", "page-find-wallet-card-no": "Nein", "page-find-wallet-card-go": "Los", @@ -18,85 +18,85 @@ "page-find-wallet-card-has-bank-withdraws": "Zur Bank abheben", "page-find-wallet-card-has-card-deposits": "ETH mit Karte kaufen", "page-find-wallet-card-has-defi-integration": "Zugang zu DeFi", - "page-find-wallet-card-has-explore-dapps": "Entdecke dApps", + "page-find-wallet-card-has-explore-dapps": "Entdecken Sie dApps", "page-find-wallet-card-has-dex-integrations": "Token tauschen", "page-find-wallet-card-has-high-volume-purchases": "In großen Mengen kaufen", "page-find-wallet-card-has-limits-protection": "Transaktionslimits", "page-find-wallet-card-has-multisig": "Multi-Sig-Schutz", - "page-find-wallet-checkout-dapps": "Schaue dir dApps an", + "page-find-wallet-checkout-dapps": "Schauen Sie sich dApps an", "page-find-wallet-clear": "Filter aufheben", "page-find-wallet-coinbase-logo-alt": "Coinbase-Logo", "page-find-wallet-coinomi-logo-alt": "Coinomi-Logo", "page-find-wallet-coin98-logo-alt": "Coin98-Logo", "page-find-wallet-dcent-logo-alt": "D'CENT-Logo", - "page-find-wallet-desc-2": "Wähle deine Wallet also basierend auf den Funktionen, die dir gefallen.", - "page-find-wallet-description": "Wallets haben viele optionale Funktionen, die dir möglicherweise gefallen.", - "page-find-wallet-description-airgap": "Benutze den AirGap-Vault um Transaktionen komplett offline auf einem nicht mit einem Netzwerk verbundenen Gerät zu signieren. Danach können die Transaktionen mit einem normalen Smartphone, mit Hilfe der AirGap-Wallet App, verbreitet werden.", + "page-find-wallet-desc-2": "Wählen Sie Ihre Wallet also basierend auf den Funktionen, die Ihnen gefallen.", + "page-find-wallet-description": "Wallets haben viele optionale Funktionen, die Ihnen möglicherweise gefallen.", + "page-find-wallet-description-airgap": "Benutzen Sie den AirGap-Vault um Transaktionen komplett offline auf einem nicht mit einem Netzwerk verbundenen Gerät zu signieren. Danach können die Transaktionen mit einem normalen Smartphone, mit Hilfe der AirGap-Wallet App verbreitet werden.", "page-find-wallet-description-alpha": "Vollständig Open Source-Ethereum-Wallet, die die Secure Enclave deines Mobiltelefons nutzt, volle Testnet-Unterstützung bietet und den TokenScript-Standard nutzt.", - "page-find-wallet-description-ambo": "Fange direkt an, zu investieren und mache deine erste Investition innerhalb weniger Minuten nach dem Herunterladen der App", + "page-find-wallet-description-ambo": "Fangen Sie direkt an, zu investieren und machen Sie Ihre erste Investition innerhalb weniger Minuten nach dem Herunterladen der App", "page-find-wallet-description-argent": "Ein Fingertipp, zum Zinsen verdienen, Investieren, Kredit Aufnehmen, Halten und Senden.", - "page-find-wallet-description-bitcoindotcom": "Die Bitcoin.com Wallet unterstützt jetzt Ethereum! Kaufe, halte, sende und handle ETH mit einer komplett depotlosen Wallet, der bereits Millionen von Nutzern vertrauen.", - "page-find-wallet-description-coinbase": "Die sichere App, um dein Krypto selbst zu halten", + "page-find-wallet-description-bitcoindotcom": "Die Bitcoin.com Wallet unterstützt jetzt Ethereum! Kaufen, halten, senden und handeln Sie ETH mit einer komplett depotlosen Wallet, der bereits Millionen von Nutzern vertrauen.", + "page-find-wallet-description-coinbase": "Die sichere App, um Ihr Krypto selbst zu halten", "page-find-wallet-description-coinomi": "Coinomi ist die älteste Multi-Chain-, defi-ready, Cross-Platform-Wallet für Bitcoins, Altcoins und Token – niemals gehacked, mit Millionen von Benutzern.", "page-find-wallet-description-coin98": "Ein(e) depotlose(s), Multi-Chain-Wallet & DeFi-Gateway", - "page-find-wallet-description-dcent": "D'CENT Wallet ist eine superbequeme Multi-Kryptowährungs-Wallet mit integriertem DApp-Browser für einfachen Zugriff auf DeFi, NFT und eine Reihe andere Services.", + "page-find-wallet-description-dcent": "D'CENT Wallet ist eine superbequeme Multi-Kryptowährungs-Wallet mit integriertem dApp-Browser für einfachen Zugriff auf DeFi, NFT und eine Reihe andere Services.", "page-find-wallet-description-enjin": "Undurchdringlich, vollgepackt mit Funktionen und bequem – gebaut für Trader, Gamer und Entwickler", - "page-find-wallet-description-fortmatic": "Greife von überall auf Ethereum-Apps zu – du brauchst dazu nur eine E-Mail-Adresse oder Telefonnummer. Schluss mit Browser-Extensions und Seed-Phrasen.", + "page-find-wallet-description-fortmatic": "Greifen Sie von überall auf Ethereum-Apps zu – Sie brauchen dazu nur eine E-Mail-Adresse oder Telefonnummer. Schluss mit Browser-Extensions und Seed-Phrasen.", "page-find-wallet-description-gnosis": "Die vertrauenswürdigste Plattform zum Halten digitalen Vermögens auf Ethereum", "page-find-wallet-description-guarda": "Sichere, funktionsreiche, depotlose Krypto-Wallet mit Unterstützung für über 50 Blockchains. Einfaches Staking, leichtes Tauschen und Kaufen von Krypto-Assets.", "page-find-wallet-description-hyperpay": "HyperPay ist eine universelle, Multi-Platform-Krypto-Wallet, die über 50 Blockchains und mehr als 2000 dApps unterstützt.", "page-find-wallet-description-imtoken": "imToken ist eine einfache und sichere digitale Wallet, der Millionen von Menschen vertrauen", "page-find-wallet-description-keystone": "Die Keystone Wallet ist eine 100%ig air-gapped Hardware-Wallet mit Open-Source-Firmware, welche ein QR-Code-Protokoll verwendet.", - "page-find-wallet-description-ledger": "Sichere deine Vermögenswerte mit den höchsten Sicherheitsstandards", - "page-find-wallet-description-linen": "Mobile Smart-Contract-Wallet: Rendite verdienen, Krypto-Assets kaufen und sich an DeFi beteiligen. Verdiene Belohnungen und Governance-Token.", + "page-find-wallet-description-ledger": "Sichern Sie Ihre Vermögenswerte mit den höchsten Sicherheitsstandards", + "page-find-wallet-description-linen": "Mobile Smart-Contract-Wallet: Rendite verdienen, Krypto-Assets kaufen und sich an DeFi beteiligen. Verdienen Sie Belohnungen und Governance-Token.", "page-find-wallet-description-loopring": "Das ist die erste Ethereum Smart-Contract-Wallet mit zkRollup-basierten Handel, Überweisungen und AMM. Gasfrei, sicher und einfach.", "page-find-wallet-description-mathwallet": "MathWallet ist eine universelle, Multi-Platform(Mobil/Extension/Web)-Krypto-Wallet, die über 50 Blockchains und mehr als 2000 dApps unterstützt.", - "page-find-wallet-description-metamask": "Erkunde Blockchain-Anwendungen in Sekunden. Vertraut von mehr als einer Million Benutzer weltweit.", + "page-find-wallet-description-metamask": "Erkunden Sie Blockchain-Anwendungen in Sekundenschnelle. Mehr als 21 Millionen Nutzer weltweit vertrauen darauf.", "page-find-wallet-description-monolith": "Die weltweit einzige selbstkontrollierte (self-custodial) Wallet, gepaart mit Visa Debit Card. Erhältlich in Großbritannien und EU und weltweit einsetzbar.", "page-find-wallet-description-multis": "Multis ist ein Kryptowährungskonto, das für Unternehmen entwickelt wurde. Mit Multis können Unternehmen mit Zugangskontrollen aufbewahren, Zinsen auf ihre Ersparnisse verdienen und Zahlungen und Buchhaltung straffen.", - "page-find-wallet-description-mycrypto": "MyCrypto ist eine Oberfläche zum Verwalten all deiner Konten. Tausche, sende und kaufe Krypto mit Wallets wie MetaMask, Ledger, Trezor und mehr.", - "page-find-wallet-description-myetherwallet": "Eine kostenlose clientseitige Oberfläche, die dir hilft, mit der Ethereum-Blockchain zu interagieren", + "page-find-wallet-description-mycrypto": "MyCrypto ist eine Oberfläche zum Verwalten all deiner Konten. Tauschen, senden und kaufen Sie Krypto mit Wallets wie MetaMask, Ledger, Trezor und mehr.", + "page-find-wallet-description-myetherwallet": "Eine kostenlose clientseitige Oberfläche, die Ihnen dabei hilft, mit der Ethereum-Blockchain zu interagieren", "page-find-wallet-description-numio": "Die Numio Ethereum Wallet ist eine Layer 2, Eigentumfreie Wallet, die von zkRollups betrieben wird um schnelle und billige ERC-20 Transaktionen und Token-Austausche zu ermöglichen. Numio ist auf Android und iOS verfügbar.", "page-find-wallet-description-opera": "Integrierte Krypto-Wallet für Opera Touch auf iOS und Opera für Android. Der erste große Browser, der eine Krypto-Wallet integriert, die nahtlosen Zugriff auf das entstehende Web von Morgen (Web3) ermöglicht.", "page-find-wallet-description-pillar": "Selbstkontrollierte (self-custodial), gemeinnützige Wallet mit eigenem L2-Payment-Network.", "page-find-wallet-description-portis": "Die selbstkontrollierte (self-custodial) Blockchain-Wallet, die Apps für alle einfach macht", - "page-find-wallet-description-rainbow": "Ein besseres Zuhause für deine Ethereum-Anlagen", - "page-find-wallet-description-samsung": "Halte deine Wertgegenstände sicher mit Samsung Blockchain.", + "page-find-wallet-description-rainbow": "Ein besseres Zuhause für Deine Ethereum-Anlagen", + "page-find-wallet-description-samsung": "Halten Sie Ihre Wertgegenstände sicher mit Samsung Blockchain.", "page-find-wallet-description-status": "Sichere Messaging-App, Krypto-Wallet und Web3-Browser mit modernster Technologie", - "page-find-wallet-description-tokenpocket": "TokenPocket:Eine sichere und komfortable, führende Wallet und ein Portal zu dApps, das Multi-Chain unterstützt.", + "page-find-wallet-description-tokenpocket": "TokenPocket: Eine sichere und komfortable, führende Wallet und ein Portal zu dApps, das Multi-Chain unterstützt.", "page-find-wallet-description-bitkeep": "BitKeep ist eine dezentralisierte Multi-Chain-Digital-Wallet mit dem Ziel, Benutzern weltweit sichere und praktische Dienste für die Verwaltung deren digitaler Vermögenswerte aus einer Hand anzubieten.", "page-find-wallet-description-torus": "Ein-Klick-Login für Web 3.0", "page-find-wallet-description-trezor": "Die erste und originale Hardware-Wallet", - "page-find-wallet-description-trust": "Trust Wallet ist eine dezentrale Multi-Coin-Wallet für Kryptowährungen. Kaufe Kryptos, erkunde dApps, tausche Vermögenswerte und vieles mehr, während du die Kontrolle über deine Schlüssel behältst.", + "page-find-wallet-description-trust": "Trust Wallet ist eine dezentrale Multi-Coin-Wallet für Kryptowährungen. Kaufen Sie Kryptos, erkunden Sie dApps, tauschen Sie Vermögenswerte und vieles mehr, während Sie die Kontrolle über Ihre Schlüssel behalten.", "page-find-wallet-description-unstoppable": "Unstoppable Wallet ist eine depotlose Open-Source-Wallet-Lösung, die für ihr intuitives Design und ihre reibungslose Benutzerfreundlichkeit bekannt ist. Sie integriert nativ dezentrales Handeln und Börsenkapazitäten.", - "page-find-wallet-description-zengo": "ZenGo ist die erste Krypto-Wallet ohne Schlüssel. Mit ZenGo gibt es keine Private-Keys, Passwörter oder Seed-Phrasen, die verwaltet werden müssen und verloren gehen können. Kaufe, handle, verdiene und halte Ethereum mit nie da gewesener Einfachheit und Sicherheit", - "page-find-wallet-description-walleth": "100 % Open Source (GPLv3) und native Android Ethereum Wallet, verfügbar seit 2017. Verbinde dich mit deiner Lieblings-dApp über WalletConnect und nutze sie direkt mit Hardware-Wallets.", + "page-find-wallet-description-zengo": "ZenGo ist die erste Krypto-Wallet ohne Schlüssel. Mit ZenGo gibt es keine Private-Keys, Passwörter oder Seed-Phrasen, die verwaltet werden müssen und verloren gehen können. Kaufen, handeln, verdienen und halten Sie Ethereum mit nie da gewesener Einfachheit und Sicherheit", + "page-find-wallet-description-walleth": "100 % Open Source (GPLv3) und native Android Ethereum Wallet, verfügbar seit 2017. Verbinden Sie sich mit Ihrer Lieblings-dApp über WalletConnect und nutzen Sie sie direkt mit Hardware-Wallets.", "page-find-wallet-description-safepal": "SafePal's Wallet ist eine sichere, dezentrale, einfach zu bedienende und kostenlose Anwendung, um mehr als 10.000 Kryptowährungen zu verwalten.", "page-find-wallet-enjin-logo-alt": "Enjin-Logo", "page-find-wallet-Ethereum-wallets": "Ethereum Wallets", "page-find-wallet-explore-dapps": "Erkunde dApps", - "page-find-wallet-explore-dapps-desc": "Diese Wallets sind dazu konzipiert, dich mit Ethereum-dApps zu verbinden.", - "page-find-wallet-feature-h2": "Wähle die Wallet-Funktionen, die dir wichtig sind", + "page-find-wallet-explore-dapps-desc": "Diese Wallets sind dazu konzipiert, Sie mit Ethereum-dApps zu verbinden.", + "page-find-wallet-feature-h2": "Wählen Sie die Wallet-Funktionen, die Ihnen wichtig sind", "page-find-wallet-fi-tools": "Zugang zu DeFi", - "page-find-wallet-fi-tools-desc": "Leihe und verleihe und verdiene Zinsen direkt von deiner Wallet.", + "page-find-wallet-fi-tools-desc": "Leihen und verleihen und verdienen Sie Zinsen direkt von Ihrer Wallet.", "page-find-wallet-following-features": "mit den folgenden Funktionen:", "page-find-wallet-fortmatic-logo-alt": "Fortmatic-Logo", "page-find-wallet-gnosis-logo-alt": "Gnosis-Safe-Logo", "page-find-wallet-guarda-logo-alt": "Guarda-Logo", "page-find-wallet-hyperpay-logo-alt": "HyperPay-Logo", - "page-find-wallet-image-alt": "Finde Wallet-Hero-Bild", + "page-find-wallet-image-alt": "Finden Sie ein Wallet-Hero-Bild", "page-find-wallet-imtoken-logo-alt": "imToken-Logo", "page-find-wallet-keystone-logo-alt": "Keystone Logo", "page-find-wallet-last-updated": "Zuletzt aktualisiert", "page-find-wallet-ledger-logo-alt": "Ledger-Logo", "page-find-wallet-limits": "Sicherung mit Limits", - "page-find-wallet-limits-desc": "Sichere deine Vermögenswerte, indem du Limits festlegst, die das Leerräumen deines Kontos verhindern.", + "page-find-wallet-limits-desc": "Sichern Sie Ihre Vermögenswerte, indem Sie Limits festlegen, die das Leerräumen Ihres Kontos verhindern.", "page-find-wallet-linen-logo-alt": "Linen-Logo", "page-find-wallet-listing-policy": "Richtlinien zur Aufführung", "page-find-wallet-loopring-logo-alt": "Loopring-Logo", "page-find-wallet-mathwallet-logo-alt": "MathWallet-Logo", - "page-find-wallet-meta-description": "Suche und vergleiche Ethereum-Wallets basierend auf den gewünschten Funktionen.", - "page-find-wallet-meta-title": "Finde eine Ethereum-Wallet", + "page-find-wallet-meta-description": "Suchen und vergleichen Sie Ethereum-Wallets basierend auf den gewünschten Funktionen.", + "page-find-wallet-meta-title": "Finden Sie eine Ethereum-Wallet", "page-find-wallet-metamask-logo-alt": "MetaMask-Logo", "page-find-wallet-monolith-logo-alt": "Monolith-Logo", "page-find-wallet-multis-logo-alt": "Multis-Logo", @@ -104,39 +104,39 @@ "page-find-wallet-multisig-desc": "Für zusätzliche Sicherheit benötigen Multi-Signatur-Wallets mehr als ein Konto, um bestimmte Transaktionen zu autorisieren.", "page-find-wallet-mycrypto-logo-alt": "MyCrypto-Logo", "page-find-wallet-myetherwallet-logo-alt": "MyEtherWallet-Logo", - "page-find-wallet-new-to-wallets": "Sind Wallets neu für dich? Hier ist eine Übersicht für den Einstieg.", + "page-find-wallet-new-to-wallets": "Sind Wallets neu für Sie? Hier ist eine Übersicht für den Einstieg.", "page-find-wallet-new-to-wallets-link": "Ethereum-Wallets", "page-find-wallet-not-all-features": "Keine Wallet bietet bisher alle diese Funktionen", "page-find-wallet-not-endorsements": "Die auf dieser Seite aufgelisteten Wallets sind nicht offiziell empfohlen, sondern nur zu Informationszwecken zur Verfügung gestellt. Ihre Beschreibungen wurden von den Wallet-Unternehmen selbst bereitgestellt. Wir fügen Produkte zu dieser Seite hinzu, basierend auf Kriterien in unseren", "page-find-wallet-numio-logo-alt": "Das Numio-Logo", - "page-find-wallet-overwhelmed": "Ethereum-Wallets hierunter. Überwältigt? Versuche nach Funktionen zu filtern.", + "page-find-wallet-overwhelmed": "Ethereum-Wallets hierunter. Überwältigt? Versuchen Sie nach Funktionen zu filtern.", "page-find-wallet-opera-logo-alt": "Opera-Logo", "page-find-wallet-pillar-logo-alt": "Pillar-Logo", "page-find-wallet-portis-logo-alt": "Portis-Logo", "page-find-wallet-rainbow-logo-alt": "Rainbow-Logo", - "page-find-wallet-raise-an-issue": "erstelle ein Ticket auf GitHub", - "page-find-wallet-search-btn": "Suche ausgewählte Funktionen", - "page-find-wallet-showing": "Zeige ", + "page-find-wallet-raise-an-issue": "erstellen Sie ein Ticket auf GitHub", + "page-find-wallet-search-btn": "Suchen Sie ausgewählte Funktionen", + "page-find-wallet-showing": "Zeigen", "page-find-wallet-samsung-logo-alt": "Samsung-Blockchain-Wallet-Logo", "page-find-wallet-status-logo-alt": "Status-Logo", "page-find-wallet-swaps": "Dezentraler Token-Tausch", - "page-find-wallet-swaps-desc": "Handle zwischen ETH und anderen Token direkt von deiner Wallet.", - "page-find-wallet-title": "Finde eine Wallet", + "page-find-wallet-swaps-desc": "Handeln Sie zwischen ETH und anderen Token direkt von Ihrer Wallet.", + "page-find-wallet-title": "Finden Sie eine Wallet", "page-find-wallet-tokenpocket-logo-alt": "TokenPocket-Logo", "page-find-wallet-bitkeep-logo-alt": "BitKeep-Logo", "page-find-wallet-torus-logo-alt": "Torus-Logo", "page-find-wallet-trezor-logo-alt": "Trezor-Logo", "page-find-wallet-trust-logo-alt": "Trust-Logo", "page-find-wallet-safepal-logo-alt": "SafePal-Logo", - "page-find-wallet-try-removing": "Versuche ein oder zwei Funktionen zu entfernen", + "page-find-wallet-try-removing": "Versuchen Sie ein oder zwei Funktionen zu entfernen", "page-find-wallet-unstoppable-logo-alt": "Unstoppable-Logo", - "page-find-wallet-use-wallet-desc": "Jetzt da du eine Wallet hast, schaue dir doch Ethereum-Anwendungen (DApps) an. Es gibt dApps für Finanzen, soziale Medien, Gaming und viele weitere Kategorien.", - "page-find-wallet-use-your-wallet": "Benutze deine Wallet", - "page-find-wallet-voluem-desc": "Wenn du eine große Menge ETH halten möchtest, wähle eine Wallet aus, in der du mehr als 2000 USD ETH gleichzeitig kaufen kannst.", + "page-find-wallet-use-wallet-desc": "Jetzt da Sie eine Wallet haben, schauen Sie sich doch Ethereum-Anwendungen (dApps) an. Es gibt dApps für Finanzen, soziale Medien, Gaming und viele weitere Kategorien.", + "page-find-wallet-use-your-wallet": "Benutzen Sie Ihre Wallet", + "page-find-wallet-voluem-desc": "Wenn Sie eine große Menge ETH halten möchten, wählen Sie eine Wallet aus, in der Sie mehr als 2000 USD ETH gleichzeitig kaufen können.", "page-find-wallet-volume": "Ankäufe mit hohen Volumen", "page-find-wallet-we-found": "Wir fanden", "page-find-wallet-withdraw": "Zur Bank abheben", - "page-find-wallet-withdraw-desc": "Du kannst deine ETH direkt auf dein Bankkonto auszahlen, ohne durch eine Börse gehen zu müssen.", + "page-find-wallet-withdraw-desc": "Sie können Ihre ETH direkt auf dein Bankkonto auszahlen, ohne durch eine Börse gehen zu müssen.", "page-find-wallet-zengo-logo-alt": "ZenGo-Logo", "page-find-wallet-walleth-logo-alt": "WallETH-Logo", "page-stake-eth": "Stake ETH" diff --git a/src/intl/de/page-wallets.json b/src/intl/de/page-wallets.json index 799cea2123a..28c22038e43 100644 --- a/src/intl/de/page-wallets.json +++ b/src/intl/de/page-wallets.json @@ -1,70 +1,70 @@ { "page-wallets-accounts-addresses": "Wallets, Konten und Adressen", "page-wallets-accounts-addresses-desc": "Es lohnt sich, die Unterschiede zwischen einigen der Schlüsselbegriffe zu verstehen.", - "page-wallets-accounts-ethereum-addresses": "Ein Ethereum-Konto hat eine Ethereum-Adresse, ähnlich wie ein Posteingang eine E-Mail-Adresse hat. Du kannst dies verwenden, um Geld an ein Konto zu senden.", + "page-wallets-accounts-ethereum-addresses": "Ein Ethereum-Konto hat eine Ethereum-Adresse, ähnlich wie ein Posteingang eine E-Mail-Adresse hat. Sie können dies verwenden, um Geld an ein Konto zu senden.", "page-wallets-alt": "Abbildung eines Roboters mit einem Tresor als Körper, der eine Ethereum-Wallet darstellt", "page-wallets-ethereum-account": "Ein Ethereum-Konto ist eine Entität, die Transaktionen senden kann und ein Guthaben hat.", "page-wallets-blog": "Coinbase-Blog", - "page-wallets-bookmarking": "Füge deine Wallet deinen Lesezeichen hinzu", - "page-wallets-bookmarking-desc": "Wenn du eine Web-Wallet verwendest, setze ein Lesezeichen der Website, um dich vor Phishing-Betrug zu schützen.", - "page-wallets-cd": "Physische Hardware-Wallets, die dich deine Krypto offline halten lassen – sehr sicher", + "page-wallets-bookmarking": "Fügen Sie Ihre Wallet Ihrem Lesezeichen hinzu", + "page-wallets-bookmarking-desc": "Wenn Sie eine Web-Wallet verwenden, setzen Sie ein Lesezeichen der Website, um sich vor Phishing-Betrug zu schützen.", + "page-wallets-cd": "Physische Hardware-Wallets, die Sie Ihre Krypto offline halten lassen – sehr sicher", "page-wallets-converted": "Krypto-konvertiert?", - "page-wallets-converted-desc": "Wenn du größere Beträge halten möchtest, empfehlen wir eine Hardware-Wallet, da diese am sichersten sind. Oder eine Wallet mit Betrugswarnungen und Auszahlungsgrenzen.", + "page-wallets-converted-desc": "Wenn Sie größere Beträge halten möchten, empfehlen wir eine Hardware-Wallet, da diese am sichersten sind. Oder eine Wallet mit Betrugswarnungen und Auszahlungsgrenzen.", "page-wallets-curious": "Krypto-neugierig?", - "page-wallets-curious-desc": "Wenn du neu in Krypto bist und nur ein Gefühl dafür bekommen möchtest, empfehlen wir etwas, das dir die Möglichkeit gibt, Ethereum-Anwendungen zu erkunden oder erste ETH direkt über die Wallet zu kaufen.", - "page-wallets-desc-2": "Du benötigst eine Wallet, um Anlagen zu senden und dein ETH zu verwalten.", + "page-wallets-curious-desc": "Wenn Sie neu in Krypto sind und nur ein Gefühl dafür bekommen möchten, empfehlen wir etwas, das Ihnen die Möglichkeit gibt, Ethereum-Anwendungen zu erkunden oder erste ETH direkt über die Wallet zu kaufen.", + "page-wallets-desc-2": "Sie benötigen eine Wallet, um Anlagen zu senden und Ihr ETH zu verwalten.", "page-wallets-desc-2-link": "Mehr zu ETH", - "page-wallets-desc-3": "Deine Wallet ist nur ein Werkzeug zur Verwaltung deines Ethereum-Kontos. Das bedeutet, dass du jederzeit Wallet-Anbieter tauschen kannst. Viele Wallets lassen dich auch mehrere Ethereum-Konten in einer Anwendung verwalten.", - "page-wallets-desc-4": "Das liegt daran, dass Wallets deine Anlagen nicht kontrollieren, sondern du selbst. Sie sind nur ein Werkzeug zum Verwalten, was wirklich dir gehört.", - "page-wallets-description": "Ethereum-Wallets sind Anwendungen, die dich mit deinem Ethereum-Konto interagieren lassen. Stell sie dir wie Internet-Banking-Apps vor – nur ohne die Bank. Mit deiner Wallet kannst du Guthaben ansehen, Transaktionen senden und Anwendungen nutzen.", - "page-wallets-desktop": "Desktop-Anwendungen, wenn du deine Gelder lieber über MacOS, Windows oder Linux verwalten möchtest", - "page-wallets-ethereum-wallet": "Eine Wallet ist ein Produkt, mit dem du dein Ethereum-Konto verwalten kannst. Es ermöglicht dir, dein Kontosaldo zu sehen, Transaktionen zu senden und vieles mehr.", + "page-wallets-desc-3": "Ihre Wallet ist nur ein Werkzeug zur Verwaltung Ihres Ethereum-Kontos. Das bedeutet, dass Sie jederzeit Wallet-Anbieter tauschen können. Viele Wallets lassen Sie auch mehrere Ethereum-Konten in einer Anwendung verwalten.", + "page-wallets-desc-4": "Das liegt daran, dass Wallets Ihre Anlagen nicht kontrollieren, sondern Sie selbst. Sie sind nur ein Werkzeug zum Verwalten, was wirklich Ihnen gehört.", + "page-wallets-description": "Ethereum-Wallets sind Anwendungen, die Sie mit Ihrem Ethereum-Konto interagieren lassen. Stellen Sie sie sich wie Internet-Banking-Apps vor – nur ohne die Bank. Mit Ihrer Wallet können Sie Guthaben ansehen, Transaktionen senden und Anwendungen nutzen.", + "page-wallets-desktop": "Desktop-Anwendungen, wenn Sie Ihre Gelder lieber über MacOS, Windows oder Linux verwalten möchten", + "page-wallets-ethereum-wallet": "Eine Wallet ist ein Produkt, mit dem Sie Ihr Ethereum-Konto verwalten können. Es ermöglicht es Ihnen, Ihren Kontosaldo zu sehen, Transaktionen zu senden und vieles mehr.", "page-wallets-explore": "Ethereum entdecken", - "page-wallets-features-desc": "Wir können dir bei der Auswahl der Wallet helfen, basierend auf den Funktionen, die du dir wünschst.", + "page-wallets-features-desc": "Wir können Ihnen bei der Auswahl der Wallet helfen, basierend auf den Funktionen, die Sie sich wünschen.", "page-wallets-features-title": "Lieber anhand von Funktionen wählen?", - "page-wallets-find-wallet-btn": "Finde eine Wallet", - "page-wallets-find-wallet-link": "Finde eine Wallet", - "page-wallets-get-some": "Erwirb ETH", + "page-wallets-find-wallet-btn": "Finden Sie eine Wallet", + "page-wallets-find-wallet-link": "Finden Sie eine Wallet", + "page-wallets-get-some": "Erwerben Sie ETH", "page-wallets-get-some-alt": "Eine Illustration einer Hand, die ein Ethereum-Logo aus Lego-Steinen aufbaut", - "page-wallets-get-some-btn": "Erwirb ETH", - "page-wallets-get-some-desc": "ETH ist die native Kryptowährung von Ethereum. Du benötigst ETH in deiner Wallet, um Ethereum-Anwendungen zu benutzen.", - "page-wallets-get-wallet": "Wähle eine Wallet", - "page-wallets-get-wallet-desc": "Es gibt viele verschiedene Wallets zur Auswahl. Wir möchten dir helfen, die beste Wallet für dich auszuwählen.", - "page-wallets-get-wallet-desc-2": "Denke daran: Diese Entscheidung ist nicht für immer – dein Ethereum-Konto ist nicht an deinen Wallet-Anbieter gebunden.", + "page-wallets-get-some-btn": "Erwerben Sie ETH", + "page-wallets-get-some-desc": "ETH ist die native Kryptowährung von Ethereum. Sie benötigen ETH in Ihrer Wallet, um Ethereum-Anwendungen zu benutzen.", + "page-wallets-get-wallet": "Wählen Sie eine Wallet", + "page-wallets-get-wallet-desc": "Es gibt viele verschiedene Wallets zur Auswahl. Wir möchten Ihnen dabei helfen, die beste Wallet für sich auszuwählen.", + "page-wallets-get-wallet-desc-2": "Denken Sie daran: Diese Entscheidung ist nicht für immer – Ihr Ethereum-Konto ist nicht an Ihren Wallet-Anbieter gebunden.", "page-wallets-how-to-store": "Wie man digitale Vermögenswerte auf Ethereum hält", - "page-wallets-keys-to-safety": "Die Schlüssel zum Schutz deiner Kryptowährungen", - "page-wallets-manage-funds": "Eine App zur Verwaltung deiner Anlagen", - "page-wallets-manage-funds-desc": "Deine Wallet zeigt dein Guthaben, Transaktionsverläufe und gibt dir die Möglichkeit, Guthaben zu senden/zu empfangen. Einige Wallets bieten noch mehr an.", - "page-wallets-meta-description": "Was du wissen musst, um Ethereum-Wallets zu verwenden.", + "page-wallets-keys-to-safety": "Die Schlüssel zum Schutz Ihrer Kryptowährungen", + "page-wallets-manage-funds": "Eine App zur Verwaltung Ihrer Anlagen", + "page-wallets-manage-funds-desc": "Ihre Wallet zeigt Ihr Guthaben, Transaktionsverläufe und gibt Ihnen die Möglichkeit, Guthaben zu senden/zu empfangen. Einige Wallets bieten noch mehr.", + "page-wallets-meta-description": "Was Sie wissen müssen, um Ethereum-Wallets zu verwenden.", "page-wallets-meta-title": "Ethereum-Wallets", - "page-wallets-mobile": "Mobilanwendungen, die dein Guthaben von überall aus zugänglich machen", + "page-wallets-mobile": "Mobilanwendungen, die Ihr Guthaben von überall aus zugänglich machen", "page-wallets-more-on-dapps-btn": "Mehr zu dApps", - "page-wallets-most-wallets": "Die meisten Wallet-Produkte ermöglichen es dir, ein Ethereum-Konto zu erstellen. Du benötigst also kein Konto, bevor du eine Wallet herunterlädst.", - "page-wallets-protecting-yourself": "Schütze dich und deine Anlagen", - "page-wallets-seed-phrase": "Schreibe deine Seed-Phrase auf", - "page-wallets-seed-phrase-desc": "Wallets geben dir oft eine Seed-Phrase, die du irgendwo sicher aufschreiben musst. Nur so kannst du die Wallet wiederherstellen.", + "page-wallets-most-wallets": "Die meisten Wallet-Produkte ermöglichen es Ihnen, ein Ethereum-Konto zu erstellen. Sie benötigen also kein Konto, bevor Sie eine Wallet herunterladen.", + "page-wallets-protecting-yourself": "Schützen Sie sich und Ihre Anlagen", + "page-wallets-seed-phrase": "Schreiben Sie Ihre Seed-Phrase auf", + "page-wallets-seed-phrase-desc": "Wallets geben Ihnen oft eine Seed-Phrase, die Sie irgendwo sicher aufschreiben müssen. Nur so können Sie die Wallet wiederherstellen.", "page-wallets-seed-phrase-example": "Hier ein Beispiel:", "page-wallets-seed-phrase-snippet": "there aeroplane curve vent formation doge possible product distinct under spirit lamp", - "page-wallets-seed-phrase-write-down": "Speichere sie nicht auf einem Computer. Schreibe und bewahre sie sicher auf.", - "page-wallets-slogan": "Der Schlüssel zu deiner digitalen Zukunft", - "page-wallets-stay-safe": "So bleibst du sicher", + "page-wallets-seed-phrase-write-down": "Speichern Sie sie nicht auf einem Computer. Schreiben und bewahren Sie sie sicher auf.", + "page-wallets-slogan": "Der Schlüssel zu Ihrer digitalen Zukunft", + "page-wallets-stay-safe": "So bleiben Sie sicher", "page-wallets-stay-safe-desc": "Wallets fordern etwas neue Denkmuster. Finanzielle Freiheit und globaler Zugang zu und Nutzung von Geldern kommt mit Verantwortung – einen Krypto-Kundensupport gibt es nicht.", - "page-wallets-subtitle": "Wallets geben Zugriff auf dein Geld und deine Ethereum-Anwendungen. Nur du solltest Zugriff auf deine Wallet haben.", - "page-wallets-take-responsibility": "Übernehme Verantwortung für deine eigenen Anlagen", - "page-wallets-take-responsibility-desc": "Zentralisierte Börsen verknüpfen deine Wallet mit einem Benutzernamen und Passwort, die du auf traditionelle Weise wiederherstellen kannst. Denke nur daran, dass du somit der Börse mit der Verwahrung deiner Gelder vertraust. Wenn diese Firma angegriffen wird oder bankrott geht, sind deine Anlagen in Gefahr.", + "page-wallets-subtitle": "Wallets geben Zugriff auf Ihr Geld und Ihre Ethereum-Anwendungen. Nur Sie sollten Zugriff auf Ihre Wallet haben.", + "page-wallets-take-responsibility": "Übernehmen Sie Verantwortung für Ihre eigenen Anlagen", + "page-wallets-take-responsibility-desc": "Zentralisierte Börsen verknüpfen Ihre Wallet mit einem Benutzernamen und Passwort, die Sie auf traditionelle Weise wiederherstellen können. Denken Sie nur daran, dass Sie somit der Börse mit der Verwahrung Ihrer Gelder vertrauent. Wenn diese Firma angegriffen wird oder bankrott geht, sind Ihre Anlagen in Gefahr.", "page-wallets-tips": "Weitere Tipps zur Sicherheit", - "page-wallets-tips-community": "Von unserer Community", + "page-wallets-tips-community": "Von unserer Gemeinschaft", "page-wallets-title": "Ethereum-Wallets", - "page-wallets-triple-check": "Überprüfe alles dreifach", - "page-wallets-triple-check-desc": "Denke daran, dass Transaktionen nicht rückgängig gemacht werden können und Wallets nicht einfach wiederhergestellt werden können, also solltest du Vorsichtsmaßnahmen treffen und immer vorsichtig sein.", - "page-wallets-try-dapps": "Teste ein paar dApps", + "page-wallets-triple-check": "Überprüfen Sie alles dreifach", + "page-wallets-triple-check-desc": "Denken Sie daran, dass Transaktionen nicht rückgängig gemacht werden können und Wallets nicht einfach wiederhergestellt werden können, also sollten Sie Vorsichtsmaßnahmen treffen und immer vorsichtig sein.", + "page-wallets-try-dapps": "Testen Sie ein paar dApps", "page-wallets-try-dapps-alt": "Eine Illustration von Mitgliedern der Ethereum-Community in Zusammenarbeit", - "page-wallets-try-dapps-desc": "DApps sind Anwendungen, die auf Ethereum basieren. Sie sind günstiger, fairer und netter zu deinen Daten als die meisten traditionellen Anwendungen.", + "page-wallets-try-dapps-desc": "dApps sind Anwendungen, die auf Ethereum basieren. Sie sind günstiger, fairer und netter zu Ihren Daten als die meisten traditionellen Anwendungen.", "page-wallets-types": "Arten von Wallets", - "page-wallets-web-browser": "Web-Wallets, die dich dein Konto über einen Webbrowser benutzen lassen", + "page-wallets-web-browser": "Web-Wallets, die Sie Ihr Konto über einen Webbrowser benutzen lassen", "page-wallets-whats-a-wallet": "Was ist eine Ethereum-Wallet?", - "page-wallets-your-ethereum-account": "Dein Ethereum-Konto", - "page-wallets-your-ethereum-account-desc": "Deine Wallet ist dein Fenster in dein Ethereum-Konto – dein Guthaben, Transaktionsverlauf und vieles mehr. Du kannst jedoch jederzeit Wallet-Anbieter austauschen.", - "page-wallets-your-login": "Dein Login für Ethereum-Anwendungen", - "page-wallets-your-login-desc": "Deine Wallet lässt dich mit jeder dezentralen Anwendung über dein Ethereum-Konto verbinden. Es ist wie ein Login, den du über viele dApps hinweg verwenden kannst." + "page-wallets-your-ethereum-account": "Ihr Ethereum-Konto", + "page-wallets-your-ethereum-account-desc": "Ihre Wallet ist Ihr Fenster in Ihr Ethereum-Konto – Ihr Guthaben, Transaktionsverlauf und vieles mehr. Sie können jedoch jederzeit Wallet-Anbieter austauschen.", + "page-wallets-your-login": "Ihr Login für Ethereum-Anwendungen", + "page-wallets-your-login-desc": "Ihre Wallet lässt Sie mit jeder dezentralen Anwendung über Ihr Ethereum-Konto verbinden. Es ist wie ein Login, den Sie über viele dApps hinweg verwenden können." } diff --git a/src/intl/de/page-what-is-ethereum.json b/src/intl/de/page-what-is-ethereum.json index e7e2d1e8eb6..d313ac1176c 100644 --- a/src/intl/de/page-what-is-ethereum.json +++ b/src/intl/de/page-what-is-ethereum.json @@ -1,28 +1,28 @@ { "page-what-is-ethereum-101": "Ethereum Einmaleins", - "page-what-is-ethereum-101-desc": "Ethereum als Technologie ermöglicht dir, für eine geringe Gebühr Kryptowährungen an andere zu versenden. Zusätzlich speist sie Apps, die jeder verwenden und niemand entfernen kann.", + "page-what-is-ethereum-101-desc": "Ethereum als Technologie ermöglicht es Ihnen für eine geringe Gebühr Kryptowährungen an andere zu versenden. Zusätzlich speist sie Apps, die jeder verwenden und niemand entfernen kann.", "page-what-is-ethereum-101-desc-2": "Ethereum baut, mit einigen großen Unterschieden, auf der Innovation von Bitcoin auf.", - "page-what-is-ethereum-101-desc-3": "Beide ermöglichen den Gebrauch von digitalem Geld ohne Zahlungsanbieter und Banken. Aber Ethereum ist programmierbar, sodass du es für viele verschiedene digitale Anlagen verwenden kannst – sogar Bitcoin!", - "page-what-is-ethereum-101-desc-4": "Das bedeutet auch, dass Ethereum für mehr als nur für Zahlungen verwendet werden kann. Es ist eine Plattform für Finanzdienstleistungen, Games und Apps, welche dir keine Daten stehlen oder dich zensieren können.", + "page-what-is-ethereum-101-desc-3": "Beide ermöglichen den Gebrauch von digitalem Geld ohne Zahlungsanbieter und Banken. Aber Ethereum ist programmierbar, sodass Sie es für viele verschiedene digitale Anlagen verwenden können – sogar Bitcoin!", + "page-what-is-ethereum-101-desc-4": "Das bedeutet auch, dass Ethereum für mehr als nur für Zahlungen verwendet werden kann. Es ist eine Plattform für Finanzdienstleistungen, Games und Apps, welche Ihnen keine Daten stehlen oder Sie zensieren können.", "page-what-is-ethereum-101-italic": "die weltumspannende programmierbare Blockchain.", "page-what-is-ethereum-101-strong": "Es ist ", "page-what-is-ethereum-accessibility": "Ethereum steht allen offen.", - "page-what-is-ethereum-adventure": "Wähle dein eigenes Abenteuer aus!", + "page-what-is-ethereum-adventure": "Wählen Sie Ihr eigenes Abenteuer aus!", "page-what-is-ethereum-alt-img-bazaar": "Abbildung einer Person, die in einen Basar hineinblickt, welcher Ethereum repräsentiert", "page-what-is-ethereum-alt-img-comm": "Eine Illustration von Mitgliedern der Ethereum-Community in Zusammenarbeit", "page-what-is-ethereum-alt-img-lego": "Eine Illustration einer Hand, die ein Ethereum-Logo aus Lego-Steinen aufbaut", "page-what-is-ethereum-alt-img-social": "Eine Illustration von Charakteren in einem sozialen Raum, der Ethereum mit einem großen ETH-Logo gewidmet ist", "page-what-is-ethereum-banking-card": "Banking für alle", "page-what-is-ethereum-banking-card-desc": "Nicht jeder hat Zugang zu Finanzdienstleistungen, aber alles, was man braucht, um auf Ethereum und seine Kredit- und Vermögensprodukte zuzugreifen, ist eine Internetverbindung.", - "page-what-is-ethereum-build": "Erschaffe etwas mit Ethereum", - "page-what-is-ethereum-build-desc": "Wenn du mit Ethereum etwas erschaffen möchtest, lies unsere Dokumentationen, probier ein paar Tutorials aus oder schau dir die Werkzeuge an, die du brauchst, um loszulegen.", + "page-what-is-ethereum-build": "Erschaffen Sie etwas mit Ethereum", + "page-what-is-ethereum-build-desc": "Wenn Sie mit Ethereum etwas erschaffen möchten, lesen unsere Dokumentationen, probieren Sie ein paar Tutorials aus oder schauen Sie sich die Werkzeuge an, die Sie brauchen, um loszulegen.", "page-what-is-ethereum-censorless-card": "Zensurresistent", "page-what-is-ethereum-censorless-card-desc": "Keine Regierung oder Firma hat Kontrolle über Ethereum. Diese Dezentralisierung macht es für jedermann nahezu unmöglich, Zahlungen oder die Inanspruchnahme von Dienstleistungen auf Ethereum zu verhindern.", - "page-what-is-ethereum-comm-desc": "Unsere Community umfasst Leute aus allen Backgrounds, darunter Künstler, Krypto-Anarchisten, Unternehmen der Fortune 500, und jetzt auch du. Finde heraus, wie du dich heute beteiligen kannst.", + "page-what-is-ethereum-comm-desc": "Unsere Community umfasst Leute aus allen Backgrounds, darunter Künstler, Krypto-Anarchisten, Unternehmen der Fortune 500, und jetzt auch Sie. Finden Sie heraus, wie Sie sich heute beteiligen können.", "page-what-is-ethereum-commerce-card": "Handelsgarantien", "page-what-is-ethereum-commerce-card-desc": "Ethereum sorgt für ausgeglichene Wettbewerbsbedingungen. Kunden haben eine sichere, eingebaute Garantie, dass Kapital nur dann überwiesen wird, wenn das geliefert wird, worauf man sich geeinigt hat. Man braucht kein Unternehmen mit großem wirtschaftlichem Einfluss, um Geschäfte zu führen.", - "page-what-is-ethereum-community": "Die Ethereum-Community", - "page-what-is-ethereum-compatibility-card": "Kompatibilität For the Win", + "page-what-is-ethereum-community": "Die Ethereum-Gemeinschaft", + "page-what-is-ethereum-compatibility-card": "Kompatibilität für den Erfolg", "page-what-is-ethereum-compatibility-card-desc": "Es werden ständig bessere Produkte und Erfahrungen gebaut, da die Produkte von Ethereum standardmäßig kompatibel sind. Unternehmen können aufeinander und ihren Erfolg aufbauen.", "page-what-is-ethereum-dapps-desc": "Produkte und Dienstleistungen, die auf Ethereum laufen. Es gibt dApps für Finanzen, Arbeit, soziale Medien, Gaming und vieles mehr – lerne die Apps unserer digitalen Zukunft kennen.", "page-what-is-ethereum-dapps-img-alt": "Eine Abbildung eines Doges, der eine Ethereum-Anwendung an einem Computer benutzt", @@ -30,11 +30,11 @@ "page-what-is-ethereum-desc": "Das Fundament für unsere digitale Zukunft", "page-what-is-ethereum-explore": "Ethereum entdecken", "page-what-is-ethereum-get-started": "Der beste Weg mehr zu erfahren ist sich eine Wallet herunterzuladen, sich ein bisschen ETH zu holen und eine Ethereum-App auszuprobieren.", - "page-what-is-ethereum-in-depth-description": "Ethereum ist ein freier Zugang zu digitalem Geld und datenfreundlichen Dienstleistungen für jeden – ungeachtet des Backgrounds oder Standorts. Es ist eine von der Gemeinschaft gebaute Technologie hinter der Kryptowährung Ether (ETH) und Tausenden von Anwendungen, die du heute verwenden kannst.", - "page-what-is-ethereum-internet-card": "Mehr Anonymität im Netz", - "page-what-is-ethereum-internet-card-desc": "Du musst nicht alle deine persönlichen Daten angeben, um eine Ethereum-App zu verwenden. Ethereums Wirtschaftssystem baut auf Werten auf, nicht auf Überwachung.", - "page-what-is-ethereum-meet-comm": "Lerne unsere Community kennen", - "page-what-is-ethereum-meta-description": "Erfahre mehr über Ethereum, was es macht und wie du es selbst ausprobieren kannst.", + "page-what-is-ethereum-in-depth-description": "Ethereum ist ein freier Zugang zu digitalem Geld und datenfreundlichen Dienstleistungen für jeden – ungeachtet des Backgrounds oder Standorts. Es ist eine von der Gemeinschaft gebaute Technologie hinter der Kryptowährung Ether (ETH) und Tausenden von Anwendungen, die Sie heute verwenden können.", + "page-what-is-ethereum-internet-card": "Privateres Internet", + "page-what-is-ethereum-internet-card-desc": "Sie müssen nicht alle Ihre persönlichen Daten angeben, um eine Ethereum-App zu verwenden. Ethereums Wirtschaftssystem baut auf Werten auf, nicht auf Überwachung.", + "page-what-is-ethereum-meet-comm": "Lernen Sie unsere Gemeinschaft kennen", + "page-what-is-ethereum-meta-description": "Erfahren Sie mehr über Ethereum, was es macht und wie Sie es selbst ausprobieren können.", "page-what-is-ethereum-meta-title": "Was ist Ethereum?", "page-what-is-ethereum-native-alt": "Das Symbol für Ether (ETH)", "page-what-is-ethereum-native-crypto": "Ethereums native Kryptowährung und Äquivalent zum Bitcoin. Man kann ETH auf Ethereum-Anwendungen benutzen, oder um Beträge an Freunde und Familie zu senden.", @@ -42,20 +42,20 @@ "page-what-is-ethereum-native-title": "ETH", "page-what-is-ethereum-p2p-card": "Ein Peer-to-Peer-Netzwerk", "page-what-is-ethereum-p2p-card-desc": "Ethereum ermöglicht es, Geld zu überweisen oder Vereinbarungen direkt mit anderen zu treffen. Man muss nicht über Finanzvermittler gehen.", - "page-what-is-ethereum-singlecard-desc": "Wenn du an Blockchain und der technischen Seite von Ethereum interessiert bist, haben wir hier das Richtige für dich.", + "page-what-is-ethereum-singlecard-desc": "Wenn Sie an Blockchain und der technischen Seite von Ethereum interessiert sind, haben wir hier das Richtige für Sie.", "page-what-is-ethereum-singlecard-link": "Wie Ethereum funktioniert", "page-what-is-ethereum-singlecard-title": "Wie Ethereum funktioniert", - "page-what-is-ethereum-start-building-btn": "Fang an zu bauen", + "page-what-is-ethereum-start-building-btn": "Fangen Sie an zu bauen", "page-what-is-ethereum-title": "Was ist Ethereum?", - "page-what-is-ethereum-tools-needed": "Alles, was du zum Mitmachen brauchst, ist eine Wallet.", - "page-what-is-ethereum-try": "Teste Ethereum", - "page-what-is-ethereum-tryit": "Trete also ein in den Bazaar und probiere es aus...", + "page-what-is-ethereum-tools-needed": "Alles, was Sie zum Mitmachen brauchen, ist eine Wallet.", + "page-what-is-ethereum-try": "Testen Sie Ethereum", + "page-what-is-ethereum-tryit": "Treten Sie also ein in den Bazaar und probieren Sie es aus...", "page-what-is-ethereum-wallets": "Wallets", - "page-what-is-ethereum-wallets-desc": "Wie du deine ETH und dein Ethereum-Konto verwaltest. Du benötigst eine Wallet, um loszulegen – wir helfen dir bei der Auswahl.", + "page-what-is-ethereum-wallets-desc": "Wie Sie Ihre ETH und Ihr Ethereum-Konto verwalten. Sie benötigen eine Wallet, um loszulegen – wir helfen Ihnen bei der Auswahl.", "page-what-is-ethereum-welcome": "Willkommen bei Ethereum", - "page-what-is-ethereum-welcome-2": "Wir hoffen, du bleibst.", + "page-what-is-ethereum-welcome-2": "Wir hoffen, dass Sie bleiben.", "page-what-is-ethereum-defi-title": "Dezentrales Finanzwesen (DeFi)", - "page-what-is-ethereum-defi-description": "Ein offeneres Finanzsystem, das dir mehr Kontrolle über dein Geld gibt und neue Möglichkeiten eröffnet.", + "page-what-is-ethereum-defi-description": "Ein offeneres Finanzsystem, das Ihnen mehr Kontrolle über Ihr Geld gibt und neue Möglichkeiten eröffnet.", "page-what-is-ethereum-defi-alt": "Ein Ethereum-Logo aus Legosteinen.", "page-what-is-ethereum-nft-title": "Non-Fungible-Token (NFT)", "page-what-is-ethereum-nft-description": "Ein Weg einzigartige Objekte als Assets auf Ethereum darzustellen, die gehandelt oder als Proof-of-Ownership benutzt werden können, und neue Möglichkeiten für Creator zu schaffen.", @@ -63,7 +63,7 @@ "page-what-is-ethereum-dao-title": "Dezentrale autonome Organisationen (DAO)", "page-what-is-ethereum-dao-description": "Ein neuer Weg, um zusammenzuarbeiten und Online-Communitys mit gemeinsamen Zielen und gepoolten Mitteln zu erstellen.", "page-what-is-ethereum-dao-alt": "Eine Repräsentation eines Abstimmungsvorschlags in einer DAO.", - "page-what-is-ethereum-use-cases-title": "Entdecke Ethereums Anwendungsfälle", + "page-what-is-ethereum-use-cases-title": "Entdecken Sie Ethereums Anwendungsfälle", "page-what-is-ethereum-use-cases-subtitle": "Ethereum hat zur Erstellung von neuen Produkten und Services geführt, die verschiedenste Teile unseres Lebens verbessern können.", "page-what-is-ethereum-use-cases-subtitle-two": "Wir befinden uns noch in den Anfangsphasen, aber es gibt bereits vieles, für das man sich begeistern kann." } From 2e0d43945acc636059f18dcacef53db610b4b442 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 17:05:24 -0700 Subject: [PATCH 116/167] es Use Ethereum content import from Crowdin --- src/intl/es/page-developers-index.json | 14 +++++++------- src/intl/es/page-developers-learning-tools.json | 6 ++++-- src/intl/es/page-get-eth.json | 4 ++++ src/intl/es/page-run-a-node.json | 6 +++--- src/intl/es/page-wallets-find-wallet.json | 6 +++--- src/intl/es/page-what-is-ethereum.json | 2 +- 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/intl/es/page-developers-index.json b/src/intl/es/page-developers-index.json index 14ec26ea5d5..bc1688b12fd 100644 --- a/src/intl/es/page-developers-index.json +++ b/src/intl/es/page-developers-index.json @@ -9,7 +9,7 @@ "page-developers-api-desc": "Uso de bibliotecas para interactuar con contratos inteligentes", "page-developers-api-link": "API de back-end", "page-developers-aria-label": "Menú para desarrolladores", - "page-developers-block-desc": "Lotes de transacciones añadidas a la blockchain", + "page-developers-block-desc": "Lotes de transacciones añadidas a la cadena de bloques", "page-developers-block-explorers-desc": "Su portal para acceder a los datos de Ethereum", "page-developers-block-explorers-link": "Exploradores de bloques", "page-developers-blocks-link": "Bloques", @@ -23,7 +23,7 @@ "page-developers-evm-desc": "El ordenador que procesa transacciones", "page-developers-evm-link": "La máquina virtual de Ethereum (EVM)", "page-developers-explore-documentation": "Explore la documentación", - "page-developers-feedback": "Si tiene algún comentario, póngase en contacto con nosotros creando un ticket de GitHub o accediendo a nuestro servidor de Discord.", + "page-developers-feedback": "Si tiene algún comentario, póngase en contacto con nosotros creando una incidencia de GitHub o accediendo a nuestro servidor de Discord.", "page-developers-frameworks-desc": "Herramientas para ayudar a acelerar el desarrollo", "page-developers-frameworks-link": "Frameworks de desarrollo", "page-developers-fundamentals": "Aspectos esenciales", @@ -32,16 +32,16 @@ "page-developers-get-started": "¿Cómo le gustaría empezar?", "page-developers-improve-ethereum": "Ayúdenos a mejorar ethereum.org", "page-developers-improve-ethereum-desc": "Al igual que ethereum.org, estos documentos representan un esfuerzo comunitario. Cree un PR si ve errores, espacio para la mejora o nuevas oportunidades para ayudar a los desarrolladores de Ethereum.", - "page-developers-into-eth-desc": "Una introducción a blockchain y Ethereum", + "page-developers-into-eth-desc": "Una introducción a cadena de bloques y Ethereum", "page-developers-intro-ether-desc": "Una introducción a la criptomoneda y al ether", "page-developers-intro-dapps-desc": "Una introducción a las aplicaciones descentralizadas", "page-developers-intro-dapps-link": "Introducción a las dapps", "page-developers-intro-eth-link": "Introducción a Ethereum", - "page-developers-intro-ether-link": "Introducción a Ethereum", + "page-developers-intro-ether-link": "Introducción a Ether", "page-developers-intro-stack": "Introducción a la pila", "page-developers-intro-stack-desc": "Una introducción a la pila de Ethereum", - "page-developers-js-libraries-desc": "Uso de javascript para interactuar con contratos inteligentes", - "page-developers-js-libraries-link": "Bibliotecas de javascript", + "page-developers-js-libraries-desc": "Usar JavaScript para interactuar con contratos inteligentes", + "page-developers-js-libraries-link": "Librerías de JavaScript", "page-developers-language-desc": "Uso de Ethereum con lenguajes conocidos", "page-developers-languages": "Lenguajes de programación", "page-developers-learn": "Aprenda a desarrollar en Ethereum", @@ -50,7 +50,7 @@ "page-developers-learn-tutorials-cta": "Ver tutoriales", "page-developers-learn-tutorials-desc": "Aprenda a desarrollar en Ethereum paso a paso de la mano de creadores que lo han hecho antes.", "page-developers-meta-desc": "Documentación, tutoriales y herramientas para desarrolladores que crean con Ethereum.", - "page-developers-mev-desc": "Una introduccion al valor extraible del minero (MEV)", + "page-developers-mev-desc": "Una introducción al valor extraíble del minero (MEV)", "page-developers-mev-link": "Valor extraíble del minero (MEV)", "page-developers-mining-desc": "Cómo se crean nuevos bloques y se alcanza el consenso", "page-developers-mining-link": "Minería", diff --git a/src/intl/es/page-developers-learning-tools.json b/src/intl/es/page-developers-learning-tools.json index 6bdf77b8e37..a25cb172d8f 100644 --- a/src/intl/es/page-developers-learning-tools.json +++ b/src/intl/es/page-developers-learning-tools.json @@ -30,7 +30,7 @@ "page-learning-tools-questbook-logo-alt": "Logo de Questbook", "page-learning-tools-remix-description": "Desarrollar, implementar y administrar contratos inteligentes para Ethereum. Siga los tutoriales con el plugin de Learneth.", "page-learning-tools-remix-description-2": "Remix y Replit no solo son ambientes de pruebas, los desarrolladores pueden usarlos para escribir, compilar y desplegar sus contratos inteligentes.", - "page-learning-tools-replit-description": "Un entorno de desarrollo personalizable para Ethereum con hot reload, verificación de errores y soporte para testnet de primera clase.", + "page-learning-tools-replit-description": "Un entorno de desarrollo personalizable para Ethereum con recarga en caliente, verificación de errores y soporte para red de pruebas de primera clase.", "page-learning-tools-replit-logo-alt": "Logo de Replit", "page-learning-tools-remix-logo-alt": "Logo de Remix", "page-learning-tools-sandbox": "Procesos aislados de código", @@ -39,5 +39,7 @@ "page-learning-tools-vyperfun-description": "Conozca Vyper mediante la creación de su propio juego de Pokémon.", "page-learning-tools-vyperfun-logo-alt": "Logo de Vyper.fun", "page-learning-tools-nftschool-description": "Explore lo que está sucediendo con los tókenes no fungibles o NFT desde el punto de vista técnico.", - "page-learning-tools-nftschool-logo-alt": "Logo de NFT school" + "page-learning-tools-nftschool-logo-alt": "Logo de NFT school", + "page-learning-tools-pointer-description": "Aprenda habilidades de desarrollo Web 3.0 con divertidos tutoriales interactivos y gane recompensas criptográficas al mismo tiempo.", + "page-learning-tools-pointer-logo-alt": "Logo de puntero" } diff --git a/src/intl/es/page-get-eth.json b/src/intl/es/page-get-eth.json index 735af155302..f51d1e36a45 100644 --- a/src/intl/es/page-get-eth.json +++ b/src/intl/es/page-get-eth.json @@ -1,4 +1,7 @@ { + "page-get-eth-article-keeping-crypto-safe": "Las claves para mantener su cripto seguro", + "page-get-eth-article-protecting-yourself": "Protegerte a ti y a tus fondos", + "page-get-eth-article-store-digital-assets": "Cómo almacenar recursos digitales en Ethereum", "page-get-eth-cex": "Casas de intercambios centralizados", "page-get-eth-cex-desc": "Las casas de intercambios son negocios que le permiten comprar criptomonedas utilizando monedas tradicionales. Tienen la custodia de cualquier ETH que compre hasta que lo envíe a una cartera que controle.", "page-get-eth-checkout-dapps-btn": "Revisar dapps", @@ -21,6 +24,7 @@ "page-get-eth-exchanges-no-exchanges": "Lo sentimos, no sabemos de ningún intercambio que le permita comprar ETH desde este país. Si usted sí, díganoslo a través de", "page-get-eth-exchanges-no-exchanges-or-wallets": "Lo sentimos, no sabemos de ningún intercambio o cartera que le permita comprar ETH desde este país. Si usted sí, díganoslo a través de", "page-get-eth-exchanges-no-wallets": "Lo sentimos, no sabemos de ninguna cartera que le permita comprar ETH desde este país. Si usted sí, díganoslo a través de", + "page-get-eth-exchanges-search": "Escribe dónde vives...", "page-get-eth-exchanges-success-exchange": "Puede tardar varios días en registrarse en un intercambio debido a sus controles legales.", "page-get-eth-exchanges-success-wallet-link": "carteras", "page-get-eth-exchanges-success-wallet-paragraph": "Donde vive, puede comprar ETH directamente de estas carteras. Obtenga más información sobre", diff --git a/src/intl/es/page-run-a-node.json b/src/intl/es/page-run-a-node.json index 711004db874..338ab071126 100644 --- a/src/intl/es/page-run-a-node.json +++ b/src/intl/es/page-run-a-node.json @@ -52,10 +52,10 @@ "page-run-a-node-decentralized-2": "La resistencia de la red se logra con más nodos, en ubicaciones geográficamente diversas, operados por más personas de orígenes diversos. Cuánto más personas ejecuten su propio nodo, más disminuye la posibilidad de error en los puntos centralizados, lo que fortalece la red.", "page-run-a-node-feedback-prompt": "¿Le resultó útil esta página?", "page-run-a-node-further-reading-title": "Más información", - "page-run-a-node-further-reading-1-link": "Mastering Ethereum - Should I Run a Full Node", + "page-run-a-node-further-reading-1-link": "Dominar Ethereum: ¿debería ejecutar un nodo completo?", "page-run-a-node-further-reading-1-author": "Andreas Antonopoulos", "page-run-a-node-further-reading-2-link": "Ethereum on ARM - Quick Start Guide", - "page-run-a-node-further-reading-3-link": "The Limits to Blockchain Scalability", + "page-run-a-node-further-reading-3-link": "Los límites a la escalabilidad de la cadena de bloques", "page-run-a-node-further-reading-3-author": "Vitalik Buterin", "page-run-a-node-getting-started-title": "Introducción", "page-run-a-node-getting-started-software-section-1": "En los primeros días de la red, los usuarios necesitaban tener la capacidad de interactuar con la línea de comandos para operar un nodo Ethereum.", @@ -120,7 +120,7 @@ "page-run-a-node-voice-your-choice-title": "Hágase oír", "page-run-a-node-voice-your-choice-preview": "No ceda el control en caso de bifurcación.", "page-run-a-node-voice-your-choice-1": "En el caso de una bifurcación de cadena, donde emergen dos cadenas con dos conjuntos diferentes de reglas, ejecutar su propio nodo garantiza su capacidad de elegir qué conjunto de reglas soporta. Depende de usted actualizar a nuevas reglas y apoyar los cambios propuestos, o no.", - "page-run-a-node-voice-your-choice-2": "Si está aopstando ETH, ejecutar su propio nodo le permite elegir su propio cliente, para minimizar el riesgo de «slashing» y reaccionar a las demandas fluctuantes de la red a través del tiempo. «Stakear» con un tercero pierde su voto sobre qué cliente cree que es la mejor opción.", + "page-run-a-node-voice-your-choice-2": "Si está apostando ETH, ejecutar su propio nodo le permite elegir su propio cliente, para minimizar el riesgo de «slashing» y reaccionar a las demandas fluctuantes de la red a través del tiempo. «Stakear» con un tercero pierde su voto sobre qué cliente cree que es la mejor opción.", "page-run-a-node-what-title": "¿Qué significa «ejecutar un nodo»?", "page-run-a-node-what-1-subtitle": "Ejecutar software.", "page-run-a-node-what-1-text": "Conocido como «cliente», este software descarga una copia de la cadena de bloques de Ethereum y verifica la validez de cada bloque, lo mantiene actualizado con nuevos bloques y transacciones, y ayuda a otros a descargar y actualizar sus propias copias.", diff --git a/src/intl/es/page-wallets-find-wallet.json b/src/intl/es/page-wallets-find-wallet.json index cfb92118c72..1e4ac2295b5 100644 --- a/src/intl/es/page-wallets-find-wallet.json +++ b/src/intl/es/page-wallets-find-wallet.json @@ -31,14 +31,14 @@ "page-find-wallet-dcent-logo-alt": "Logo de D´CENT", "page-find-wallet-desc-2": "Así que elija su cartera de acuerdo con las características que desee.", "page-find-wallet-description": "Las carteras tienen muchas funciones opcionales que le pueden gustar.", - "page-find-wallet-description-airgap": "Firme transacciones completamente fuera de línea en un dispositivo sin ninguna conectividad de red usando AirGap Vault. Después podrá transmitirlas en su telefono inteligente con la aplicacion de AirGap Wallet.", + "page-find-wallet-description-airgap": "Firme transacciones completamente fuera de línea en un dispositivo sin ninguna conectividad de red usando AirGap Vault. Después podrá transmitirlas en su teléfono inteligente con la aplicación de AirGap Wallet.", "page-find-wallet-description-alpha": "Cartera de código abierto de Ethereum que aprovecha el enclave seguro en dispositivos móviles, ofrece soporte total a la red de pruebas y se adapta al estándar TokenScript.", "page-find-wallet-description-ambo": "Invierta directamente y obtenga su primera inversión solo unos minutos después de descargar la aplicación", "page-find-wallet-description-argent": "Un toque para ganar intereses e invertir. Preste, almacene y envíe. Es suyo.", "page-find-wallet-description-bitcoindotcom": "¡La billetera de Bitcoin.com ahora también soporta Ethereum! Compre, conserve, envíe, venda e intercambie con ETH usando una billetera completamente no custodiada y usada por millones de usuarios.", "page-find-wallet-description-coinbase": "La aplicación segura para almacenar criptomonedas usted mismo", "page-find-wallet-description-coinomi": "Coinomi es la billetera más antigua multicadena, descentralizada y multiplataforma para bitcoins, altcoins y tókenes; nunca ha sido hackeada y cuenta con millones de usuarios.", - "page-find-wallet-description-coin98": "Una billetera multicadena y puerta de enlace desentralizada no custodiada", + "page-find-wallet-description-coin98": "Una billetera multicadena y puerta de enlace descentralizada no custodiada", "page-find-wallet-description-dcent": "La billetera D'CENT es la billetera multidivisa más conveniente con un navegador de DApps integrado para un acceso fácil a la DeFi, NFT y otra variedad de servicios.", "page-find-wallet-description-enjin": "Impenetrable, con características precisas y conveniente; creado para inversores, jugadores y desarrolladores", "page-find-wallet-description-fortmatic": "Accede a las aplicaciones de Ethereum desde cualquier lugar con solo tu correo electrónico o número de teléfono. No más extensiones de navegador ni frases semilla.", @@ -51,7 +51,7 @@ "page-find-wallet-description-linen": "La billetera Mobile smart contract: gane rendimiento, compre criptomonedas y participe en DeFi. Gane recompensas y tókenes de gobernanza.", "page-find-wallet-description-loopring": "La primera cartera de contratos inteligentes de Ethereum con comercio basado en zkRollup, transferencias y AMM (Creador de Mercado Automatizado). Sin Gas, segura y simple.", "page-find-wallet-description-mathwallet": "MathWallet es una cartera de criptomonedas universal y multiplataforma (móvil/extensión de navegador/página de internet) que soporta más de 50 cadenas de bloques y más de 2000 aplicaciones descentralizadas.", - "page-find-wallet-description-metamask": "Comience a explorar en segundos aplicaciones de cadenas de bloques en las que confían más de 1 millón de usuarios en todo el mundo.", + "page-find-wallet-description-metamask": "Comience a explorar en segundos aplicaciones de cadenas de bloques en las que confían más de 21 millón de usuarios en todo el mundo.", "page-find-wallet-description-monolith": "La única cartera autocustodiada del mundo, emparejada con una tarjeta de débito Visa. Disponible en Reino Unido y la UE y que puede utilizarse en todo el mundo.", "page-find-wallet-description-multis": "Multis es una cuenta de criptomonedas diseñada para los negocios. Con Multis, las empresas pueden almacenar con controles de acceso, ganar intereses sobre sus ahorros y agilizar los pagos y la contabilidad.", "page-find-wallet-description-mycrypto": "MyCrypto es una interfaz para administrar todas sus cuentas. Intercambie, envíe y compre criptomonedas con carteras como MetaMask, Ledger, Trezor y otras.", diff --git a/src/intl/es/page-what-is-ethereum.json b/src/intl/es/page-what-is-ethereum.json index 0cb3dc53688..57fd2212bae 100644 --- a/src/intl/es/page-what-is-ethereum.json +++ b/src/intl/es/page-what-is-ethereum.json @@ -57,7 +57,7 @@ "page-what-is-ethereum-defi-title": "Finanzas descentralizadas (DeFi)", "page-what-is-ethereum-defi-description": "Un sistema financiero más abierto que le da más control sobre su dinero y desbloquea nuevas posibilidades.", "page-what-is-ethereum-defi-alt": "Logo de Ethereum hecho con lego.", - "page-what-is-ethereum-nft-title": "Tokens No Fungibles (NFT)", + "page-what-is-ethereum-nft-title": "Tóekens no fungibles (NFT)", "page-what-is-ethereum-nft-description": "Una manera de representar objetos únicos como activos de Ethereum que pueden ser intercambiados, usados como prueba de propiedad y para crear nuevas oportunidades para los creadores.", "page-what-is-ethereum-nft-alt": "Un logotipo de Eth que se muestra vía holograma.", "page-what-is-ethereum-dao-title": "Organizaciones Autónomas Descentralizadas (DAO)", From 2c6ea161495c3ff1e78ace6ad398836c1c5b00bd Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 17:05:30 -0700 Subject: [PATCH 117/167] fr Use Ethereum content import from Crowdin --- src/intl/fr/page-dapps.json | 2 +- src/intl/fr/page-developers-index.json | 2 +- .../fr/page-developers-learning-tools.json | 4 +- src/intl/fr/page-get-eth.json | 8 +- src/intl/fr/page-run-a-node.json | 160 +++++++++--------- src/intl/fr/page-wallets-find-wallet.json | 4 +- src/intl/fr/page-what-is-ethereum.json | 8 +- 7 files changed, 97 insertions(+), 91 deletions(-) diff --git a/src/intl/fr/page-dapps.json b/src/intl/fr/page-dapps.json index ce5a6b7ba3b..d847bef51a9 100644 --- a/src/intl/fr/page-dapps.json +++ b/src/intl/fr/page-dapps.json @@ -97,7 +97,7 @@ "page-dapps-desc": "Trouvez une application Ethereum a essayer.", "page-dapps-doge-img-alt": "Image d'un Shiba utilisant un ordinateur", "page-dapps-dydx-logo-alt": "Logo de dYdX", - "page-dapps-editors-choice-dark-forest": "Jouez contre d'autres pour conquérir des planètes et essayez la technologie de mise à l'échelle/de confidentialité Ethereum de pointe. Seulement pour ceux qui sont familiarisés avec la technologie d'Ethereum.", + "page-dapps-editors-choice-dark-forest": "Affrontez d'autres joueurs pour conquérir des planètes et essayez la technologie de pointe de passage à l'échelle/de confidentialité d'Ethereum. Seulement pour ceux qui sont familiarisés avec la technologie Ethereum.", "page-dapps-editors-choice-description": "Quelques DApps que l'équipe ethereum.org adorent en ce moment. Découvrez plus DApps ci-dessous.", "page-dapps-editors-choice-foundation": "Investissez dans la culture. Achetez, échangez, et vendez des illustrations numériques uniques et des articles de mode de certains artistes, musiciens et marques incroyables.", "page-dapps-editors-choice-header": "Choix de la rédaction", diff --git a/src/intl/fr/page-developers-index.json b/src/intl/fr/page-developers-index.json index 5658c3bf95c..c1bb627989f 100644 --- a/src/intl/fr/page-developers-index.json +++ b/src/intl/fr/page-developers-index.json @@ -63,7 +63,7 @@ "page-developers-play-code": "Jouer avec le code", "page-developers-read-docs": "Lire la documentation", "page-developers-scaling-desc": "Solutions pour des transactions plus rapides", - "page-developers-scaling-link": "Mise à l'échelle", + "page-developers-scaling-link": "Passage à l'échelle", "page-developers-smart-contract-security-desc": "Mesures de sécurité à prendre en compte lors du développement de contrats intelligents", "page-developers-smart-contract-security-link": "Sécurité des contrats intelligents", "page-developers-set-up": "Configurer un environnement local", diff --git a/src/intl/fr/page-developers-learning-tools.json b/src/intl/fr/page-developers-learning-tools.json index 8bec376701f..d34224ee531 100644 --- a/src/intl/fr/page-developers-learning-tools.json +++ b/src/intl/fr/page-developers-learning-tools.json @@ -39,5 +39,7 @@ "page-learning-tools-vyperfun-description": "Apprenez à développer avec Vyper en construisant votre propre jeu de Pokémon.", "page-learning-tools-vyperfun-logo-alt": "Logo Vyper.fun", "page-learning-tools-nftschool-description": "Explorez le côté technique des jetons non fongibles, ou NFT.", - "page-learning-tools-nftschool-logo-alt": "Jetons non fongibles du logo de l'école" + "page-learning-tools-nftschool-logo-alt": "Jetons non fongibles du logo de l'école", + "page-learning-tools-pointer-description": "Apprenez à développer pour le Web3 grâce à des tutoriels interactifs et amusants. Gagnez des récompenses en cryptomonnaies tout au long du parcours", + "page-learning-tools-pointer-logo-alt": "Logo de Pointer" } diff --git a/src/intl/fr/page-get-eth.json b/src/intl/fr/page-get-eth.json index 46bc45d3a9c..f0bdf944881 100644 --- a/src/intl/fr/page-get-eth.json +++ b/src/intl/fr/page-get-eth.json @@ -1,11 +1,14 @@ { + "page-get-eth-article-keeping-crypto-safe": "Les clés pour garder vos cryptomonnaies en sécurité", + "page-get-eth-article-protecting-yourself": "Protéger vos fonds et vous-même", + "page-get-eth-article-store-digital-assets": "Comment stocker des actifs numériques sur Ethereum", "page-get-eth-cex": "Échanges centralisés", "page-get-eth-cex-desc": "Les échanges ou marchés sont des \"plateformes\" qui vous permettent d'acheter des cryptomonnaies en utilisant des monnaies traditionnelles. Elles ont la garde de tout ETH que vous achetez jusqu'à ce que vous l'envoyiez à un portefeuille que vous contrôlez.", "page-get-eth-checkout-dapps-btn": "Découvrez les DApps", "page-get-eth-community-safety": "Publications de la communauté sur la sécurité", "page-get-eth-description": "Ethereum et ETH ne sont contrôlés par aucun gouvernement ou entreprise - ils sont décentralisés. Cela signifie que l'ETH est ouvert à tout le monde.", "page-get-eth-dex": "Échanges décentralisés (DEX)", - "page-get-eth-dex-desc": "Si vous voulez plus de contrôle, achetez des ETH en P2P. Avec un DEX vous pouvez trader sans donner le contrôle de vos fonds à une société centralisée.", + "page-get-eth-dex-desc": "Si vous voulez plus de contrôle, achetez des ETH en personne. Avec un DEX, vous pouvez échanger sans donner le contrôle de vos fonds à une société centralisée.", "page-get-eth-dexs": "Échanges décentralisés (DEX)", "page-get-eth-dexs-desc": "Les échanges décentralisés sont des places de marché ouvertes pour ETH et autres jetons. Elles connectent directement les acheteurs et les vendeurs.", "page-get-eth-dexs-desc-2": "Au lieu d'utiliser un tiers de confiance pour protéger les fonds dans la transaction, elles utilisent du code. L'ETH du vendeur ne sera transféré que lorsque le paiement sera garanti. Ce type de code est connu sous le nom de contrat intelligent.", @@ -21,6 +24,7 @@ "page-get-eth-exchanges-no-exchanges": "Désolés, nous ne connaissons pas d'échange qui vous permette d'acheter des ETH dans ce pays. Si vous en connaissez, dites-le nous à", "page-get-eth-exchanges-no-exchanges-or-wallets": "Désolés, nous ne connaissons pas d'échanges ou de portefeuilles qui vous permettent d'acheter ETH dans ce pays. Si vous en connaissez, dites-le nous à", "page-get-eth-exchanges-no-wallets": "Désolés, nous ne connaissons pas de portefeuille qui vous permette d'acheter des ETH dans ce pays. Si vous en connaissez, dites-le nous à", + "page-get-eth-exchanges-search": "Entrez votre lieu de résidence...", "page-get-eth-exchanges-success-exchange": "Il peut s'écouler plusieurs jours pour valider votre inscription à un échange en raison de leurs contrôles juridiques.", "page-get-eth-exchanges-success-wallet-link": "portefeuilles", "page-get-eth-exchanges-success-wallet-paragraph": "Là où vous vivez, vous pouvez acheter de l'ETH directement à partir de ces portefeuilles. En savoir plus sur", @@ -50,7 +54,7 @@ "page-get-eth-wallets-link": "Plus d'infos sur les portefeuilles", "page-get-eth-wallets-purchasing": "Certains portefeuilles vous permettent d'acheter des cryptomonnaies avec une carte de débit/crédit, un virement bancaire ou même Apple Pay. Des restrictions géographiques s'appliquent.", "page-get-eth-warning": "Ces DEX ne sont pas pour les débutants car vous aurez besoin de quelques ETH pour les utiliser.", - "page-get-eth-what-are-DEX's": "En quoi consistent les DEX ?", + "page-get-eth-what-are-DEX's": "Que sont les DEX ?", "page-get-eth-whats-eth-link": "Qu'est-ce que l'ETH ?", "page-get-eth-where-to-buy-desc": "Vous pouvez acheter des ETH à partir des échanges ou des portefeuilles directement.", "page-get-eth-where-to-buy-desc-2": "Vérifiez quels services vous pouvez utiliser en fonction de l'endroit où vous résidez.", diff --git a/src/intl/fr/page-run-a-node.json b/src/intl/fr/page-run-a-node.json index c948ca49f5e..2275864387b 100644 --- a/src/intl/fr/page-run-a-node.json +++ b/src/intl/fr/page-run-a-node.json @@ -1,138 +1,138 @@ { - "page-run-a-node-build-your-own-title": "Créer votre nœud", - "page-run-a-node-build-your-own-hardware-title": "Étape 1 - Le matériel", - "page-run-a-node-build-your-own-minimum-specs": "Specs minimales", + "page-run-a-node-build-your-own-title": "Créer le vôtre", + "page-run-a-node-build-your-own-hardware-title": "Étape 1 - Le matériel informatique", + "page-run-a-node-build-your-own-minimum-specs": "Configuration minimale", "page-run-a-node-build-your-own-min-ram": "4 - 8 Go de RAM", - "page-run-a-node-build-your-own-ram-note-1": "Voir note sur le staking", - "page-run-a-node-build-your-own-ram-note-2": "Voir la note sur l'installation avec un Raspberry Pi", + "page-run-a-node-build-your-own-ram-note-1": "Voir la remarque sur la mise en jeu", + "page-run-a-node-build-your-own-ram-note-2": "Voir la remarque sur l'installation pour un Raspberry Pi", "page-run-a-node-build-your-own-min-ssd": "SSD de 2 To", "page-run-a-node-build-your-own-ssd-note": "Un SSD est nécessaire pour les vitesses d'écriture requises.", "page-run-a-node-build-your-own-min-internet": "Connexion Internet", - "page-run-a-node-build-your-own-recommended": "Recommandations", + "page-run-a-node-build-your-own-recommended": "Recommandé", "page-run-a-node-build-your-own-nuc": "Intel NUC, 7ᵉ génération ou supérieure", - "page-run-a-node-build-your-own-nuc-small": "processeur x86", + "page-run-a-node-build-your-own-nuc-small": "Processeur x86", "page-run-a-node-build-your-own-connection": "Connexion internet filaire", - "page-run-a-node-build-your-own-connection-small": "Non requis, mais offre une configuration plus facile et une connexion plus cohérente", - "page-run-a-node-build-your-own-peripherals": "Écran et clavier", - "page-run-a-node-build-your-own-peripherals-small": "A moins que vous utilisiez DAppNode ou une configuration ssh/sans écran", - "page-run-a-node-build-your-own-software": "Étape 2 - Les logiciels", + "page-run-a-node-build-your-own-connection-small": "Non requis, mais simplifie la configuration et offre une connexion plus régulière", + "page-run-a-node-build-your-own-peripherals": "Écran d'affichage et clavier", + "page-run-a-node-build-your-own-peripherals-small": "À moins que vous utilisiez DAppNode ou une configuration ssh/headless", + "page-run-a-node-build-your-own-software": "Étape 2 - Le logiciel", "page-run-a-node-build-your-own-software-option-1-title": "Option 1 - DAppNode", - "page-run-a-node-build-your-own-software-option-1-description": "Lorsque vous êtes prêt avec la partie matérielle, le système d'exploitation DAppNode peut être téléchargé depuis n'importe quel ordinateur et installé sur un nouveau SSD via une clé USB.", + "page-run-a-node-build-your-own-software-option-1-description": "Lorsque la partie matérielle est prête, le système d'exploitation DAppNode peut être téléchargé depuis n'importe quel ordinateur et installé sur un nouveau SSD à l'aide d'une clé USB.", "page-run-a-node-build-your-own-software-option-1-button": "Configuration de DAppNode", "page-run-a-node-build-your-own-software-option-2-title": "Option 2 - Ligne de commande", - "page-run-a-node-build-your-own-software-option-2-description-1": "Pour un contrôle maximal, les utilisateurs expérimentés préfèrent utiliser la ligne de commande.", - "page-run-a-node-build-your-own-software-option-2-description-2": "Consultez nos docs de développeurs pour plus d'informations sur la façon de commencer avec la sélection des clients.", - "page-run-a-node-build-your-own-software-option-2-button": "Configuration du Command line", - "page-run-a-node-buy-fully-loaded-title": "Achater déjà configuré", - "page-run-a-node-buy-fully-loaded-description": "Commandez une option plug and play aux vendeurs pour une expérience d'intégration plus facile.", + "page-run-a-node-build-your-own-software-option-2-description-1": "Pour un contrôle accru, les utilisateurs expérimentés peuvent préférer utiliser la ligne de commande.", + "page-run-a-node-build-your-own-software-option-2-description-2": "Consultez notre documentation pour les développeurs pour plus d'informations sur la façon de commencer avec la sélection des clients.", + "page-run-a-node-build-your-own-software-option-2-button": "Configuration de la ligne de commande", + "page-run-a-node-buy-fully-loaded-title": "Acheter déjà configuré", + "page-run-a-node-buy-fully-loaded-description": "Commandez une option prête à l'emploi auprès des fournisseurs pour une expérience d'intégration plus facile.", "page-run-a-node-buy-fully-loaded-note-1": "Aucune construction requise.", - "page-run-a-node-buy-fully-loaded-note-2": "Configuration de type application avec une interface graphique.", + "page-run-a-node-buy-fully-loaded-note-2": "Configuration de type applicative à l'aide de l'interface graphique.", "page-run-a-node-buy-fully-loaded-note-3": "Aucune ligne de commande requise.", - "page-run-a-node-buy-fully-loaded-plug-and-play": "Ces solutions sont de petite taille, mais sont entièrement chargées.", + "page-run-a-node-buy-fully-loaded-plug-and-play": "Ces solutions sont de petite taille, mais entièrement préconfigurées.", "page-run-a-node-censorship-resistance-title": "Résistance à la censure", "page-run-a-node-censorship-resistance-preview": "Assurez-vous d'avoir accès lorsque vous en avez besoin, et ne vous laissez pas censurer.", "page-run-a-node-censorship-resistance-1": "Un nœud tiers pourrait choisir de refuser les transactions provenant d'adresses IP spécifiques, ou les transactions impliquant des comptes spécifiques, ce qui pourrait vous empêcher d'utiliser le réseau lorsque vous en avez besoin. ", - "page-run-a-node-censorship-resistance-2": "Le fait de disposer de son propre nœud pour y soumettre des transactions garantit que vous pourrez diffuser votre transaction au reste du réseau à tout moment.", + "page-run-a-node-censorship-resistance-2": "Disposer de son propre nœud pour soumettre des transactions garantit la diffusion des transactions au reste du réseau P2P à tout moment.", "page-run-a-node-community-title": "Trouver de l'aide", - "page-run-a-node-community-description-1": "Des plateformes en ligne telles que Discord ou Reddit abritent un grand nombre de contributeurs désireux à apporter leurs aides que vous pourrez rencontrer.", - "page-run-a-node-community-description-2": "Si vous avez une question c'est très probable qu'une personne ici pourrait vous aider à trouver une solution.", - "page-run-a-node-community-link-1": "Rejoignez le serveur discord DAppNode", + "page-run-a-node-community-description-1": "Des plateformes en ligne telles que Discord ou Reddit abritent un grand nombre de contributeurs désireux de vous apporter leur aide en cas de question.", + "page-run-a-node-community-description-2": "Ne vous lancez pas seul. Si vous avez une question, il est probable qu'une personne de la communauté puisse vous aider à y répondre.", + "page-run-a-node-community-link-1": "Rejoindre le serveur Discord DAppNode", "page-run-a-node-community-link-2": "Trouver des communautés en ligne", - "page-run-a-node-choose-your-adventure-title": "Choisissez votre aventure", + "page-run-a-node-choose-your-adventure-title": "Choisir votre aventure", "page-run-a-node-choose-your-adventure-1": "Vous aurez besoin de matériel pour commencer. Bien que l'exécution du logiciel de nœud soit possible sur un ordinateur personnel, disposer d'une machine dédiée peut améliorer considérablement les performances de votre nœud tout en minimisant son impact votre ordinateur principal.", - "page-run-a-node-choose-your-adventure-2": "Lors du choix du matériel, il faut tenir compte du fait que la chaîne se développe continuellement et qu'une maintenance sera inévitablement nécessaire. L'augmentation des spécifications peut contribuer à retarder le besoin de maintenance des nœuds.", + "page-run-a-node-choose-your-adventure-2": "Lors du choix du matériel, tenez compte du fait que la chaîne grandit en permanence, et qu'il faudra le mettre à jour. Prendre une configuration plus puissante vous permettra de retarder le moment de la mise à jour de vos nœuds.", "page-run-a-node-choose-your-adventure-build-1": "Une option moins chère et plus personnalisable pour les utilisateurs un peu plus techniques.", - "page-run-a-node-choose-your-adventure-build-bullet-1": "Choisissez vos propres composants.", + "page-run-a-node-choose-your-adventure-build-bullet-1": "Procurez-vous vos propres composants.", "page-run-a-node-choose-your-adventure-build-bullet-2": "Installer DAppNode.", - "page-run-a-node-choose-your-adventure-build-bullet-3": "Ou choisissez votre propre système d'exploitation et vos propres clients.", - "page-run-a-node-choose-your-adventure-build-start": "Commencer maintenant", + "page-run-a-node-choose-your-adventure-build-bullet-3": "Ou choisissez vos propres système d'exploitation et clients.", + "page-run-a-node-choose-your-adventure-build-start": "Commencer la création", "page-run-a-node-decentralized-title": "Décentralisation", - "page-run-a-node-decentralized-preview": "Résiste au renforcement des points de défaillance centralisés.", + "page-run-a-node-decentralized-preview": "Luttez contre le renforcement des points de défaillance centralisés.", "page-run-a-node-decentralized-1": "Les serveurs cloud centralisés peuvent fournir une grande puissance de calcul, mais ils constituent une cible pour les États-nations ou les attaquants qui cherchent à perturber le réseau.", - "page-run-a-node-decentralized-2": "La résilience du réseau est assurée par un grand nombre de nœuds, situés dans des lieux géographiquement différents et exploités par de nombreuses personnes ayant des parcours différents. A mesure que d'avantage de personnes gèrent leur propre noeud, la dépendance à l'égard des points de défaillance centralisés diminue, ce qui renforce le réseau.", + "page-run-a-node-decentralized-2": "La résilience du réseau est assurée par un grand nombre de nœuds, situés dans des lieux géographiquement différents et exploités par de nombreuses personnes ayant des parcours différents. À mesure que davantage de personnes gèrent leur propre nœud, la dépendance à l'égard des points de défaillance centralisés diminue, ce qui renforce le réseau.", "page-run-a-node-feedback-prompt": "Avez-vous trouvé cette page utile ?", - "page-run-a-node-further-reading-title": "Complément d'information", + "page-run-a-node-further-reading-title": "Lecture complémentaire", "page-run-a-node-further-reading-1-link": "Maîtriser Ethereum - Devrais-je exécuter un nœud complet", "page-run-a-node-further-reading-1-author": "Andreas Antonopoulos", "page-run-a-node-further-reading-2-link": "Ethereum sur ARM - Guide de démarrage rapide", - "page-run-a-node-further-reading-3-link": "Les limites à la scalabilité d'une Blockchain", + "page-run-a-node-further-reading-3-link": "Les limites de l'extensibilité d'une Blockchain", "page-run-a-node-further-reading-3-author": "Vitalik Buterin", "page-run-a-node-getting-started-title": "Premiers pas", - "page-run-a-node-getting-started-software-section-1": "Dans les premiers temps du réseau, les utilisateurs devaient savoir utiliser le command-line afin de contrôler un nœud Ethereum.", - "page-run-a-node-getting-started-software-section-1-alert": "Si vous le préférez, et si vous avez les compétences nécessaires, n'hésitez pas à consulter nos documents techniques.", - "page-run-a-node-getting-started-software-section-1-link": "Créez votre nœud Ethereum", - "page-run-a-node-getting-started-software-section-2": "Nous avons désormais DAppNode, un logiciel gratuit et open-source qui offre aux utilisateurs une expérience semblable à celle d'une application tout en gérant leur nœud.", - "page-run-a-node-getting-started-software-section-3a": "En quelques clics, vous pouvez avoir votre nœud fonctionnel.", - "page-run-a-node-getting-started-software-section-3b": "DAppNode permet aux utilisateurs d'exécuter facilement des nœuds complets, ainsi que des dapps et d'autres réseaux P2P, sans avoir à utiliser le command-line. Cela permet à tout le monde de participer plus facilement et de créer un réseau plus décentraliser.", - "page-run-a-node-getting-started-software-title": "Partie 2 : Les logiciels", - "page-run-a-node-glyph-alt-terminal": "Glyphe du terminal", - "page-run-a-node-glyph-alt-phone": "Glyphe de la touche de l'écran du téléphone", - "page-run-a-node-glyph-alt-dappnode": "Glyphe de DAppNode", + "page-run-a-node-getting-started-software-section-1": "Dans les premiers temps du réseau, les utilisateurs devaient savoir utiliser la ligne de commande afin de contrôler un nœud Ethereum.", + "page-run-a-node-getting-started-software-section-1-alert": "Si vous préférez travailler ainsi, et si vous avez les compétences nécessaires, n'hésitez pas à consulter nos documents techniques.", + "page-run-a-node-getting-started-software-section-1-link": "Créer votre nœud Ethereum", + "page-run-a-node-getting-started-software-section-2": "Nous proposons désormais DAppNode, un logiciel gratuit et open source qui offre aux utilisateurs une expérience semblable à celle d'une application pour la gestion de leur nœud.", + "page-run-a-node-getting-started-software-section-3a": "En quelques clics, vous pouvez avoir un nœud fonctionnel.", + "page-run-a-node-getting-started-software-section-3b": "DAppNode permet aux utilisateurs d'exécuter facilement des nœuds complets, ainsi que des DApps et d'autres réseaux P2P, sans avoir à utiliser la ligne de commande. Tout le monde peut ainsi participer plus facilement et contribuer à créer un réseau plus décentralisé.", + "page-run-a-node-getting-started-software-title": "Partie 2 : Le logiciel", + "page-run-a-node-glyph-alt-terminal": "Illustration du terminal", + "page-run-a-node-glyph-alt-phone": "Illustration d'un doigt touchant un téléphone", + "page-run-a-node-glyph-alt-dappnode": "Illustration de DAppNode", "page-run-a-node-glyph-alt-pnp": "Glyphe de Plug-n-play", - "page-run-a-node-glyph-alt-hardware": "Glyphe du matériel", - "page-run-a-node-glyph-alt-software": "Glyphe du téléchargement de logiciel", - "page-run-a-node-glyph-alt-privacy": "Glyphe de confidentialité", - "page-run-a-node-glyph-alt-censorship-resistance": "Glyphe du mégaphone résistant à la censure", - "page-run-a-node-glyph-alt-earth": "Glyphe de la Terre", - "page-run-a-node-glyph-alt-decentralization": "Glyphe de la décentralisation", - "page-run-a-node-glyph-alt-vote": "Glyphe de exprimez votre voix", - "page-run-a-node-glyph-alt-sovereignty": "Glyphe de la souveraineté", + "page-run-a-node-glyph-alt-hardware": "Illustration du matériel", + "page-run-a-node-glyph-alt-software": "Illustration du téléchargement de logiciel", + "page-run-a-node-glyph-alt-privacy": "Illustration de confidentialité", + "page-run-a-node-glyph-alt-censorship-resistance": "Illustration du mégaphone pour la résistance à la censure", + "page-run-a-node-glyph-alt-earth": "Illustration de la Terre", + "page-run-a-node-glyph-alt-decentralization": "Illustration de la décentralisation", + "page-run-a-node-glyph-alt-vote": "Illustration de exprimez votre voix", + "page-run-a-node-glyph-alt-sovereignty": "Illustration de la souveraineté", "page-run-a-node-hero-alt": "Graphique représentant un nœud", "page-run-a-node-hero-header": "Prenez le contrôle.
Ayez votre propre nœud.", - "page-run-a-node-hero-subtitle": "Devenez vraiment souverain en aidant à sécuriser le réseau. Devenez Ethereum.", + "page-run-a-node-hero-subtitle": "Devenez vraiment souverain tout en aidant à sécuriser le réseau. Devenez Ethereum.", "page-run-a-node-hero-cta-1": "En savoir plus", - "page-run-a-node-hero-cta-2": "Plongeons dedans !", - "page-run-a-node-install-manually-title": "Installer manuellement", - "page-run-a-node-install-manually-1": "Si vous êtes un utilisateur plus technique et que vous voulez créer votre propre appareil, DAppNode peut être téléchargé depuis n'importe quel ordinateur et installé sur un SSD vierge grâce à une clé USB.", + "page-run-a-node-hero-cta-2": "C'est parti !", + "page-run-a-node-install-manually-title": "Installation manuelle", + "page-run-a-node-install-manually-1": "Si vous êtes un utilisateur plus technique et que vous voulez créer votre propre appareil, l'application DAppNode peut être téléchargée depuis n'importe quel ordinateur et installée sur un SSD vierge à l'aide d'une clé USB.", "page-run-a-node-meta-description": "Une introduction au quoi, pourquoi et comment du fonctionnement d'un nœud Ethereum.", - "page-run-a-node-participate-title": "Participer", + "page-run-a-node-participate-title": "Prenez part au mouvement", "page-run-a-node-participate-preview": "La révolution décentralisée commence avec vous.", "page-run-a-node-participate-1": "En exécutant un nœud, vous devenez partie prenante d'un mouvement mondial pour décentraliser le contrôle et le pouvoir sur un monde de l'information.", - "page-run-a-node-participate-2": "Si vous êtes un détenteur, apportez de la valeur à vos ETH en soutenant le bon fonctionnement et la décentralisation du réseau, et assurez-vous d'avoir votre mot à dire sur son futur.", - "page-run-a-node-privacy-title": "Confidentialité et Sécurité", + "page-run-a-node-participate-2": "Si vous êtes un détenteur, apportez de la valeur à vos ETH en soutenant le bon fonctionnement et la décentralisation du réseau, et assurez-vous d'avoir votre mot à dire sur son avenir.", + "page-run-a-node-privacy-title": "Confidentialité et sécurité", "page-run-a-node-privacy-preview": "Ne divulguez plus vos informations personnelles à des nœuds tiers.", "page-run-a-node-privacy-1": "Lors de l'envoi de transactions en utilisant des nœuds publics, des informations personnelles telles que votre adresse IP et votre adresse Ethereum peuvent être divulguées à ces services tiers.", - "page-run-a-node-privacy-2": "En connectant des wallets compatibles à votre propre nœud, vous pouvez utiliser votre wallet pour interagir avec la blockchain de manière confidentielle et sécurisée.", - "page-run-a-node-privacy-3": "De plus, si un nœud malveillant distribue une transaction invalide, votre nœud l'ignorera simplement. Chaque transaction est vérifiée localement sur votre propre machine, donc vous n'avez besoin de faire confiance à personne.", - "page-run-a-node-rasp-pi-title": "Une note sur le Raspberry Pi (processeur ARM)", - "page-run-a-node-rasp-pi-description": "Les Raspberry Pi sont des ordinateurs légers et abordables, mais ils ont des limitations qui peuvent affecter les performances de votre nœud. Bien que non recommandé pour le staking, ceux-ci peuvent être une excellente et peu coûteuse option pour exécuter un noeud pour un usage personnel, avec seulement 4 à 8 Go de RAM.", + "page-run-a-node-privacy-2": "En connectant des portefeuilles compatibles à votre propre nœud, vous pouvez utiliser votre portefeuille pour interagir avec la blockchain de manière confidentielle et sécurisée.", + "page-run-a-node-privacy-3": "De plus, si un nœud malveillant distribue une transaction invalide, votre nœud l'ignorera simplement. Chaque transaction est vérifiée localement sur votre propre machine ; vous n'avez donc besoin de faire confiance à personne.", + "page-run-a-node-rasp-pi-title": "Remarque sur le Raspberry Pi (processeur ARM)", + "page-run-a-node-rasp-pi-description": "Les Raspberry Pi sont des ordinateurs légers et abordables, mais leurs limites peuvent affecter les performances de votre nœud. Bien que non recommandés pour la mise en jeu, ils peuvent être une option idéale et peu coûteuse pour exécuter un nœud pour un usage personnel, avec seulement 4 à 8 Go de RAM.", "page-run-a-node-rasp-pi-note-1-link": "DAppNode sur processeur ARM", "page-run-a-node-rasp-pi-note-1-description": "Consultez ces instructions si vous prévoyez d'exécuter DAppNode sur un Raspberry Pi", "page-run-a-node-rasp-pi-note-2-link": "Documentation relative à Ethereum et ARM", - "page-run-a-node-rasp-pi-note-2-description": "Apprendre à configurer un nœud via la ligne de commande sur un Raspberry Pi", - "page-run-a-node-rasp-pi-note-3-link": "Exécuter un nœud avec Raspberry Pi", + "page-run-a-node-rasp-pi-note-2-description": "Apprenez à configurer un nœud à l'aide de la ligne de commande sur un Raspberry Pi", + "page-run-a-node-rasp-pi-note-3-link": "Exécuter un nœud avec un Raspberry Pi", "page-run-a-node-rasp-pi-note-3-description": "Suivez ce lien si vous préférez les tutoriels", "page-run-a-node-shop": "Boutique", "page-run-a-node-shop-avado": "Boutique Avado", "page-run-a-node-shop-dappnode": "Boutique DAppNode", "page-run-a-node-staking-title": "Mettre en jeu vos ETH", - "page-run-a-node-staking-description": "Bien que cela ne soit pas requis, avoir un nœud en cours d'exécution vous fait face un pas supplémentaire vers la mise en jeu effective de vos ETH, pour gagner des récompenses et contribuer à la sécurité d'Ethereum.", + "page-run-a-node-staking-description": "Bien que cela ne soit pas obligatoire, disposer d'un nœud opérationnel vous rapproche de la mise en jeu de vos ETH. Vous pourrez alors gagner des récompenses et contribuer à la sécurité d'Ethereum.", "page-run-a-node-staking-link": "Mettre en jeu de l'ETH", "page-run-a-node-staking-plans-title": "Vous souhaitez participer à la mise en jeu ?", - "page-run-a-node-staking-plans-description": "Pour maximiser l'efficacité de votre validateur, un minimum de 16 Go de RAM est recommandé, mais 32 Go est préférable, avec un score de référence de votre CPU de 6667+ sur cpubenchmark.net. Il est aussi recommandé que les validateurs puissent accéder à une bande passante internet à haute vitesse illimitée, bien que cela ne soit pas obligatoire.", + "page-run-a-node-staking-plans-description": "Pour maximiser l'efficacité de votre validateur, un minimum de 16 Go de RAM est recommandé, mais une capacité de 32 Go est préférable, avec un score de référence de votre CPU de 6667+ sur cpubenchmark.net. Il est également recommandé que les validateurs puissent accéder à une bande passante internet à haute vitesse illimitée, bien que cela ne soit pas obligatoire.", "page-run-a-node-staking-plans-ethstaker-link-label": "Comment choisir du matériel informatique pour devenir validateur sur Ethereum", "page-run-a-node-staking-plans-ethstaker-link-description": "EthStaker aborde le sujet en profondeur dans cette vidéo d'une heure", - "page-run-a-node-sovereignty-title": "La souveraineté", - "page-run-a-node-sovereignty-preview": "Exécuter un noeud est l'étape qui suit naturellement l'obtention de votre portefeuille Ethereum personnel.", - "page-run-a-node-sovereignty-1": "Un portefeuille Ethereum vous permet de prendre le contrôle et de conserver vos actifs numériques en possédant les clés privées sur vos adresses. Toutefois, ces clés ne vous indiquent pas l'état actuel de la blockchain, comme le solde de votre portefeuille.", - "page-run-a-node-sovereignty-2": "Par défaut, les portefeuilles Ethereum interagissent généralement avec un nœud de tierce partie, tel qu'Infura ou Alchemy, lorsque vous consultez vos soldes. Exécuter votre propre nœud vous permet d'avoir votre propre copie de la blockchain Ethereum.", - "page-run-a-node-title": "Ajouter un nœud", - "page-run-a-node-voice-your-choice-title": "Partagez votre avis", + "page-run-a-node-sovereignty-title": "Souveraineté", + "page-run-a-node-sovereignty-preview": "Voyez l'exécution d'un nœud comme l'étape qui suit naturellement l'obtention de votre portefeuille Ethereum personnel.", + "page-run-a-node-sovereignty-1": "Un portefeuille Ethereum vous permet de prendre et de garder le contrôle de vos actifs numériques en conservant les clés privées de vos adresses. Toutefois, ces clés ne vous indiquent pas l'état actuel de la blockchain, comme le solde de votre portefeuille.", + "page-run-a-node-sovereignty-2": "Par défaut, les portefeuilles Ethereum interagissent généralement avec un nœud de tierce partie, telle qu'Infura ou Alchemy, lorsque vous consultez vos soldes. Exécuter votre propre nœud vous permet d'avoir votre propre copie de la blockchain Ethereum.", + "page-run-a-node-title": "Exécuter un nœud", + "page-run-a-node-voice-your-choice-title": "Exprimez votre voix", "page-run-a-node-voice-your-choice-preview": "Ne cédez pas le contrôle en cas de fourche.", "page-run-a-node-voice-your-choice-1": "En cas de fourche de la chaîne (deux chaînes émergeant avec deux ensembles de règles différents), exécuter votre propre nœud vous permet de choisir l'ensemble de règles vous soutenez. C'est à vous de mettre à niveau votre nœud vers les nouvelles règles et de soutenir les changements proposés, ou non.", - "page-run-a-node-voice-your-choice-2": "Si vous avez déposé des ETH, avoir votre propre nœud vous permet de choisir votre propre client, de minimiser votre risque d'être bannit et de réagir aux demandes fluctuantes du réseau. Deposer chez une tierce partie vous fait perdre la capacité de pouvoir voter pour le client que vous pensez être le meilleur.", - "page-run-a-node-what-title": "Qu'est-ce que veut dire \"avoir un nœud\"?", + "page-run-a-node-voice-your-choice-2": "Si vous avez mis en jeu des ETH, avoir votre propre nœud vous permet de choisir votre propre client, de minimiser le risque de délestage et de réagir aux demandes fluctuantes du réseau. En mettant en jeu chez une tierce partie, vous perdez la capacité de pouvoir voter pour le client que vous pensez être le meilleur.", + "page-run-a-node-what-title": "Que veut dire « exécuter un nœud » ?", "page-run-a-node-what-1-subtitle": "Exécuter un logiciel", - "page-run-a-node-what-1-text": "Désigné sous le nom de \"client\", ce logiciel télécharge une copie de la blockchain Ethereum et vérifie la validité de chaque bloc, puis la garde à jour avec les nouveaux blocs et transactions, et aide les autres à télécharger et à mettre à jour leurs propres copies.", + "page-run-a-node-what-1-text": "Désigné sous le nom de « client », ce logiciel télécharge une copie de la blockchain Ethereum et vérifie la validité de chaque bloc, puis la maintient à jour avec les nouveaux blocs et transactions, et aide les autres à télécharger et à mettre à jour leurs propres copies.", "page-run-a-node-what-2-subtitle": "Avec du matériel", "page-run-a-node-what-2-text": "Ethereum est conçu pour exécuter un nœud sur des ordinateurs grand public moyens. Vous pouvez utiliser n'importe quel ordinateur personnel, mais la plupart des utilisateurs choisissent d'exécuter leur nœud sur du matériel dédié pour éliminer l'impact sur les performances de leur machine et minimiser les temps d'arrêt du nœud.", "page-run-a-node-what-3-subtitle": "En ligne", - "page-run-a-node-what-3-text": "L'execution d'un noeud Ethereum peut sembler compliquée aux premiers coups d'oeil, mais il s'agit simplement d'executer en permanence un logiciel sur un ordinateur connécté à Internet. Lorsqu'il est hors ligne, votre noeud sera simplement inactif jusqu'à ce qu'il se reconnecte et se mette à jour avec les derniers changements.", - "page-run-a-node-who-title": "Qui devrait exécuter un noeud ?", + "page-run-a-node-what-3-text": "L'exécution d'un nœud Ethereum peut sembler compliquée au premier coup d'œil, mais il s'agit simplement d'exécuter en permanence un logiciel sur un ordinateur connecté à Internet. Lorsqu'il est hors ligne, votre nœud sera simplement inactif jusqu'à ce qu'il se reconnecte et se mette à jour avec les derniers changements.", + "page-run-a-node-who-title": "Qui devrait exécuter un nœud ?", "page-run-a-node-who-preview": "Tout le monde ! Les nœuds ne sont pas réservés aux mineurs et aux validateurs. N'importe qui peut exécuter un nœud, vous n'avez même pas besoin d'ETH.", - "page-run-a-node-who-copy-1": "Nul besoin de mettre vos ETH en jeu ou d'être un mineur pour exécuter un nœud. C'est en fait tous les autres nœuds sur Ethereum qui tiennent les mineurs et les validateurs responsables.", - "page-run-a-node-who-copy-2": "Vous n'obtiendrez peut-être pas les récompenses financières que gagnent les validateurs et les mineurs, mais il existe de nombreux autres avantages à gérer un nœud pour tout utilisateur d'Ethereum, notamment la confidentialité, la sécurité, la dépendance réduite aux serveurs tiers, la résistance à la censure et l'amélioration de la santé et de la décentralisation du réseau.", + "page-run-a-node-who-copy-1": "Nul besoin de mettre vos ETH en jeu ou d'être un mineur pour exécuter un nœud. Ce sont en fait tous les autres nœuds sur Ethereum qui tiennent les mineurs et les validateurs responsables.", + "page-run-a-node-who-copy-2": "Vous n'obtiendrez peut-être pas les récompenses financières que gagnent les validateurs et les mineurs, mais il existe de nombreux autres avantages à gérer un nœud pour tout utilisateur d'Ethereum, notamment la confidentialité, la sécurité, la dépendance réduite aux serveurs tiers, la résistance à la censure et l'amélioration de l'intégrité et de la décentralisation du réseau.", "page-run-a-node-who-copy-3": "Avoir votre propre nœud signifie que vous n'avez pas besoin de faire confiance aux informations sur l'état du réseau fournies par un tiers.", - "page-run-a-node-who-copy-bold": "Ne faites pas confiance. Vérifier.", - "page-run-a-node-why-title": "Pourquoi avoir son nœud ?" + "page-run-a-node-who-copy-bold": "Ne faites pas confiance, vérifiez.", + "page-run-a-node-why-title": "Pourquoi exécuter un nœud ?" } diff --git a/src/intl/fr/page-wallets-find-wallet.json b/src/intl/fr/page-wallets-find-wallet.json index 9e72fd3ae8a..70eb6d471fe 100644 --- a/src/intl/fr/page-wallets-find-wallet.json +++ b/src/intl/fr/page-wallets-find-wallet.json @@ -51,10 +51,10 @@ "page-find-wallet-description-linen": "Portefeuille de contrat mobiles intelligents : faites du rendement, achetez des cryptomonnaies, faites-les fructifier et participez à DeFi. Gagnez des récompenses et des jetons de gouvernance.", "page-find-wallet-description-loopring": "Le premier portefeuille de contrats intelligents Ethereum avec trading basé sur zkRollup, transferts et AMM. Sans carburant, sécurisé et simple.", "page-find-wallet-description-mathwallet": "MathWallet est un portefeuille de cryptomonnaies universelle multi-plateforme (téléphone/extensions/web) qui supporte plus de 50 blockchains et plus de 20 000 dApps.", - "page-find-wallet-description-metamask": "Commencez à explorer les applications blockchain en quelques secondes. Reconnu par plus d'un million d'utilisateurs dans le monde entier.", + "page-find-wallet-description-metamask": "Commencez à explorer les applications blockchain en quelques secondes. Adopté par plus de vingt et un million d'utilisateurs dans le monde entier.", "page-find-wallet-description-monolith": "Le seul portefeuille au monde avec carte de débit Visa. Disponible au Royaume-Uni et en Europe et utilisable dans le monde entier.", "page-find-wallet-description-multis": "Multis est un compte de cryptomonnaie conçu pour les entreprises. Avec Multis, les entreprises peuvent stocker avec des contrôles d'accès, gagner des intérêts sur leurs épargnes et rationaliser leurs paiement et leur comptabilité.", - "page-find-wallet-description-mycrypto": "MyCrypto est une interface qui vous permet de gérer tous vos comptes. Echangez, envoyez et achetez des cryptos avec des portefeuilles comme MetaMask, Ledger, Trezor et plus encore.", + "page-find-wallet-description-mycrypto": "MyCrypto est une interface qui vous permet de gérer tous vos comptes. Echangez, envoyez et achetez des cryptos avec des portefeuilles comme Metamask, Ledger, Trezor et plus encore.", "page-find-wallet-description-myetherwallet": "Une interface client gratuite qui vous aide à interagir avec la blockchain Ethereum", "page-find-wallet-description-numio": "Numio est un portefeuille Ethereum de Couche 2 non surveillé, alimenté par zkRollups pour des transactions ERC-20 et des échanges de jetons rapides et à moindre coût. Numio est disponible sur Android et iOS.", "page-find-wallet-description-opera": "Portefeuille de cryptomonnaie intégré dans Opera Touch sur iOS et Opera pour Android. Le premier navigateur à intégrer un portefeuille de cryptomonnaies, permettant un accès transparent au web émergent de demain (Web 3).", diff --git a/src/intl/fr/page-what-is-ethereum.json b/src/intl/fr/page-what-is-ethereum.json index fa1c1ac3ea3..5550b3af5bb 100644 --- a/src/intl/fr/page-what-is-ethereum.json +++ b/src/intl/fr/page-what-is-ethereum.json @@ -13,14 +13,14 @@ "page-what-is-ethereum-alt-img-lego": "Une illustration d'une main fabriquant un symbole ETH au moyen de briques de lego", "page-what-is-ethereum-alt-img-social": "Une illustration de personnages dans un espace social dédié à Ethereum avec un grand logo ETH", "page-what-is-ethereum-banking-card": "Services bancaires pour tous", - "page-what-is-ethereum-banking-card-desc": "Tout le monde n'a pas accès aux services financiers, mais tout ce dont vous avez besoin pour accéder à Ethereum et à ses produits de prêt, d'emprunt et d'épargne est une connexion Internet.", + "page-what-is-ethereum-banking-card-desc": "Tout le monde n'a pas accès aux services financiers, mais tout ce dont vous avez besoin pour accéder à Ethereum et à ses produits de prêt, d'emprunt et d'épargne est d'une connexion Internet.", "page-what-is-ethereum-build": "Créez avec Ethereum", "page-what-is-ethereum-build-desc": "Si vous voulez essayer de développer avec Ethereum, consultez notre documentation, essayez quelques tutoriels, ou jetez un œil aux outils nécessaires pour commencer.", "page-what-is-ethereum-censorless-card": "Résistant à la censure", - "page-what-is-ethereum-censorless-card-desc": "Aucun gouvernement ou entreprise n'a de contrôle sur Ethereum. Cette décentralisation rend pratiquement impossible à quiconque de vous empêcher de recevoir des paiements ou d'utiliser des services sur Ethereum.", + "page-what-is-ethereum-censorless-card-desc": "Aucun gouvernement ni entreprise n'a de contrôle sur Ethereum. Cette décentralisation rend pratiquement impossible à quiconque de vous empêcher de recevoir des paiements ou d'utiliser des services sur Ethereum.", "page-what-is-ethereum-comm-desc": "Notre communauté comprend des personnes de tous horizons, y compris des artistes, des crypto-anarchistes, des entreprises du Fortune 500, et maintenant vous. Découvrez comment vous pouvez participer dès maintenant.", "page-what-is-ethereum-commerce-card": "Garanties de commerce", - "page-what-is-ethereum-commerce-card-desc": "Ethereum crée un terrain de jeu plus équitable. Les clients ont une garantie sécurisée et intégrée que les fonds ne changeront de main que si vous fournissez ce qui a été convenu. Vous pouvez faire des affaires sans que les grandes entreprises ne s'en mêlent.", + "page-what-is-ethereum-commerce-card-desc": "Ethereum crée un terrain de jeu plus équitable. Les acheteurs ont une garantie sécurisée et intégrée que les fonds ne changeront de main que si vous fournissez ce qui a été convenu. Vous pouvez faire des affaires sans que les grandes entreprises ne s'en mêlent.", "page-what-is-ethereum-community": "La communauté Ethereum", "page-what-is-ethereum-compatibility-card": "La compatibilité avant tout", "page-what-is-ethereum-compatibility-card-desc": "De meilleurs produits et expériences sont créés en permanence grâce à la compatibilité par défaut des produits Ethereum. Les entreprises peuvent donc se baser sur le succès de chacun.", @@ -41,7 +41,7 @@ "page-what-is-ethereum-native-img-alt": "Une illustration de robot avec un coffre-fort pour un torse, utilisée pour représenter les portefeuilles Ethereum", "page-what-is-ethereum-native-title": "ETH", "page-what-is-ethereum-p2p-card": "Un réseau P2P", - "page-what-is-ethereum-p2p-card-desc": "Ethereum vous permet de transférer de l'argent ou de passer des accords, directement avec quelqu'un d'autre. Vous n'avez pas besoin de passer par des sociétés intermédiaires.", + "page-what-is-ethereum-p2p-card-desc": "Ethereum vous permet de transférer de l'argent ou de conclure des accords, directement avec quelqu'un d'autre. Vous n'avez pas besoin de passer par des sociétés intermédiaires.", "page-what-is-ethereum-singlecard-desc": "Si vous êtes intéressé par la blockchain et le côté technique d'Ethereum, on a ce qu'il vous faut.", "page-what-is-ethereum-singlecard-link": "Fonctionnement d'Ethereum", "page-what-is-ethereum-singlecard-title": "Fonctionnement d'Ethereum", From 14848bac9b083d65ad78ed2611be1a55772ce10d Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 17:05:36 -0700 Subject: [PATCH 118/167] it Use Ethereum content import from Crowdin --- src/intl/it/page-developers-index.json | 24 ++++----- .../it/page-developers-learning-tools.json | 4 +- src/intl/it/page-get-eth.json | 12 ++--- src/intl/it/page-run-a-node.json | 50 +++++++++---------- src/intl/it/page-wallets-find-wallet.json | 6 +-- 5 files changed, 48 insertions(+), 48 deletions(-) diff --git a/src/intl/it/page-developers-index.json b/src/intl/it/page-developers-index.json index 801f0c08b5e..67801845488 100644 --- a/src/intl/it/page-developers-index.json +++ b/src/intl/it/page-developers-index.json @@ -4,14 +4,14 @@ "page-developers-about-desc": "ethereum.org ti aiuta a sviluppare con Ethereum con documentazione sui concetti fondamentali e sullo stack di sviluppo. In più, ti offre tutorial per muovere i primi passi.", "page-developers-about-desc-2": "Sull'onda della rete di sviluppatori Mozilla, abbiamo pensato che Ethereum avesse bisogno di un luogo in cui ospitare utili contenuti e risorse per sviluppatori. Come per Mozilla, qui è tutto open-source e disponibile per essere esteso e migliorato da voi.", "page-developers-account-desc": "Contratti o utenti sulla rete", - "page-developers-accounts-link": "Account", + "page-developers-accounts-link": "Conti", "page-developers-advanced": "Avanzate", - "page-developers-api-desc": "Usare le librerie per interagire con gli Smart Contract", + "page-developers-api-desc": "Usare le librerie per interagire coi contratti intelligenti", "page-developers-api-link": "API backend", "page-developers-aria-label": "Menu Sviluppatori", "page-developers-block-desc": "Batch di transazioni aggiunte alla blockchain", "page-developers-block-explorers-desc": "Il portale per i dati Ethereum", - "page-developers-block-explorers-link": "Block Explorer", + "page-developers-block-explorers-link": "Esploratori di blocchi", "page-developers-blocks-link": "Blocchi", "page-developers-browse-tutorials": "Scopri i tutorial", "page-developers-choose-stack": "Scegli il tuo stack", @@ -21,14 +21,14 @@ "page-developers-discord": "Unisciti a Discord", "page-developers-docs-introductions": "Introduzioni", "page-developers-evm-desc": "Il computer che elabora transazioni", - "page-developers-evm-link": "La virtual machine Ethereum (EVM)", + "page-developers-evm-link": "La Macchina Virtuale di Ethereum (EVM)", "page-developers-explore-documentation": "Consulta la documentazione", "page-developers-feedback": "Puoi comunicarci il tuo feedback tramite una segnalazione GitHub o sul nostro server Discord.", "page-developers-frameworks-desc": "Strumenti per rendere più rapido lo sviluppo", - "page-developers-frameworks-link": "Framework di sviluppo", + "page-developers-frameworks-link": "Quadri di sviluppo", "page-developers-fundamentals": "Principi fondamentali", "page-developers-gas-desc": "Ether necessari per le transazioni", - "page-developers-gas-link": "Carburante", + "page-developers-gas-link": "Gas", "page-developers-get-started": "Come vorresti iniziare?", "page-developers-improve-ethereum": "Aiutaci a rendere migliore ethereum.org", "page-developers-improve-ethereum-desc": "Questi documenti sono il prodotto di un lavoro di gruppo, proprio come ethereum.org. Crea una segnalazione se trovi errori, vuoi proporre miglioramenti o nuove opportunità per aiutare gli sviluppatori Ethereum.", @@ -40,8 +40,8 @@ "page-developers-intro-ether-link": "Introduzione a Ether", "page-developers-intro-stack": "Introduzione allo stack", "page-developers-intro-stack-desc": "Introduzione allo stack Ethereum", - "page-developers-js-libraries-desc": "Usare javascript per interagire con gli Smart Contract", - "page-developers-js-libraries-link": "Librerie javascript", + "page-developers-js-libraries-desc": "Usare JavaScript per interagire con i contratti intelligenti", + "page-developers-js-libraries-link": "Librerie di JavaScript", "page-developers-language-desc": "Usare Ethereum con i linguaggi già familiari", "page-developers-languages": "Programmare linguaggi", "page-developers-learn": "Imparare a sviluppare con Ethereum", @@ -50,15 +50,15 @@ "page-developers-learn-tutorials-cta": "Guarda i tutorial", "page-developers-learn-tutorials-desc": "Impara a sviluppare passo-passo con Ethereum da sviluppatori già esperti.", "page-developers-meta-desc": "Documentazione, tutorial e strumenti per sviluppatori che usano Ethereum.", - "page-developers-mev-desc": "Un'introduzione al \"miner extractable value\" (MEV)", - "page-developers-mev-link": "Miner extractable value (MEV)", + "page-developers-mev-desc": "Un'introduzione al valore estraibile del minatore (MEV)", + "page-developers-mev-link": "Valore Estraibile del Minatore (MEV)", "page-developers-mining-desc": "Come cerare nuovi blocchi e raggiungere il consenso", "page-developers-mining-link": "Mining", "page-developers-networks-desc": "Panoramica su rete principale e le reti di test", "page-developers-networks-link": "Reti", "page-developers-node-clients-desc": "Come verificare blocchi e transazioni nella rete", "page-developers-node-clients-link": " Nodi e client", - "page-developers-oracle-desc": "Inserire dati off-chain negli Smart Contract", + "page-developers-oracle-desc": "Inserire i dati esterni alla catena nei tuoi contratti intelligenti", "page-developers-oracles-link": "Oracoli", "page-developers-play-code": "Prove con il codice", "page-developers-read-docs": "Leggi i documenti", @@ -69,7 +69,7 @@ "page-developers-set-up": "Configurare l'ambiente locale", "page-developers-setup-desc": "Preparare lo stack per lo sviluppo configurando un ambiente di sviluppo.", "page-developers-smart-contracts-desc": "La logica delle dapp: accordi a esecuzione automatica", - "page-developers-smart-contracts-link": "Smart Contract", + "page-developers-smart-contracts-link": "Contratti intelligenti", "page-developers-stack": "Lo stack", "page-developers-start": "Inizia a sperimentare", "page-developers-start-desc": "Preferisci prima provare e porre domande in seguito?", diff --git a/src/intl/it/page-developers-learning-tools.json b/src/intl/it/page-developers-learning-tools.json index d5d2a8c9f49..753929e2ae2 100644 --- a/src/intl/it/page-developers-learning-tools.json +++ b/src/intl/it/page-developers-learning-tools.json @@ -5,7 +5,7 @@ "page-learning-tools-bootcamps-desc": "Corsi online a pagamento per iniziare al meglio, velocemente.", "page-learning-tools-browse-docs": "Sfoglia i documenti", "page-learning-tools-capture-the-ether-description": "\"Cattura l'Ether\" è un gioco nel quale si hackerano gli smart contract di Ethereum per imparare le basi della sicurezza.", - "page-learning-tools-capture-the-ether-logo-alt": "Logo di Cattura l'Ether", + "page-learning-tools-capture-the-ether-logo-alt": "Logo di Capture the Ether", "page-learning-tools-chainshot-description": "Bootcamp guidato e in remoto allo sviluppo di Ethereum e altri corsi aggiuntivi.", "page-learning-tools-chainshot-logo-alt": "Logo ChainShot", "page-learning-tools-coding": "Impara scrivendo codice", @@ -41,5 +41,5 @@ "page-learning-tools-nftschool-description": "Esplora cosa sta succedendo con i token non fungibili (o NFT) in termini tecnici.", "page-learning-tools-nftschool-logo-alt": "Logo della scuola NFT", "page-learning-tools-pointer-description": "Impara le compatenze degli sviluppatori web3 con tutorial interattivi e divertenti. Ottieni cripto-ricompense lungo il percorso", - "page-learning-tools-pointer-logo-alt": "Logo Puntatore" + "page-learning-tools-pointer-logo-alt": "Logo di Pointer" } diff --git a/src/intl/it/page-get-eth.json b/src/intl/it/page-get-eth.json index 08a67d6d558..d461c6c63de 100644 --- a/src/intl/it/page-get-eth.json +++ b/src/intl/it/page-get-eth.json @@ -19,7 +19,7 @@ "page-get-eth-exchanges-except": "Eccetto", "page-get-eth-exchanges-header": "In che paese vivi?", "page-get-eth-exchanges-header-exchanges": "Scambi", - "page-get-eth-exchanges-header-wallets": "Wallet", + "page-get-eth-exchanges-header-wallets": "Portafogli", "page-get-eth-exchanges-intro": "Borse e portafogli hanno restrizioni sul luogo di vendita delle criptovalute.", "page-get-eth-exchanges-no-exchanges": "Siamo spiacenti, non conosciamo borse che ti permettano di acquistare ETH da questo paese. Se tu le conosci, faccelo sapere:", "page-get-eth-exchanges-no-exchanges-or-wallets": "Siamo spiacenti, non conosciamo borse o portafogli che ti permettano di acquistare ETH da questo paese. Se tu li conosci, faccelo sapere:", @@ -41,7 +41,7 @@ "page-get-eth-protect-eth-in-wallet": "Proteggi i tuoi ETH in un portafoglio", "page-get-eth-search-by-country": "Cerca per paese", "page-get-eth-security": "Questo però significa anche che devi prendere sul serio la sicurezza dei tuoi fondi. Con ETH, non affidi i tuoi soldi a una banca, ci devi pensare tu.", - "page-get-eth-smart-contract-link": "Maggiori informazioni sugli Smart Contract", + "page-get-eth-smart-contract-link": "Di più sui contratti intelligenti", "page-get-eth-swapping": "Scambia i tuoi token con ETH di altri. E viceversa.", "page-get-eth-traditional-currencies": "Acquista con valute tradizionali", "page-get-eth-traditional-payments": "Acquista ETH direttamente dai venditori con metodi di pagamento tradizionali.", @@ -49,10 +49,10 @@ "page-get-eth-use-your-eth": "Usa i tuoi ETH", "page-get-eth-use-your-eth-dapps": "Ora che possiedi qualche ETH, dai un'occhiata ad alcune applicazioni Ethereum (dapp). Ci sono dapp di finanza, social media, videogiochi e molte altre categorie.", "page-get-eth-wallet-instructions": "Segui le istruzioni del portafoglio", - "page-get-eth-wallet-instructions-lost": "Perdere l'accesso al portafoglio significa perderlo ai fondi. Il tuo portafoglio deve darti istruzioni su come evitare questa situazione. Seguile con attenzione. Nella maggior parte dei casi, nessuno potrà aiutarti se perderai l'accesso al tuo portafoglio.", - "page-get-eth-wallets": "Wallet", - "page-get-eth-wallets-link": "Maggiori informazioni sui portafogli", - "page-get-eth-wallets-purchasing": "Alcuni portafogli ti permettono di acquistare criptovalute con carta di debito/credito, bonifico bancario oppure Apple Pay. Si applicano restrizioni geografiche.", + "page-get-eth-wallet-instructions-lost": "Se perdi l'accesso al tuo portafoglio, perderai l'accesso ai tuoi fondi. Il tuo portafoglio dovrebbe darti le istruzioni per evitarlo. Assicurati di seguirle attentamente; in gran parte dei casi, nessuno può aiutarti se perdi l'accesso al tuo portafoglio.", + "page-get-eth-wallets": "Portafogli", + "page-get-eth-wallets-link": "Di più sui portafogli", + "page-get-eth-wallets-purchasing": "Alcuni portafogli, ti consentono di acquistare criptovalute con una carta di debito/credito, bonifico bancario o persino Apple Pay. Si applicano le limitazioni geografiche.", "page-get-eth-warning": "Queste DEX non sono per principianti, in quanto avrai bisogno di diversi ETH per usarle.", "page-get-eth-what-are-DEX's": "Cosa sono le DEX?", "page-get-eth-whats-eth-link": "Cos'è l'ETH?", diff --git a/src/intl/it/page-run-a-node.json b/src/intl/it/page-run-a-node.json index f5c458e2702..d0b0bd63b25 100644 --- a/src/intl/it/page-run-a-node.json +++ b/src/intl/it/page-run-a-node.json @@ -7,9 +7,9 @@ "page-run-a-node-build-your-own-ram-note-2": "Vedi nota su Raspberry Pi", "page-run-a-node-build-your-own-min-ssd": "SSD 2 TB", "page-run-a-node-build-your-own-ssd-note": "SSD necessario per le velocità di scrittura richieste.", - "page-run-a-node-build-your-own-min-internet": "Connessione Internet", + "page-run-a-node-build-your-own-min-internet": "Connessione a Internet", "page-run-a-node-build-your-own-recommended": "Raccomandato", - "page-run-a-node-build-your-own-nuc": "Intel NUC, 7ª gen o superiore", + "page-run-a-node-build-your-own-nuc": "Intel NUC, 7ª generazione o superiore", "page-run-a-node-build-your-own-nuc-small": "Processore x86", "page-run-a-node-build-your-own-connection": "Connessione internet via cavo", "page-run-a-node-build-your-own-connection-small": "Non è obbligatoria, ma semplifica la configurazione e rende la connessione più stabile", @@ -21,7 +21,7 @@ "page-run-a-node-build-your-own-software-option-1-button": "Configurazione di DAppNode", "page-run-a-node-build-your-own-software-option-2-title": "Opzione 2 – Riga di comando", "page-run-a-node-build-your-own-software-option-2-description-1": "Per il massimo controllo, gli utenti esperti potrebbero preferire l'uso della linea di comando.", - "page-run-a-node-build-your-own-software-option-2-description-2": "Vedi i nostri documenti per gli sviluppatori per maggiori informazioni su come iniziare con la selezione del client.", + "page-run-a-node-build-your-own-software-option-2-description-2": "Visualizza le nostre documentazioni per sviluppatori per ulteriori informazioni sui primi passi per la selezione del client.", "page-run-a-node-build-your-own-software-option-2-button": "Configurazione della riga di comando", "page-run-a-node-buy-fully-loaded-title": "Acquista una soluzione completa", "page-run-a-node-buy-fully-loaded-description": "Ordina un'opzione plug and play per un'esperienza di onboarding semplicissima.", @@ -36,7 +36,7 @@ "page-run-a-node-community-title": "Trova qualcuno che ti aiuti", "page-run-a-node-community-description-1": "Le piattaforme online, come Discord o Reddit, ospitano un gran numero di sviluppatori di community disposti ad aiutarti con qualsiasi domanda.", "page-run-a-node-community-description-2": "Non fare tutto da solo/a: se hai dubbi, è probabile che qualcuno qui possa aiutarti a trovare una risposta.", - "page-run-a-node-community-link-1": "Unisciti al Discord DAppNode", + "page-run-a-node-community-link-1": "Unisciti al Discord di DAppNode", "page-run-a-node-community-link-2": "Trova comunità online", "page-run-a-node-choose-your-adventure-title": "Scegli la tua avventura", "page-run-a-node-choose-your-adventure-1": "Avrai bisogno di un po' di hardware per iniziare. Benché sia possibile eseguire il software del nodo su un personal computer, poter contare su una macchina dedicata permette di migliorare notevolmente le prestazioni del nodo minimizzando il suo impatto sul tuo computer principale.", @@ -48,22 +48,22 @@ "page-run-a-node-choose-your-adventure-build-start": "Inizia a sviluppare", "page-run-a-node-decentralized-title": "Decentralizzazione", "page-run-a-node-decentralized-preview": "Resistere al rafforzamento dei punti di fallimento centralizzati.", - "page-run-a-node-decentralized-1": "I server centralizzati su cloud possono fornire una notevole potenza di calcolo, ma costituiscono un obiettivo per gli Stati-nazione o gli autori di attacchi intenzionati a perturbare la rete.", - "page-run-a-node-decentralized-2": "La resilienza della rete si ottiene con più nodi, in ubicazioni geografiche diverse, gestiti da più persone con background di vario tipo. Poiché più persone gestiscono il proprio nodo, la dipendenza dai punti di errore centralizzati diminuisce, rendendo la rete più forte.", + "page-run-a-node-decentralized-1": "I server su cloud centralizzati possono fornire molta potenza di calcolo, ma costituiscono un obiettivo per gli stati e le nazioni, o per gli utenti malevoli, intenzionati a perturbare la rete.", + "page-run-a-node-decentralized-2": "La resilienza della rete è ottenuta con più nodi, in posizioni geograficamente diverse, operati da più persone di diversa estrazione sociale. Più persone eseguono il proprio nodo, minore sarà la dipendenza dai punti centralizzati di guasto, rendendo la rete più forte.", "page-run-a-node-feedback-prompt": "Hai trovato utile questa pagina?", "page-run-a-node-further-reading-title": "Ulteriori letture", - "page-run-a-node-further-reading-1-link": "Padroneggiare Ethereum - Devo eseguire un nodo completo?", + "page-run-a-node-further-reading-1-link": "Padroneggiare Ethereum - Dovrei eseguire un nodo completo?", "page-run-a-node-further-reading-1-author": "Andreas Antonopoulos", - "page-run-a-node-further-reading-2-link": "Ethereum su ARM - Guida rapida", + "page-run-a-node-further-reading-2-link": "Ethereum su ARM - Guida Iniziale Rapida", "page-run-a-node-further-reading-3-link": "I limiti della scalabilità della blockchain", "page-run-a-node-further-reading-3-author": "Vitalik Buterin", - "page-run-a-node-getting-started-title": "Per iniziare", - "page-run-a-node-getting-started-software-section-1": "Agli albori della rete, gli utenti dovevano essere in grado di interfacciarsi con la riga di comando per poter operare un nodo Ethereum.", - "page-run-a-node-getting-started-software-section-1-alert": "Se preferisci procedere in questo modo e hai le capacità per farlo, consulta i nostri documenti tecnici.", - "page-run-a-node-getting-started-software-section-1-link": "Avvia un nodo Ethereum", - "page-run-a-node-getting-started-software-section-2": "Ora abbiamo DAppNode, un software gratuito e open-source che offre agli utenti un'esperienza simile a quella di un'app per la gestione del nodo.", - "page-run-a-node-getting-started-software-section-3a": "Con pochi semplici tocchi puoi rendere pienamente operativo il tuo nodo.", - "page-run-a-node-getting-started-software-section-3b": "DAppNode permette a gli utenti di eseguire facilmente nodi completi, così come dapps e altre reti P2P, senza bisogno di toccare la riga di comando. Questo sistema semplifica la partecipazione e la creazione di una rete più decentralizzata per tutti i partecipanti.", + "page-run-a-node-getting-started-title": "Primi passi", + "page-run-a-node-getting-started-software-section-1": "Agli albori della rete, gli utenti necessitavano di esser capaci di interfacciarsi con la riga di comando, per poter gestire un nodo di Ethereum.", + "page-run-a-node-getting-started-software-section-1-alert": "Se questa è la tua preferenza e hai le competenze per farlo, sentiti libero di dare un'occhiata alla nostra documentazione tecnica.", + "page-run-a-node-getting-started-software-section-1-link": "Avvia un nodo di Ethereum", + "page-run-a-node-getting-started-software-section-2": "Ora, abbiamo DAppNode, che è un software libero e open source che dà agli utenti un'esperienza simile a quella di un'app, gestendo il loro nodo.", + "page-run-a-node-getting-started-software-section-3a": "In pochi semplici tocchi, puoi mettere in funzione il tuo nodo.", + "page-run-a-node-getting-started-software-section-3b": "DAppNode semplifica l'esecuzione di nodi completi per gli utenti, nonché delle dapp e di altre reti P2P, senza dover toccare la riga di comando. Questo semplifica la partecipazione di tutti e crea una rete più decentralizzata.", "page-run-a-node-getting-started-software-title": "Parte 2: Software", "page-run-a-node-glyph-alt-terminal": "Glifo del terminale", "page-run-a-node-glyph-alt-phone": "Glifo del tocco sul telefono", @@ -75,16 +75,16 @@ "page-run-a-node-glyph-alt-censorship-resistance": "Glifo del megafono per la resistenza alla censura", "page-run-a-node-glyph-alt-earth": "Glifo della Terra", "page-run-a-node-glyph-alt-decentralization": "Glifo della decentralizzazione", - "page-run-a-node-glyph-alt-vote": "Glifo della votazione", + "page-run-a-node-glyph-alt-vote": "Glifo dell'espressione del tuo voto", "page-run-a-node-glyph-alt-sovereignty": "Glifo della sovranità", "page-run-a-node-hero-alt": "Grafico del nodo", "page-run-a-node-hero-header": "Assumi il pieno controllo.
Esegui il tuo nodo.", - "page-run-a-node-hero-subtitle": "Diventa completamente sovrano mentre aiuti a rendere sicura la rete. Diventa Ethereum.", - "page-run-a-node-hero-cta-1": "Maggiori informazioni", + "page-run-a-node-hero-subtitle": "Diventa completamente sovrano, aiutando a proteggere la rete. Diventa Ethereum.", + "page-run-a-node-hero-cta-1": "Scopri di più", "page-run-a-node-hero-cta-2": "Iniziamo!", "page-run-a-node-install-manually-title": "Installa manualmente", - "page-run-a-node-install-manually-1": "Se hai competenze tecniche avanzate e hai deciso di costruire autonomamente il tuo dispositivo, DAppNode può essere scaricato da qualsiasi computer e installato su un nuovo SSD tramite un'unità USB.", - "page-run-a-node-meta-description": "Un'introduzione su cosa, perché e come eseguire un nodo Ethereum.", + "page-run-a-node-install-manually-1": "Se sei un utente più tecnico e hai deciso di costruire il tuo dispositivo, DAppNode è scaricabile da qualsiasi computer e installabile su un nuovo SSD tramite un'unità USB.", + "page-run-a-node-meta-description": "Un'introduzione a cosa, perché e come eseguire un nodo di Ethereum.", "page-run-a-node-participate-title": "Partecipa", "page-run-a-node-participate-preview": "La rivoluzione della decentralizzazione inizia da te.", "page-run-a-node-participate-1": "Eseguendo un nodo diventi parte di un movimento globale per decentralizzare il controllo e il potere su un mondo di informazioni.", @@ -101,13 +101,13 @@ "page-run-a-node-rasp-pi-note-2-link": "Ethereum sulla documentazione ARM", "page-run-a-node-rasp-pi-note-2-description": "Impara come impostare un nodo tramite la riga di comando su un Raspberry Pi", "page-run-a-node-rasp-pi-note-3-link": "Esegui un nodo con Raspberry Pi", - "page-run-a-node-rasp-pi-note-3-description": "Rimani qui se preferisci i tutorial", - "page-run-a-node-shop": "Negozio", - "page-run-a-node-shop-avado": "Negozio Avado", - "page-run-a-node-shop-dappnode": "Negozio DAppNode", + "page-run-a-node-rasp-pi-note-3-description": "Resta qui se preferisci i tutorial", + "page-run-a-node-shop": "Acquista", + "page-run-a-node-shop-avado": "Acquista Avado", + "page-run-a-node-shop-dappnode": "Acquista DAppNode", "page-run-a-node-staking-title": "Fai staking con i tuoi ETH", "page-run-a-node-staking-description": "Benché non sia obbligatorio, con un nodo attivo e operativo sei un passo più vicino a fare staking con i tuoi ETH per guadagnare ricompense e contribuire a un componente diverso della sicurezza di Ethereum.", - "page-run-a-node-staking-link": "Fai staking con gli ETH", + "page-run-a-node-staking-link": "Fa staking di ETH", "page-run-a-node-staking-plans-title": "Stai pensando di fare staking?", "page-run-a-node-staking-plans-description": "Per massimizzare l'efficienza del tuo validatore, consigliamo un minimo di 16 GB di RAM, ma 32 GB sarebbe ideale, con un punteggio dell'indice di riferimento della CPU di 6667+ su cpubenchmark.net. Consigliamo inoltre che gli staker abbiano accesso a larghezza di banda di Internet ad alta velocità illimitata, sebbene non si tratti di un requisito assoluto.", "page-run-a-node-staking-plans-ethstaker-link-label": "Come acquistare l'hardware per un validatore Ethereum", diff --git a/src/intl/it/page-wallets-find-wallet.json b/src/intl/it/page-wallets-find-wallet.json index 565facf9085..53f4ebecc4d 100644 --- a/src/intl/it/page-wallets-find-wallet.json +++ b/src/intl/it/page-wallets-find-wallet.json @@ -41,17 +41,17 @@ "page-find-wallet-description-coin98": "Un Portafoglio non-custodial, multi-chain e Gateway DeFi", "page-find-wallet-description-dcent": "D'CENT è il portafoglio multi-criptovaluta iper-conveniente con browser DApp integrato per un facile accesso a DeFi, NFT e una varietà di servizi.", "page-find-wallet-description-enjin": "Impenetrabile, ricco di funzionalità e conveniente. Pensato per trader, gamer e sviluppatori", - "page-find-wallet-description-fortmatic": "Accedi alle app di Ethereum da qualsiasi luogo con solo un'email o un numero di telefono. non servono estensioni per il browser e seed phrase.", + "page-find-wallet-description-fortmatic": "Accedi alle app di Ethereum da qualsiasi luogo con solo un'email o un numero di telefono. Non avrai più bisogno di estensioni del browser e frasi di ripristino.", "page-find-wallet-description-gnosis": "La piattaforma più affidabile per conservare risorse digitali su Ethereum", "page-find-wallet-description-guarda": "Portafoglio di criptovalute sicuro, ricco di funzionalità e non-custodial con supporto per oltre 50 blockchain. Staking, scambio e acquisto di cripto-attivi con la massima semplicità.", "page-find-wallet-description-hyperpay": "HyperPay è un portafoglio di criptovalute universale e multi piattaforma che supporta oltre 50 blockchain e oltre 2.000 dApp.", - "page-find-wallet-description-imtoken": "imToken è un portafoglio digitale semplice e sicuro a cui si sono affidati in milioni", + "page-find-wallet-description-imtoken": "imToken è un portafoglio digitale semplice e sicuro a cui si sono affidati milioni di utenti", "page-find-wallet-description-keystone": "Keystone è un hardware wallet completamente airgapped con firmware open source, che utilizza un protocollo basato su codice QR.", "page-find-wallet-description-ledger": "Mantieni i tuoi asset al sicuro con gli standard di sicurezza più elevati", "page-find-wallet-description-linen": "Portafoglio mobile basato su smart contract: guadagna reddito, compra criptovalute e partecipa alla DeFi. Ottieni ricompense e token di governance.", "page-find-wallet-description-loopring": "Il primissimo portafoglio smart contract di Ethereum, con trading basato su zkRollup, trasferimenti e AMM. Senza pagamenti di gas, sicuro e semplice.", "page-find-wallet-description-mathwallet": "MathWallet è un portafoglio di criptovalute universale e multipiattaforma (mobile/estensione/web) che supporta oltre 50 blockchain e oltre 2.000 dApp.", - "page-find-wallet-description-metamask": "Inizia a esplorare le applicazioni blockchain in pochi secondi. Scelte da più di un milione di utenti in tutto il mondo.", + "page-find-wallet-description-metamask": "Inizia a esplorare le applicazioni della blockchain in pochi secondi. Scelte come attendibili per oltre 23 milioni di utenti in tutto il mondo.", "page-find-wallet-description-monolith": "L'unico portafoglio al mondo con custodia da parte dell'utente, collegato a una carta di debito Visa. Disponibile nel Regno unito e nell'Unione Europea, utilizzabile in tutto il mondo.", "page-find-wallet-description-multis": "Multis è un account oer criptovalute pensato per il mondo business. Con Multis le aziende possono archiviare con controllo degli accessi, guadagnare interessi sui propri risparmi e ottimizzare pagamenti e contabilità.", "page-find-wallet-description-mycrypto": "MyCripto è un interfaccia per gestire tutti i tuoi account. Scambia, invia e compra criptovalute con portafogli come MetaMask, Ledger, Trezor e altri.", From 51b9d988be093b4ae7f893253c5a395fd3a231da Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 17:05:42 -0700 Subject: [PATCH 119/167] ro Use Ethereum content import from Crowdin --- src/intl/ro/page-dapps.json | 16 +-- src/intl/ro/page-developers-index.json | 8 +- .../ro/page-developers-learning-tools.json | 4 +- src/intl/ro/page-eth.json | 30 ++--- src/intl/ro/page-get-eth.json | 10 +- src/intl/ro/page-run-a-node.json | 126 +++++++++--------- src/intl/ro/page-stablecoins.json | 30 ++--- src/intl/ro/page-wallets-find-wallet.json | 22 +-- src/intl/ro/page-wallets.json | 2 +- src/intl/ro/page-what-is-ethereum.json | 18 +-- 10 files changed, 136 insertions(+), 130 deletions(-) diff --git a/src/intl/ro/page-dapps.json b/src/intl/ro/page-dapps.json index 2f999e9461a..0cc2a2da8c4 100644 --- a/src/intl/ro/page-dapps.json +++ b/src/intl/ro/page-dapps.json @@ -42,15 +42,15 @@ "page-dapps-cryptopunks-logo-alt": "Sigla CryptoPunks", "page-dapps-cryptovoxels-logo-alt": "Sigla Cryptovoxels", "page-dapps-dapp-description-1inch": "Vă ajută să evitați derapajul spre un preț ridicat agregând cele mai bune prețuri.", - "page-dapps-dapp-description-aave": "Dați cu împrumut jetoane cu dobândă și retrageți-le oricând.", + "page-dapps-dapp-description-aave": "Creditați tokenuri cu dobândă și retrageți-le oricând.", "page-dapps-dapp-description-async-art": "Creeați, colecționați și tranzacționați #ProgrammableArt - picturi digitale împărțite pe „Straturi” pe care le puteți folosi pentru a reface imaginea întreagă. Fiecare Maestru și Strat este un jeton ERC721.", "page-dapps-dapp-description-audius": "Platformă de streaming descentralizată. Numărul de ascultări = bani pentru creatori, nu pentru casele de producție.", "page-dapps-dapp-description-augur": "Pariați pe rezultatele din sport, economie și alte evenimente mondiale.", "page-dapps-dapp-description-axie-infinity": "Tranzacționați creaturi numite Axies și folosiți-le la lupte. Și câștigați pe măsură ce jucați – sunt disponibile pe mobil", "page-dapps-dapp-description-brave": "Câștigați jetoane pentru navigare și sprijiniți-vă creatorii preferați cu acestea.", "page-dapps-dapp-description-cent": "O rețea socială în care câștigați postând NFT-uri.", - "page-dapps-dapp-description-compound": "Dați cu împrumut jetoane pentru a câștiga dobânzi și retrageți-le în orice moment.", - "page-dapps-dapp-description-cryptopunks": "Cumpărați, licitați și oferiți caractere „punk de vânzare\" – una dintre primele jetoane colecționabile de pe Ethereum.", + "page-dapps-dapp-description-compound": "Creditați tokenuri cu dobândă și retrageți-le oricând.", + "page-dapps-dapp-description-cryptopunks": "Cumpărați, licitați și oferiți caractere punk de vânzare – unul dintre primele tokenuri colecționabile de pe Ethereum.", "page-dapps-dapp-description-cryptovoxels": "Creați galerii de artă, construiți magazine și cumpărați terenuri – o lume virtuală Ethereum.", "page-dapps-dapp-description-dark-forest": "Cuceriți planetele într-un univers infinit, generat procedural, specificat criptografic.", "page-dapps-dapp-description-decentraland": "Colecționați și comercializați terenuri virtuale într-o lume virtuală pe care o puteți explora.", @@ -84,7 +84,7 @@ "page-dapps-dapp-description-token-sets": "Strategii de investiții pentru cripto care îl reechilibrează automat.", "page-dapps-dapp-description-tornado-cash": "Trimiteți tranzacții anonime pe Ethereum.", "page-dapps-dapp-description-uniswap": "Schimbați simplu jetoane sau oferiți jetoane pentru recompense în %.", - "page-dapps-docklink-dapps": "Introducere despre dapp-uri", + "page-dapps-docklink-dapps": "Introducere în aplicații descentralizate (dapps)", "page-dapps-docklink-smart-contracts": "Contractele inteligente", "page-dapps-dark-forest-logo-alt": "Sigla Dark Forest", "page-dapps-decentraland-logo-alt": "Sigla Decentraland", @@ -98,14 +98,14 @@ "page-dapps-doge-img-alt": "Imaginea unui câine așezat la calculator", "page-dapps-dydx-logo-alt": "Sigla dYdX", "page-dapps-editors-choice-dark-forest": "Jucați cu alți parteneri pentru a cuceri planete și încercați tehnologia cea mai avansată de scalare/confidențialitate Ethereum. Poate pentru cei care cunosc deja Ethereum.", - "page-dapps-editors-choice-description": "Câteva aplicații dapp pe care echipa ethereum.org le adoră acum. Explorați și alte dapp-uri mai jos.", + "page-dapps-editors-choice-description": "Câteva aplicații descentralizate (dapps) pe care echipa ethereum.org le adoră acum. Explorați și alte aplicații descentralizate mai jos.", "page-dapps-editors-choice-foundation": "Investiți în cultură. Cumpărați, tranzacționați și vindeți opere de artă digitale unice și articole de modă de la incredibili artiști, muzicieni și mărci.", "page-dapps-editors-choice-header": "Alegerile editorului", "page-dapps-editors-choice-pooltogether": "Cumpărați un bilet la loteria ce nu pierde. În fiecare săptămână, dobânda generată de întregul grup de bilete este trimisă unui câștigător norocos. Obțineți-vă banii înapoi oricând doriți.", "page-dapps-editors-choice-uniswap": "Schimbați cu ușurință jetoane. O funcționalitate preferată de comunitate, care vă permite să tranzacționați jetoane cu oameni din întreaga rețea.", "page-dapps-ens-logo-alt": "Sigla Ethereum Name Service", "page-dapps-explore-dapps-description": "Multe aplicații dapp sunt încă experimentale, testând posibilitățile rețelelor descentralizate. Dar au existat câteva care au avansat cu succes înainte altora, din categoriile tehnologie, financiară, jocuri și piese colecționabile.", - "page-dapps-explore-dapps-title": "Explorați aplicațiile dapps", + "page-dapps-explore-dapps-title": "Explorați aplicațiile descentralizate (dapps)", "page-dapps-features-1-description": "Odată implementat în Ethereum, codul aplicației dapp nu poate fi eliminat. Și oricine poate folosi funcționalitățile aplicației. Chiar dacă echipa ce a creat aplicația dapp s-a desființat, o puteți folosi în continuare. Odată ajunsă pe Ethereum, rămâne pe Ethereum.", "page-dapps-features-1-title": "Nu au proprietari", "page-dapps-features-2-description": "Nu puteți fi împiedicat să utilizați o aplicație dapp sau să trimiteți tranzacții. De exemplu, dacă Twitter era pe Ethereum, nimeni nu ar fi putut să vă blocheze contul sau să vă oprească să trimiteți tweet-uri.", @@ -185,7 +185,7 @@ "page-dapps-ready-description": "Alegeți o aplicație dapp pentru a o încerca", "page-dapps-ready-title": "Sunteți gata?", "page-dapps-sablier-logo-alt": "Sigla Sablier", - "page-dapps-set-up-a-wallet-button": "Găsiți un portofel", + "page-dapps-set-up-a-wallet-button": "Găsiți portofelul", "page-dapps-set-up-a-wallet-description": "Portofelul este „autentificarea” dvs. pentru o aplicație dapp", "page-dapps-set-up-a-wallet-title": "Configurați un portofel", "page-dapps-superrare-logo-alt": "Sigla SuperRare", @@ -195,7 +195,7 @@ "page-dapps-token-sets-logo-alt": "Sigla Token Sets", "page-dapps-tornado-cash-logo-alt": "Sigla Tornado Cash", "page-dapps-uniswap-logo-alt": "Sigla Uniswap", - "page-dapps-wallet-callout-button": "Găsiți un portofel", + "page-dapps-wallet-callout-button": "Găsiți portofelul", "page-dapps-wallet-callout-description": "Portofelele sunt și ele aplicații dapp. Găsiți unul în funcție de funcționalitățile pe care le doriți.", "page-dapps-wallet-callout-image-alt": "Imaginea unui robot.", "page-dapps-wallet-callout-title": "Afișați portofelele", diff --git a/src/intl/ro/page-developers-index.json b/src/intl/ro/page-developers-index.json index 2f513f10ef0..9eff2c40c4b 100644 --- a/src/intl/ro/page-developers-index.json +++ b/src/intl/ro/page-developers-index.json @@ -40,8 +40,8 @@ "page-developers-intro-ether-link": "Introducere despre Ether", "page-developers-intro-stack": "Introducere despre stivă", "page-developers-intro-stack-desc": "Introducere despre stiva Ethereum", - "page-developers-js-libraries-desc": "Folosirea JavaScript pentru a interacționa cu contractele inteligente", - "page-developers-js-libraries-link": "Bibliotecile JavaScript", + "page-developers-js-libraries-desc": "Utilizarea JavaScript pentru a interacționa cu contractele inteligente", + "page-developers-js-libraries-link": "Biblioteci JavaScript", "page-developers-language-desc": "Utilizarea Ethereum cu limbaje cunoscute", "page-developers-languages": "Limbajele de programare", "page-developers-learn": "Învățați despre dezvoltare în Ethereum", @@ -79,8 +79,8 @@ "page-developers-title-1": "Ethereum", "page-developers-title-2": "dezvoltator", "page-developers-title-3": "resurse", - "page-developers-token-standards-desc": "Prezentare generală a standardelor acceptate pentru token-uri", - "page-developers-token-standards-link": "Standarde pentru token-uri", + "page-developers-token-standards-desc": "Prezentare generală a standardelor acceptate pentru tokenuri", + "page-developers-token-standards-link": "Standarde pentru tokenuri", "page-developers-transactions-desc": "Cum se schimbă starea Ethereum", "page-developers-transactions-link": "Tranzacțiile", "page-developers-web3-desc": "Modul în care lumea dezvoltării web3 este diferită", diff --git a/src/intl/ro/page-developers-learning-tools.json b/src/intl/ro/page-developers-learning-tools.json index 9e4194d6ca7..7c7467492dc 100644 --- a/src/intl/ro/page-developers-learning-tools.json +++ b/src/intl/ro/page-developers-learning-tools.json @@ -39,5 +39,7 @@ "page-learning-tools-vyperfun-description": "Învațați Vyper construindu-vă propriul joc Pokémon.", "page-learning-tools-vyperfun-logo-alt": "Sigla Vyper.fun", "page-learning-tools-nftschool-description": "Aflați ce se întâmplă cu jetoanele nefungibile sau NFT-urile din perspectiva tehnică.", - "page-learning-tools-nftschool-logo-alt": "Sigla NFT School" + "page-learning-tools-nftschool-logo-alt": "Sigla NFT School", + "page-learning-tools-pointer-description": "Dobândiți abilități de dezvoltator web3 prin tutoriale distractive și interactive. Câștigați recompense cripto pe parcurs", + "page-learning-tools-pointer-logo-alt": "Sigla indicator" } diff --git a/src/intl/ro/page-eth.json b/src/intl/ro/page-eth.json index 9983719c2b2..50ceca46d7b 100644 --- a/src/intl/ro/page-eth.json +++ b/src/intl/ro/page-eth.json @@ -2,15 +2,15 @@ "page-eth-buy-some": "Doriți să cumpărați niște Ethereum?", "page-eth-buy-some-desc": "Se confundă adesea Ethereum cu ETH. Ethereum este blockchain-ul, iar ETH este activul principal al lui Ethereum. Ceea ce doriți să cumpărați este probabil ETH.", "page-eth-cat-img-alt": "Desen al simbolului ETH cu un caleidoscop de pisici", - "page-eth-collectible-tokens": "Jetoane colecționabile", - "page-eth-collectible-tokens-desc": "Jetoane care reprezintă un obiect de joc colecționabil, o operă de artă digitală sau alte active unice. Sunt cunoscute ca jetoane nefungibile (NFT).", + "page-eth-collectible-tokens": "Tokenuri colecționabile", + "page-eth-collectible-tokens-desc": "Tokenuri care reprezintă un obiect de joc colecționabil, o operă de artă digitală sau alte active unice. Sunt cunoscute ca tokenuri nefungibile (NFT).", "page-eth-cryptography": "Securizat prin criptografie", "page-eth-cryptography-desc": "Poate sunt noi banii pe internet, dar sunt asigurați printr-o criptografie demonstrată. Aceasta vă protejează portofelul, ETH și tranzacțiile. ", "page-eth-currency-for-apps": "Este moneda aplicațiilor Ethereum.", "page-eth-currency-for-future": "Moneda viitorului dvs. digital", "page-eth-description": "ETH este o cripto-monedă. Reprezintă o sumă mică de bani digitali pe care îi puteți folosi pe internet – în mod similar cu Bitcoin. Dacă nu ați mai folosit sistemul cripto, iată prin ce se diferențiază ETH de banii tradiționali.", "page-eth-earn-interest-link": "Câștigați dobânzi", - "page-eth-ethhub-caption": "Este actualizat frecvent", + "page-eth-ethhub-caption": "Actualizat frecvent", "page-eth-ethhub-overview": "EthHub are o prezentare generală excelentă, dacă doriţi", "page-eth-flexible-amounts": "Este disponibil în cantități flexibile", "page-eth-flexible-amounts-desc": "ETH este divizibil până la 18 zecimale, deci nu trebuie să cumperați 1 ETH întreg. Puteți cumpăra o fracțiune odată - doar 0,000000000000000001 ETH, dacă doriți.", @@ -21,7 +21,7 @@ "page-eth-fuels-more-staking": "Aflați mai multe despre mize", "page-eth-fuels-staking": "Odată cu trecerea la sistemul mizelor, ETH va câștiga în importanță. Atunci când mizați ETH, veți contribui la securizarea Ethereum și veți câștiga recompense. În acest sistem, pericolului de a vă pierde ETH descurajează atacurile.", "page-eth-get-eth-btn": "Obțineți ETH", - "page-eth-gov-tokens": "Jetoanele conducerii", + "page-eth-gov-tokens": "Tokenuri de guvernanță", "page-eth-gov-tokens-desc": "Tokenuri ce reprezintă puterea de vot în organizațiile descentralizate.", "page-eth-has-value": "De ce are valoare ETH?", "page-eth-has-value-desc": "ETH are valori diferite pentru persoane diferite.", @@ -38,25 +38,25 @@ "page-eth-more-on-ethereum-link": "Aflați mai multe despre Ethereum", "page-eth-no-centralized": "Fără control centralizat ", "page-eth-no-centralized-desc": "Banii ETH sunt descentralizați și mondiali Nicio companie sau bancă nu poate decide să mai imprime ETH sau să modifice condițiile de utilizare.", - "page-eth-non-fungible-tokens-link": "Jetoane nefungibile", + "page-eth-non-fungible-tokens-link": "Tokenuri nefungibile", "page-eth-not-only-crypto": "ETH nu constituie singura valoare cripto de pe Ethereum", "page-eth-not-only-crypto-desc": "Oricine poate crea noi tipuri de active și le poate tranzacționa pe Ethereum. Acestea sunt cunoscute sub numele de tokenuri. Oamenii au schimbat pe tokenuri monedele tradiționale, și-au schimbat proprietățile imobiliare, arta și chiar ei înșiși s-au dat la schimb pe tokenuri!", - "page-eth-not-only-crypto-desc-2": "Ethereum întrunește mii de jetoane – unele mai utile și mai valoroase decât altele. Dezvoltatorii construiesc în permanență noi jetoane, care dau la iveală noi posibilități și deschid noi piețe.", + "page-eth-not-only-crypto-desc-2": "Ethereum întrunește mii de tokenuri – unele mai utile și mai valoroase decât altele. Dezvoltatorii construiesc în permanență noi tokenuri, care dau la iveală noi posibilități și deschid noi piețe.", "page-eth-not-only-crypto-desc-3": "Dacă doriți să aflați mai multe despre tokenuri, prietenii noștri de la EthHub au făcut câteva descrieri superbe:", "page-eth-open": "Este deschis tuturor", "page-eth-open-desc": "Aveți nevoie doar de o conexiune la internet și de un portofel pentru a accepta ETH. Nu este necesar să aveți acces la un cont bancar pentru a accepta plăți. ", "page-eth-p2p-payments": "Plățile se efectuează direct între participanți", "page-eth-p2p-payments-desc": "Puteți trimite ETH fără niciun serviciu intermediar, cum ar fi o bancă. Este ca și cum înmânați numerar în persoană, dar o puteți face în siguranță cu oricine, oriunde și oricând.", "page-eth-period": ".", - "page-eth-popular-tokens": "Tipuri de jetoane cunoscute", + "page-eth-popular-tokens": "Tipuri populare de tokenuri", "page-eth-powers-ethereum": "ETH alimentează Ethereum", "page-eth-shit-coins": "Sh*t coins", "page-eth-shit-coins-desc": "Deoarece este ușor de realizat noi tokenuri, oricine o poate face – chiar și persoanele rău intenționate sau îndrumate greșit. Informați-vă întotdeauna înainte de a le folosi!", "page-eth-stablecoins": "Stablecoins", - "page-eth-stablecoins-desc": "Sunt jetoane ce reflectă valoarea unei monede tradiționale precum dolarul. Se rezolvă astfel problema volatilității la multe criptomonede.", + "page-eth-stablecoins-desc": "Sunt tokenuri ce reflectă valoarea unei monede tradiționale precum dolarul. Se rezolvă astfel problema volatilității la multe criptomonede.", "page-eth-stablecoins-link": "Obțineți stablecoins", "page-eth-stream-link": "Transmiteți ETH", - "page-eth-tokens-link": "Jetoanele Ethereum", + "page-eth-tokens-link": "Tokenuri Ethereum", "page-eth-trade-link-2": "Schimbați tokenuri", "page-eth-underpins": "ETH stă la baza sistemului financiar Ethereum", "page-eth-underpins-desc": "Dacă nu sunteți mulțumit de plăți, comunitatea Ethereum construiește un întreg sistem financiar cu relații directe între participanți și accesibil tuturor.", @@ -86,12 +86,12 @@ "page-eth-button-buy-eth": "Obțineți ETH", "page-eth-tokens-stablecoins": "Stablecoins", "page-eth-tokens-defi": "Finanțele descentralizate (DeFi)", - "page-eth-tokens-nft": "Jetoanele nefungibile (NFT)", - "page-eth-tokens-dao": "Organizațiile autonome descentralizate (DAO)", - "page-eth-tokens-stablecoins-description": "Aflați mai multe despre cele mai puțin volatile jetoane Ethereum.", - "page-eth-tokens-defi-description": "Sistemul financiar al jetoanelor Ethereum.", - "page-eth-tokens-nft-description": "Jetoane ce reflectă proprietatea obiectelor pe Ethereum.", - "page-eth-tokens-dao-description": "Comunități pe Internet adesea guvernate de către deținătorii de jetoane.", + "page-eth-tokens-nft": "Tokenuri nefungibile (NFT-uri)", + "page-eth-tokens-dao": "Organizații autonome descentralizate (DAO)", + "page-eth-tokens-stablecoins-description": "Aflați mai multe despre cele mai puțin volatile tokenuri Ethereum.", + "page-eth-tokens-defi-description": "Sistemul financiar al tokenurilor Ethereum.", + "page-eth-tokens-nft-description": "Tokenuri ce reflectă proprietatea obiectelor pe Ethereum.", + "page-eth-tokens-dao-description": "Comunități pe Internet adesea guvernate de către deținătorii de tokenuri.", "page-eth-whats-defi": "Aflați mai multe despre DeFi", "page-eth-whats-defi-description": "DeFi este sistemul financiar descentralizat construit pe Ethereum. Această sinteză explică la ce vă poate ajuta." } diff --git a/src/intl/ro/page-get-eth.json b/src/intl/ro/page-get-eth.json index 3f0ddd64d8f..3aaece0d93b 100644 --- a/src/intl/ro/page-get-eth.json +++ b/src/intl/ro/page-get-eth.json @@ -1,4 +1,7 @@ { + "page-get-eth-article-keeping-crypto-safe": "Cheile pentru păstrarea în siguranță a criptomonedei dvs.", + "page-get-eth-article-protecting-yourself": "Protecția dvs. și a fondurilor dvs.", + "page-get-eth-article-store-digital-assets": "Cum să stocați active digitale pe Ethereum", "page-get-eth-cex": "Schimburi centralizate", "page-get-eth-cex-desc": "Schimburile constituie acțiuni prin care puteți cumpăra cripto folosind monedele tradiționale. Acestea dețin custodia asupra oricărui ETH pe care îl cumpărați până când îl trimiteți într-un portofel pe care îl controlați.", "page-get-eth-checkout-dapps-btn": "Vedeți aplicațiile dapp", @@ -7,9 +10,9 @@ "page-get-eth-dex": "Schimburi descentralizate (DEX-uri)", "page-get-eth-dex-desc": "Dacă doriți să aveți mai mult control, cumpărați ETH în mod direct, între participanți. Cu un DEX puteți tranzacționa fără a transfera unei companii centralizate controlul asupra fondurilor dvs.", "page-get-eth-dexs": "Schimburi descentralizate (DEX-uri)", - "page-get-eth-dexs-desc": "Schimburile descentralizate sunt piețe deschise pentru ETH și alte jetoane. Acestea conectează direct cumpărătorii cu vânzătorii.", + "page-get-eth-dexs-desc": "Schimburile descentralizate sunt piețe deschise pentru ETH și alte tokenuri. Acestea conectează direct cumpărătorii cu vânzătorii.", "page-get-eth-dexs-desc-2": "În loc să folosească un terț de încredere pentru a proteja fondurile în procesul de tranzacție, utilizează codul. ETH-ul vânzătorului va fi transferat numai atunci când plata este garantată. Acest tip de cod este cunoscut sub numele de contract inteligent.", - "page-get-eth-dexs-desc-3": "Aceasta înseamnă că sunt mai puține restricții geografice decât la alternativele centralizate. Dacă cineva vinde ceea ce doriți și acceptă o metodă de plată pe care o puteți utiliza, sunteți gata de a porni. DEX-urile vă pot permite să cumpărați ETH cu alte jetoane, cu PayPal sau chiar plătind în numerar în persoană.", + "page-get-eth-dexs-desc-3": "Aceasta înseamnă că sunt mai puține restricții geografice decât la alternativele centralizate. Dacă cineva vinde ceea ce doriți și acceptă o metodă de plată pe care o puteți utiliza, sunteți gata de a porni. DEX-urile vă pot permite să cumpărați ETH cu alte tokenuri, cu PayPal sau chiar plătind în numerar în persoană.", "page-get-eth-do-not-copy": "Exemplu: nu copiați", "page-get-eth-exchanges-disclaimer": "Am strâns aceste informații manual. Dacă observați ceva greșit, anunțați-ne la", "page-get-eth-exchanges-empty-state-text": "Introduceți-vă țara de reședință pentru a vedea o listă de portofele și schimburi pe care le puteți utiliza pentru a cumpăra ETH", @@ -21,6 +24,7 @@ "page-get-eth-exchanges-no-exchanges": "Ne pare rău, nu cunoaștem schimburi care să vă permită să cumpărați ETH din această țară. Dacă dvs. cunoașteți, comunicați-ne la", "page-get-eth-exchanges-no-exchanges-or-wallets": "Ne pare rău, nu cunoaștem schimburi sau portofele care să vă permită să cumpărați ETH din această țară. Dacă dvs. cunoașteți, comunicați-ne la", "page-get-eth-exchanges-no-wallets": "Ne pare rău, nu cunoaștem niciun portofel care să vă permită să cumpărați ETH din această țară. Dacă dvs. cunoașteți, comunicați-ne la", + "page-get-eth-exchanges-search": "Introduceți unde locuiți...", "page-get-eth-exchanges-success-exchange": "Poate dura câteva zile ca să vă înregistrați pentru un schimb, din cauza verificărilor legale ce se efectuează.", "page-get-eth-exchanges-success-wallet-link": "portofelele", "page-get-eth-exchanges-success-wallet-paragraph": "Acolo unde locuiți, puteți cumpăra ETH direct din aceste portofele. Aflați mai multe despre", @@ -46,7 +50,7 @@ "page-get-eth-use-your-eth-dapps": "Acum, că dețineți ceva ETH, uitați-vă la câteva aplicații Ethereum (dapp-uri). Există dapp-uri pentru finanțe, rețele sociale, jocuri și multe alte categorii.", "page-get-eth-wallet-instructions": "Urmați instrucțiunile portofelului", "page-get-eth-wallet-instructions-lost": "Dacă pierdeți accesul la portofel, vă pierdeți accesul la fonduri. Portofelul dvs. trebuie să vă ofere instrucțiuni despre cum să vă protejați de aceasta. Aveți grijă să le urmați cu atenție – în majoritatea cazurilor, nimeni nu vă poate ajuta dacă vă pierdeți accesul la portofel.", - "page-get-eth-wallets": "Portofelele", + "page-get-eth-wallets": "Portofele", "page-get-eth-wallets-link": "Aflați mai multe despre portofele", "page-get-eth-wallets-purchasing": "Unele portofele vă permit să cumpărați cripto cu un card de debit/credit, prin transfer bancar sau chiar cu Apple Pay. Se aplică restricții geografice.", "page-get-eth-warning": "Aceste DEX-uri nu sunt pentru începători, întrucât aveți nevoie de ceva ETH pentru a le utiliza.", diff --git a/src/intl/ro/page-run-a-node.json b/src/intl/ro/page-run-a-node.json index 0898eeb1961..6dc5ccfed5a 100644 --- a/src/intl/ro/page-run-a-node.json +++ b/src/intl/ro/page-run-a-node.json @@ -1,21 +1,21 @@ { - "page-run-a-node-build-your-own-title": "Construiți-vă propriul dvs.", - "page-run-a-node-build-your-own-hardware-title": "Etapa 1 – Hardware", + "page-run-a-node-build-your-own-title": "Construiți-vă propriul nod", + "page-run-a-node-build-your-own-hardware-title": "Pasul 1 – Hardware", "page-run-a-node-build-your-own-minimum-specs": "Specificațiile minime", "page-run-a-node-build-your-own-min-ram": "4 - 8 GB RAM", - "page-run-a-node-build-your-own-ram-note-1": "Consultați nota despre mizare", + "page-run-a-node-build-your-own-ram-note-1": "Consultați nota despre depunerea mizelor", "page-run-a-node-build-your-own-ram-note-2": "Consultați nota privind Raspberry Pi", "page-run-a-node-build-your-own-min-ssd": "2 TB SSD", - "page-run-a-node-build-your-own-ssd-note": "Un SSD este necesar pentru vitezele de scriere necesare.", - "page-run-a-node-build-your-own-min-internet": "Conectare la internet", + "page-run-a-node-build-your-own-ssd-note": "SSD necesar pentru vitezele de scriere solicitate.", + "page-run-a-node-build-your-own-min-internet": "Conexiune internet", "page-run-a-node-build-your-own-recommended": "Recomandat", - "page-run-a-node-build-your-own-nuc": "Intel NUC, generația a 7-a sau mai mare", - "page-run-a-node-build-your-own-nuc-small": "procesor x86", + "page-run-a-node-build-your-own-nuc": "Intel NUC, generația a 7-a sau ulterioară", + "page-run-a-node-build-your-own-nuc-small": "Procesor x86", "page-run-a-node-build-your-own-connection": "Conexiune prin cablu la internet", - "page-run-a-node-build-your-own-connection-small": "Nu este necesară, însă furnizează o configurare mai ușoară și o conexiune mai stabilă", + "page-run-a-node-build-your-own-connection-small": "Nu este necesară, însă asigură o configurare mai ușoară și o conexiune mai stabilă", "page-run-a-node-build-your-own-peripherals": "Ecran de afișare și tastatură", - "page-run-a-node-build-your-own-peripherals-small": "În afară de cazul în care folosiți un DAppNode sau o configurație server ssh/fără monitor", - "page-run-a-node-build-your-own-software": "Etapa 2 – Software", + "page-run-a-node-build-your-own-peripherals-small": "Cu excepția cazului în care utilizați DAppNode sau o configurație server ssh/fără monitor", + "page-run-a-node-build-your-own-software": "Pasul 2 – Software", "page-run-a-node-build-your-own-software-option-1-title": "Opțiunea 1 – DAppNode", "page-run-a-node-build-your-own-software-option-1-description": "Când sunteți gata cu hardware-ul, puteți să descărcați sistemul de operare DAppNode folosind orice computer și să-l instalați pe un SSD nou cu ajutorul unui USB.", "page-run-a-node-build-your-own-software-option-1-button": "Configurarea unui DAppNode", @@ -23,116 +23,116 @@ "page-run-a-node-build-your-own-software-option-2-description-1": "Pentru un control maxim, utilizatorii experimentați pot prefera să utilizeze mai degrabă linia de comandă.", "page-run-a-node-build-your-own-software-option-2-description-2": "Consultați documentația noastră pentru dezvoltatori pentru a obține mai multe informații despre cum să începeți cu alegerea clienților.", "page-run-a-node-build-your-own-software-option-2-button": "Configurarea cu linia de comandă", - "page-run-a-node-buy-fully-loaded-title": "Cumpărați unul complet echipat", - "page-run-a-node-buy-fully-loaded-description": "Comandați o opțiune plug and play de la vânzători, pentru cea mai simplă experiență de integrare.", + "page-run-a-node-buy-fully-loaded-title": "Cumpărați un nod complet echipat", + "page-run-a-node-buy-fully-loaded-description": "Comandați o opțiune plug and play de la distribuitori, pentru cea mai simplă experiență de integrare.", "page-run-a-node-buy-fully-loaded-note-1": "Nu este necesar să construiți nimic.", "page-run-a-node-buy-fully-loaded-note-2": "Configurare de tip aplicație cu o interfață grafică.", - "page-run-a-node-buy-fully-loaded-note-3": "Nu necesită utilizarea liniei de comandă.", + "page-run-a-node-buy-fully-loaded-note-3": "Nu este necesară linia de comandă.", "page-run-a-node-buy-fully-loaded-plug-and-play": "Aceste soluții sunt de mici dimensiuni, dar complet echipate.", "page-run-a-node-censorship-resistance-title": "Rezistența la cenzură", - "page-run-a-node-censorship-resistance-preview": "Asigurați-vă accesul atunci când aveți nevoie de el și nu vă lăsați cenzurat.", - "page-run-a-node-censorship-resistance-1": "Nodul unei părți terțe poate alege să refuze tranzacții de la o adresă IP specifică, sau tranzacții care implică anumite conturi, putând să vă împiedice de la utilizarea rețelei atunci când aveți nevoie de ea. ", - "page-run-a-node-censorship-resistance-2": "Având propriul nod la care să trimiteți tranzacțiile, garantează că vă puteți trimite tranzacțiile către restul rețelei peer-to-peer oricând.", + "page-run-a-node-censorship-resistance-preview": "Asigurați-vă accesul atunci când aveți nevoie de el și nu vă lăsați cenzurați.", + "page-run-a-node-censorship-resistance-1": "Nodul unei părți terțe poate alege să refuze tranzacții de la o adresă IP specifică sau tranzacții care implică anumite conturi, putând să vă împiedice de la utilizarea rețelei atunci când aveți nevoie de ea. ", + "page-run-a-node-censorship-resistance-2": "Având propriul nod la care să trimiteți tranzacțiile, garantează că vă puteți trimite oricând tranzacțiile către restul rețelei de comunicare directă între participanți.", "page-run-a-node-community-title": "Găsiți câteva ajutoare", - "page-run-a-node-community-description-1": "Platformele online precum Discord sau Reddit, găzduiesc un număr mare de constructori de comunități, dispuși să vă ajute la orice întrebări pe care le puteți întâlni.", - "page-run-a-node-community-description-2": "Nu vă avântați singur. Dacă aveți o întrebare, poate că există cineva aici care să vă ajute să-i găsiți răspunsul.", - "page-run-a-node-community-link-1": "Alăturați-vă la canalul DAppNode pe Discord", + "page-run-a-node-community-description-1": "Platformele online, precum Discord sau Reddit, găzduiesc un număr mare de dezvoltatori de comunități, dispuși să vă ajute cu orice întrebări pe care le puteți întâlni.", + "page-run-a-node-community-description-2": "Nu vă aventurați singuri. Dacă aveți o întrebare, poate că există cineva aici care să vă ajute să-i găsiți răspunsul.", + "page-run-a-node-community-link-1": "Alăturați-vă canalului DAppNode pe Discord", "page-run-a-node-community-link-2": "Găsiți comunități online", "page-run-a-node-choose-your-adventure-title": "Alegeți-vă aventura", - "page-run-a-node-choose-your-adventure-1": "Veți avea nevoie de câteva hardware pentru a începe. Deși rularea unui software de nod este posibilă pe un computer personal, având o mașină dedicată, poate mări foarte mult performanța nodului, minimizând în același timp impactul asupra computerului principal.", - "page-run-a-node-choose-your-adventure-2": "Când alegeți hardware-ul, țineți cont de faptul că lanțul este în continuă expansiune și va necesita întreținerea în mod inevitabil. Utilizarea de specificații mai performante decât cele indicate, poate ajuta la întârzierea nevoii de întreținere a nodurilor.", + "page-run-a-node-choose-your-adventure-1": "Veți avea nevoie de câteva elemente hardware pentru a începe. Deși rularea unui software de nod este posibilă pe un computer personal, deținerea unei mașini dedicate poate mări foarte mult performanța nodului, minimizând în același timp impactul asupra computerului principal.", + "page-run-a-node-choose-your-adventure-2": "La selectarea hardware-ului, țineți cont de faptul că lanțul este în continuă creștere, iar întreținerea va fi inevitabilă. Creșterea specificațiilor poate ajuta la întârzierea necesității de întreținere a nodurilor.", "page-run-a-node-choose-your-adventure-build-1": "O opțiune mai ieftină și mai ușor de personalizat pentru utilizatorii cu un nivel tehnic ceva mai ridicat.", "page-run-a-node-choose-your-adventure-build-bullet-1": "Procurați-vă propriile componente.", - "page-run-a-node-choose-your-adventure-build-bullet-2": "Instalați DAppNode-ul.", - "page-run-a-node-choose-your-adventure-build-bullet-3": "Sau, alegeți-vă propriul SO și clienți.", + "page-run-a-node-choose-your-adventure-build-bullet-2": "Instalați DAppNode.", + "page-run-a-node-choose-your-adventure-build-bullet-3": "Sau, alegeți-vă propriul SO și proprii clienți.", "page-run-a-node-choose-your-adventure-build-start": "Începeți să clădiți", "page-run-a-node-decentralized-title": "Descentralizarea", "page-run-a-node-decentralized-preview": "Rezistați, prin întărirea punctele de eșec ale centralizării.", - "page-run-a-node-decentralized-1": "Serverele centralizate în cloud, pot furniza o mare putere de calcul, însă ele constituie o țintă pentru statele-națiuni sau atacatorii care încearcă să întrerupă rețeaua.", - "page-run-a-node-decentralized-2": "Reziliența rețelei este realizată cu mai multe noduri, în diverse amplasamente geografice, operate de mai multe persoane care provin din diverse medii. Cu cât numărul persoanelor ce își rulează propriul nod crește, cu atât scade dependența de puncte de eșec centralizate, conferind rezistență rețelei.", - "page-run-a-node-feedback-prompt": "Ați găsit această pagină utilă?", + "page-run-a-node-decentralized-1": "Serverele centralizate în cloud pot furniza o mare putere de calcul, însă ele constituie o țintă pentru statele-națiuni sau atacatorii care încearcă să întrerupă rețeaua.", + "page-run-a-node-decentralized-2": "Reziliența rețelei este realizată cu mai multe noduri, în diverse locații geografice, operate de mai multe persoane care provin din diverse medii. Cu cât numărul persoanelor ce își rulează propriul nod crește, cu atât scade dependența de puncte de eșec centralizate, conferind rezistență rețelei.", + "page-run-a-node-feedback-prompt": "Considerați că această pagină a fost utilă?", "page-run-a-node-further-reading-title": "Referințe suplimentare", "page-run-a-node-further-reading-1-link": "Stăpânirea Ethereum - Ar trebui să rulez un nod complet", "page-run-a-node-further-reading-1-author": "Andreas Antonopoulos", - "page-run-a-node-further-reading-2-link": "Ethereum pe ARM - Ghid de inițiere rapidă", - "page-run-a-node-further-reading-3-link": "Limitele scalabilității blockchain-ului", + "page-run-a-node-further-reading-2-link": "Ethereum on ARM - Ghid de pornire rapidă", + "page-run-a-node-further-reading-3-link": "Limitele scalabilității blockchainului", "page-run-a-node-further-reading-3-author": "Vitalik Buterin", "page-run-a-node-getting-started-title": "Noțiuni de bază", "page-run-a-node-getting-started-software-section-1": "În primele zile ale rețelei, utilizatorii trebuiau să aibă posibilitatea de a avea o interfață cu linia de comandă pentru a putea opera un nod Ethereum.", - "page-run-a-node-getting-started-software-section-1-alert": "Dacă preferați aceasta și aveți abilitățile necesare, nu ezitați să consultați documentația noastră.", + "page-run-a-node-getting-started-software-section-1-alert": "Dacă aceasta este preferința dvs. și aveți abilitățile necesare, nu ezitați să consultați documentația noastră tehnică.", "page-run-a-node-getting-started-software-section-1-link": "Creați-vă un nod Ethereum", - "page-run-a-node-getting-started-software-section-2": "Acum avem DAppNode, care este un software gratuit și cu sursă deschisă, care oferă utilizatorilor o experiență de tip aplicație în timp ce-și gestionează nodul.", - "page-run-a-node-getting-started-software-section-3a": "Cu doar câteva atingeri, puteți avea nodul dvs. funcțional.", - "page-run-a-node-getting-started-software-section-3b": "DAppNode facilitează utilizatorilor să ruleze atât noduri complete, cât și dapp-uri și alte rețele P2P, fără să fie nevoie să atingeți linia de comandă. Astfel, este mai ușor pentru toată lumea să participe și să creeze o rețea mai descentralizată.", - "page-run-a-node-getting-started-software-title": "Partea 2-a: Software", - "page-run-a-node-glyph-alt-terminal": "Glifa terminal", + "page-run-a-node-getting-started-software-section-2": "Acum avem DAppNode, un software gratuit și cu sursă deschisă, care oferă utilizatorilor o experiență de tip aplicație în timp ce-și gestionează nodul.", + "page-run-a-node-getting-started-software-section-3a": "Cu doar câteva atingeri, nodul dvs. poate fi funcțional.", + "page-run-a-node-getting-started-software-section-3b": "Cu DAppNode utilizatorii pot rula cu ușurință atât noduri complete, cât și aplicații descentralizate (dapps) și alte rețele P2P, fără a atinge linia de comandă. Astfel, este mai ușor pentru toată lumea să participe și să creeze o rețea mai descentralizată.", + "page-run-a-node-getting-started-software-title": "Partea 2: Software", + "page-run-a-node-glyph-alt-terminal": "Glifa terminalului", "page-run-a-node-glyph-alt-phone": "Glifa atingerii telefonului", "page-run-a-node-glyph-alt-dappnode": "Glifa DappNode", "page-run-a-node-glyph-alt-pnp": "Glifa plug and play", "page-run-a-node-glyph-alt-hardware": "Glifa hardware", "page-run-a-node-glyph-alt-software": "Glifa descărcare software", "page-run-a-node-glyph-alt-privacy": "Glifa confidențialității", - "page-run-a-node-glyph-alt-censorship-resistance": "Censorship resistant megaphone glyph", + "page-run-a-node-glyph-alt-censorship-resistance": "Glifa megafonului de rezistență la cenzură", "page-run-a-node-glyph-alt-earth": "Glifa Pământului", "page-run-a-node-glyph-alt-decentralization": "Glifa descentralizării", "page-run-a-node-glyph-alt-vote": "Glifa exprimării votului", "page-run-a-node-glyph-alt-sovereignty": "Glifa suveranității", - "page-run-a-node-hero-alt": "Grafic sau nod", + "page-run-a-node-hero-alt": "Grafica nodului", "page-run-a-node-hero-header": "Preluați controlul deplin.
Rulați-vă propriul nod.", - "page-run-a-node-hero-subtitle": "Deveniți întru totul suveran, contribuind în același timp la securizarea rețelei. Deveniți Ethereum.", + "page-run-a-node-hero-subtitle": "Deveniți întru totul suverani, contribuind în același timp la securizarea rețelei. Deveniți Ethereum.", "page-run-a-node-hero-cta-1": "Aflați mai multe", - "page-run-a-node-hero-cta-2": "Let's dive in!", - "page-run-a-node-install-manually-title": "Instalați manual", + "page-run-a-node-hero-cta-2": "Haideți să încercăm!", + "page-run-a-node-install-manually-title": "Instalare manuală", "page-run-a-node-install-manually-1": "Dacă sunteți un utilizator mai tehnic și ați decis să vă construiți propriul dispozitiv, DAppNode poate fi descărcat pe orice computer și poate fi instalat pe un SSD nou prin intermediul unui USB.", "page-run-a-node-meta-description": "O introducere despre ce, de ce și cum să rulați un nod Ethereum.", "page-run-a-node-participate-title": "Participarea", - "page-run-a-node-participate-preview": "Revoluția descentralizării pornește cu dumneavoastră.", - "page-run-a-node-participate-1": "Prin operarea unui nod, deveniți parte dintr-o mișcare mondială de descentralizare a controlului și puterii peste o lume a informației.", - "page-run-a-node-participate-2": "Dacă sunteți un „holder”, aduceți un plus de valoare ETH-ului dvs. prin sprijinirea sănătății și descentralizării rețelei, asigurându-vă că aveți un cuvânt de spus în viitorul acesteia.", + "page-run-a-node-participate-preview": "Revoluția descentralizării pornește cu dvs.", + "page-run-a-node-participate-1": "Prin rularea unui nod, deveniți parte dintr-o mișcare globală de descentralizare a controlului și puterii asupra unei lumi a informației.", + "page-run-a-node-participate-2": "Dacă sunteți un deținător, aduceți un plus de valoare ETH-ului dvs. prin sprijinirea sănătății și descentralizării rețelei, asigurându-vă că aveți un cuvânt de spus în viitorul acesteia.", "page-run-a-node-privacy-title": "Confidențialitate și securitate", "page-run-a-node-privacy-preview": "Opriți divulgarea informațiilor dvs. personale către nodurile terților.", - "page-run-a-node-privacy-1": "Când trimiteți tranzacții folosind noduri publice, informațiile personale cum ar fi adresa dvs. IP și adresele Ethereum pe care le dețineți, pot fi dezvăluite unor astfel de servicii terțe.", - "page-run-a-node-privacy-2": "Prin îndreptarea portofelelor compatibile către nodul propriu, vă puteți folosi portofelul de o manieră privată și sigură pentru a interacționa cu blockchain-ul.", - "page-run-a-node-privacy-3": "De asemenea, dacă un nod rău intenționat, distribuie o tranzacție invalidă, nodul propriu o va ignora întru totul. Fiecare tranzacție este verificată la nivel local, pe propria dvs. mașină, așa că nu trebuie să aveți încredere în nimeni.", + "page-run-a-node-privacy-1": "Când trimiteți tranzacții folosind noduri publice, informațiile personale, precum adresa dvs. IP și adresele Ethereum pe care le dețineți, pot fi dezvăluite unor astfel de servicii terțe.", + "page-run-a-node-privacy-2": "Prin îndreptarea portofelelor compatibile către propriul nod, vă puteți folosi portofelul pentru o interacțiune privată și sigură cu blockchainul.", + "page-run-a-node-privacy-3": "De asemenea, dacă un nod rău intenționat distribuie o tranzacție invalidă, nodul dvs. o va ignora pur și simplu. Fiecare tranzacție este verificată la nivel local, pe propria mașină, așa că nu trebuie să aveți încredere în nimeni.", "page-run-a-node-rasp-pi-title": "O notă despre Raspberry Pi (procesorul ARM)", - "page-run-a-node-rasp-pi-description": "Raspberry Pi sunt computere ușoare și accesibile, dar au limitări care pot avea impact asupra performanței nodului dumneavoastră. Chiar dacă în prezent nu sunt recomandate pentru mizare, acestea pot fi o excelentă opțiune ieftină pentru rularea unui nod pentru uz personal, cu numai 4 - 8 GB de RAM.", + "page-run-a-node-rasp-pi-description": "Raspberry Pi sunt computere ușoare și accesibile, dar au limitări care pot afecta performanța nodului dvs. Chiar dacă în prezent nu sunt recomandate pentru mizare, acestea pot fi o excelentă opțiune ieftină pentru rularea unui nod pentru uz personal, cu numai 4 - 8 GB de RAM.", "page-run-a-node-rasp-pi-note-1-link": "DAppNode pe ARM", "page-run-a-node-rasp-pi-note-1-description": "Consultați acest instrucțiuni, dacă aveți intenția să rulați un DAppNode pe un Raspberry Pi", "page-run-a-node-rasp-pi-note-2-link": "Documentația pentru Ethereum pe ARM", - "page-run-a-node-rasp-pi-note-2-description": "Aflați cum să configurați un nod prin linia de comandă pe un Raspberry Pi", + "page-run-a-node-rasp-pi-note-2-description": "Învățați cum să configurați un nod prin linia de comandă pe un Raspberry Pi", "page-run-a-node-rasp-pi-note-3-link": "Rularea unui nod cu Raspberry Pi", "page-run-a-node-rasp-pi-note-3-description": "Continuați aici dacă preferați tutorialele", "page-run-a-node-shop": "Cumpărați", "page-run-a-node-shop-avado": "Cumpărați Avado", "page-run-a-node-shop-dappnode": "Cumpărați DAppNode", "page-run-a-node-staking-title": "Mizați propriul ETH", - "page-run-a-node-staking-description": "Deși nu este obligatoriu, cu un nod funcțional, sunteți cu un pas mai aproape de a miza propriul ETH pentru a primi recompense și a contribui astfel la o altă componentă a securității Ethereum.", + "page-run-a-node-staking-description": "Deși nu este obligatoriu, cu un nod funcțional sunteți cu un pas mai aproape de a miza propriul ETH pentru a primi recompense și a contribui astfel la o altă componentă a securității Ethereum.", "page-run-a-node-staking-link": "Mizați ETH", "page-run-a-node-staking-plans-title": "Aveți intenția de a miza?", - "page-run-a-node-staking-plans-description": "To maximize the efficiency of your validator, a minimum of 16 GB RAM is recommended, but 32 GB is better, with a CPU benchmark score of 6667+ on cpubenchmark.net. It is also recommended that stakers have access to unlimited high-speed internet bandwidth, though this is not an absolute requirement.", - "page-run-a-node-staking-plans-ethstaker-link-label": "Cum să: Facem cumpărături pentru un validator hardware Ethereum", - "page-run-a-node-staking-plans-ethstaker-link-description": "„StakerEth” pe YouTube intră mai în detaliu în acest videoclip lung de aproape o oră", + "page-run-a-node-staking-plans-description": "Pentru a maximiza eficiența validatorului dvs., este recomandat să aveți măcar 16 GB de RAM, dar este și mai bine dacă aveți 32 GB, cu un scor de referință CPU de 6667+ pe cpubenchmark.net. De asemenea, se recomandă ca persoanele care depun mizele să aibă acces nelimitat la internet de mare viteză, deși acest lucru nu este obligatoriu.", + "page-run-a-node-staking-plans-ethstaker-link-label": "Cum să faceți cumpărături pentru un hardware validator Ethereum", + "page-run-a-node-staking-plans-ethstaker-link-description": "EthStaker oferă mai multe detalii în acest videoclip special de aproape o oră", "page-run-a-node-sovereignty-title": "Suveranitate", - "page-run-a-node-sovereignty-preview": "Gândiți-vă la rularea unui nod, ca la următorul pas după obținerea propriului dvs. portofel Ethereum.", - "page-run-a-node-sovereignty-1": "Un portofel Ethereum vă permite să aveți custodia deplină asupra activelor dvs. digitale, prin deținerea cheilor private a le adreselor dvs., dar aceste chei nu vă spun starea actuală a blockchain-ului, ca de exemplu, soldul portofelului dumneavoastră.", - "page-run-a-node-sovereignty-2": "În mod implicit, portofelele Ethereum, se adresează de obicei unui nod terț, cum ar fi „Infuria” sau „Alchemy”, atunci când vă verifică soldurile. Rularea nodului propriu, vă permite să aveți propria copie a blockchain-ului Ethereum.", + "page-run-a-node-sovereignty-preview": "Gândiți-vă la rularea unui nod, ca la următorul pas după obținerea propriului portofel Ethereum.", + "page-run-a-node-sovereignty-1": "Un portofel Ethereum vă permite să aveți custodie deplină asupra activelor dvs. digitale, prin deținerea cheilor private ale adreselor dvs., dar aceste chei nu vă spun starea actuală a blockchainului, ca de exemplu, soldul portofelului dumneavoastră.", + "page-run-a-node-sovereignty-2": "În mod implicit, portofelele Ethereum se adresează de obicei unui nod terț, precum Infura sau Alchemy, atunci când vă verifică soldurile. Rularea nodului propriu vă permite să aveți propria copie a blockchainului Ethereum.", "page-run-a-node-title": "Rulați un nod", "page-run-a-node-voice-your-choice-title": "Exprimați-vă alegerea", "page-run-a-node-voice-your-choice-preview": "Nu renunțați la control în cazul unui fork.", - "page-run-a-node-voice-your-choice-1": "În cazul unei bifurcări a lanțului, în care caz, apar două lanțuri cu două seturi diferite de reguli, rularea propriului nod vă garantează abilitatea de alege care set de reguli susțineți. Este la alegerea dvs. să vă actualizați la aceste reguli și să susțineți sau nu noile schimbări propuse.", - "page-run-a-node-voice-your-choice-2": "Dacă mizați ETH, rularea propriului nod vă dă posibilitatea să vă alegeți propriul client, să vă minimizați riscul de penalități („slashing”) și să reacționați la cererile fluctuante ale rețelei în decursul timpului. Dacă mizați cu o parte terță, pierdeți votul pentru clientul pe care îl considerați alegerea cea mai bună.", + "page-run-a-node-voice-your-choice-1": "În cazul unei bifurcații a lanțului, respectiv când apar două lanțuri cu două seturi diferite de reguli, rularea propriului nod vă oferă posibilitatea de a alege setul de reguli pe care să îl susțineți. Este la alegerea dvs. dacă doriți să actualizați regulile și să susțineți sau nu noile schimbări propuse.", + "page-run-a-node-voice-your-choice-2": "Dacă mizați ETH, rularea propriului nod vă oferă posibilitatea de a alege propriul client, de a minimiza riscul de penalități și de a reacționa la cererile fluctuante ale rețelei de-a lungul timpului. Dacă mizați cu o parte terță, pierdeți votul pentru clientul pe care îl considerați alegerea cea mai bună.", "page-run-a-node-what-title": "Ce înseamnă „rularea unui nod”?", "page-run-a-node-what-1-subtitle": "Rulați software-ul.", - "page-run-a-node-what-1-text": "Cunoscut sub numele de „client”, acest software descarcă o copie a blockchain-ului Ethereum și verifică validitatea fiecărui bloc, iar apoi îl actualizează cu noile blocuri și tranzacții, ajutându-i pe ceilalți să descarce și să actualizeze propriile lor copii.", + "page-run-a-node-what-1-text": "Cunoscut sub numele de „client”, acest software descarcă o copie a blockchainului Ethereum și verifică validitatea fiecărui bloc, iar apoi îl actualizează cu noile blocuri și tranzacții, ajutându-i pe ceilalți să descarce și să actualizeze propriile copii.", "page-run-a-node-what-2-subtitle": "Folosind un hardware.", - "page-run-a-node-what-2-text": "Ethereum este creat pentru a rula un nod pe computere de uz comun și performanțe medii. Puteți folosi orice computer personal, dar majoritatea utilizatorilor au decis să ruleze nodul pe hardware specializate pentru a elimina impactul asupra performanței mașinii lor și pentru a minimiza timpul de întrerupere a nodului.", + "page-run-a-node-what-2-text": "Ethereum este creat pentru a rula un nod pe computere de uz comun și performanțe medii. Puteți folosi orice computer personal, dar majoritatea utilizatorilor au decis să ruleze nodul pe hardware specializat pentru a elimina impactul asupra performanței mașinii lor și pentru a minimiza timpul de întrerupere a nodului.", "page-run-a-node-what-3-subtitle": "În timp ce sunteți online.", "page-run-a-node-what-3-text": "Rularea unui nod Ethereum poate să pară mai complicată la început, dar este vorba doar de rularea continuă a unui software client pe un computer în timp ce acesta este conectat la internet. În timp ce este offline, nodul dvs. va fi pur și simplu inactiv până când va fi din nou online și se va actualiza cu cele mai recente modificări.", "page-run-a-node-who-title": "Cine poate să ruleze un nod?", - "page-run-a-node-who-preview": "Toată lumea! Nodurile nu sunt numai pentru miner-i și validatori. Oricine poate rula un nod—nici măcar nu aveți nevoie de ETH.", - "page-run-a-node-who-copy-1": "Nu este nevoie să mizați ETH sau să fiți miner pentru a rula un nod. De fapt, orice alt nod de pe Ethereum este cel care îi ține responsabili pe mineri și validatori.", - "page-run-a-node-who-copy-2": "Poate că nu veți primi recompensele financiare pe care le obțin validatorii și miner-ii, însă aveți multe alte beneficii dacă rulați un nod, pe care orice utilizator Ethereum trebuie să le aibă în vedere, inclusiv confidențialitatea și securitatea, reducerea dependenței de serverele terților, rezistența la cenzură, cât și îmbunătățirea funcționării rețelei și descentralizarea acesteia.", - "page-run-a-node-who-copy-3": "Având propriul nod, înseamnă că nu mai trebuie să vă încredeți în informațiile despre starea rețelei, furnizate de o parte terță.", + "page-run-a-node-who-preview": "Toată lumea! Nodurile nu sunt numai pentru mineri și validatori. Oricine poate rula un nod — nici măcar nu aveți nevoie de ETH.", + "page-run-a-node-who-copy-1": "Nu este nevoie să mizați ETH sau să fiți miner pentru a rula un nod. De fapt, orice alt nod de pe Ethereum este cel care îi face răspunzători pe mineri și validatori.", + "page-run-a-node-who-copy-2": "Poate că nu veți primi recompensele financiare pe care le obțin validatorii și minerii, însă rularea unui nod aduce multe alte beneficii pe care orice utilizator Ethereum trebuie să le aibă în vedere, inclusiv confidențialitatea, securitatea, reducerea dependenței față de serverele terților, rezistența la cenzură, precum și îmbunătățirea funcționării rețelei și descentralizarea acesteia.", + "page-run-a-node-who-copy-3": "Dacă aveți propriul nod, înseamnă că nu mai este nevoie să vă bazați pe informațiile despre starea rețelei furnizate de un terț.", "page-run-a-node-who-copy-bold": "Nu vă încredeți. Verificați.", - "page-run-a-node-why-title": "De ce să rulați un nod?" + "page-run-a-node-why-title": "De ce trebuie să rulați un nod?" } diff --git a/src/intl/ro/page-stablecoins.json b/src/intl/ro/page-stablecoins.json index cf250b9494e..eeabda74d1a 100644 --- a/src/intl/ro/page-stablecoins.json +++ b/src/intl/ro/page-stablecoins.json @@ -8,7 +8,7 @@ "page-stablecoins-accordion-borrow-places-title": "Locuri de unde puteți împrumuta stablecoins", "page-stablecoins-accordion-borrow-requirement-1": "Portofelul Ethereum", "page-stablecoins-accordion-borrow-requirement-1-description": "Veți avea nevoie de un portofel pentru a utiliza o aplicație dapp", - "page-stablecoins-accordion-borrow-requirement-2": "Ether-ul (ETH)", + "page-stablecoins-accordion-borrow-requirement-2": "Ether (ETH)", "page-stablecoins-accordion-borrow-requirement-2-description": "Veții avea nevoie de ETH pentru garanții și/sau comisioane de tranzacție", "page-stablecoins-accordion-borrow-requirements-description": "Pentru a împrumuta stablecoins, va trebui să utilizați aplicația dapp potrivită. De asemenea, veți avea nevoie de un portofel și de ceva ETH.", "page-stablecoins-accordion-borrow-risks-copy": "Dacă utilizați ETH ca garanție și valoarea acestuia scade, garanția dvs. nu va acoperi stablecoin-urile pe care le-ați generat. Acest lucru va provoca lichidarea ETH-ul dvs. și este posibil să vă confruntați cu o penalizare. Deci, dacă împrumutați stablecoins, va trebui să urmăriți prețul ETH-ului.", @@ -41,21 +41,21 @@ "page-stablecoins-accordion-requirements": "De ce aveți nevoie", "page-stablecoins-accordion-swap-dapp-intro": "Dacă aveți deja ETH și un portofel, puteți utiliza aceste aplicații dapp pentru a schimba pe stablecoins.", "page-stablecoins-accordion-swap-dapp-link": "Aflați mai multe despre schimburile descentralizate", - "page-stablecoins-accordion-swap-dapp-title": "Aplicații dapp pentru schimbul de jetoane", + "page-stablecoins-accordion-swap-dapp-title": "Aplicații dapp pentru schimbul de tokenuri", "page-stablecoins-accordion-swap-editors-tip": "Sfaturile editorului", "page-stablecoins-accordion-swap-editors-tip-button": "Găsiți portofele", - "page-stablecoins-accordion-swap-editors-tip-copy": "Obțineți un portofel care vă va permite să cumpărați ETH și să îl schimbați direct pe jetoane, inclusiv stablecoins.", + "page-stablecoins-accordion-swap-editors-tip-copy": "Obțineți un portofel care vă va permite să cumpărați ETH și să îl schimbați direct pe tokenuri, inclusiv stablecoins.", "page-stablecoins-accordion-swap-pill": "Recomandat", "page-stablecoins-accordion-swap-requirement-1": "Portofelul Ethereum", "page-stablecoins-accordion-swap-requirement-1-description": "Veți avea nevoie de un portofel pentru a autoriza schimbul și a vă stoca monedele", "page-stablecoins-accordion-swap-requirement-2": "Ether (ETH)", "page-stablecoins-accordion-swap-requirement-2-description": "Pentru a plăti conversia", - "page-stablecoins-accordion-swap-text-preview": "Puteți alege dintr-o varietate de stablecoins la schimburile descentralizate. Deci puteți schimba orice jeton aveți pe stablecoin-ul dorit.", + "page-stablecoins-accordion-swap-text-preview": "Puteți alege dintr-o varietate de monede stabile la schimburile descentralizate. Deci puteți schimba orice token aveți pe moneda stabilă dorită.", "page-stablecoins-accordion-swap-title": "Schimbați", "page-stablecoins-algorithmic": "Algoritmica", "page-stablecoins-algorithmic-con-1": "Trebuie să aveți încredere în algoritm (sau să îl puteți citi).", "page-stablecoins-algorithmic-con-2": "Soldul tău de monede se va modifica în funcție de cantitatea totală.", - "page-stablecoins-algorithmic-description": "Aceste stablecoins nu sunt susținute de niciun alt activ. Un algoritm va vinde în schimb jetoane dacă prețul scade sub valoarea dorită și va furniza jetoane dacă valoarea depășește suma dorită. Deoarece numărul acestor jetoane aflate în circulație se modifică în mod regulat, numărul de jetoane pe care le dețineți se va schimba, dar va reflecta întotdeauna partea dvs.", + "page-stablecoins-algorithmic-description": "Aceste stablecoins nu sunt susținute de niciun alt activ. Un algoritm va vinde în schimb tokenuri dacă prețul scade sub valoarea dorită și va furniza tokenuri dacă valoarea depășește suma dorită. Deoarece numărul acestor tokenuri aflate în circulație se modifică în mod regulat, numărul de tokenuri pe care le dețineți se va schimba, dar va reflecta întotdeauna partea dvs.", "page-stablecoins-algorithmic-pro-1": "Nu este necesară nicio garanție.", "page-stablecoins-algorithmic-pro-2": "Controlat de un algoritm public.", "page-stablecoins-bank-apy": "0,05%", @@ -80,7 +80,7 @@ "page-stablecoins-editors-choice-intro": "Acestea sunt probabil cele mai cunoscute exemple de stablecoins la ora actuală și monedele pe care le-am constatat utile atunci când folosim aplicații dapp.", "page-stablecoins-explore-dapps": "Explorați aplicațiile dapp", "page-stablecoins-fiat-backed": "Garantat de fiat", - "page-stablecoins-fiat-backed-con-1": "Centralizat – cineva trebuie să emită jetoanele.", + "page-stablecoins-fiat-backed-con-1": "Centralizat – cineva trebuie să emită tokenurile.", "page-stablecoins-fiat-backed-con-2": "Necesită audit pentru a garanta că rezervele companiei sunt suficiente.", "page-stablecoins-fiat-backed-description": "În principiu, un IOU (I owe you - îți sunt dator) pentru o monedă tradițională fiat (de obicei, dolari). Vă utilizați moneda fiat pentru a achiziționa o stablecoin pe care ulterior o puteți încasa și schimba pentru a vă recupera moneda originală.", "page-stablecoins-fiat-backed-pro-1": "Securizată împotriva volatilității cripto.", @@ -93,12 +93,12 @@ "page-stablecoins-hero-alt": "Trei dintre cele mai mari stablecoins în funcție de capitalizarea pe piață: Dai, USDC și Tether.", "page-stablecoins-hero-button": "Obțineți stablecoins", "page-stablecoins-hero-header": "Bani digitali pentru uzul cotidian", - "page-stablecoins-hero-subtitle": "Stablecoin-urile sunt jetoane Ethereum destinate a rămâne la o valoare fixă, chiar și atunci când prețul ETH se modifică.", + "page-stablecoins-hero-subtitle": "Monedele stabile sunt tokenuri Ethereum destinate a rămâne la o valoare fixă, chiar și atunci când prețul ETH se modifică.", "page-stablecoins-interest-earning-dapps": "Dapp-uri câștigătoare de dobânzi", - "page-stablecoins-meta-description": "Introducere despre stablecoin-urile Ethereum: ce sunt acestea, cum să le obțineți și de ce sunt importante.", + "page-stablecoins-meta-description": "Introducere despre monedele stabile Ethereum: ce sunt, cum să le obțineți și de ce sunt importante.", "page-stablecoins-precious-metals": "Metalele prețioase", - "page-stablecoins-precious-metals-con-1": "Centralizat – cineva trebuie să emită jetoane.", - "page-stablecoins-precious-metals-con-2": "Trebuie să aveți încredere în emitentul jetoanelor și în rezervele de metale prețioase.", + "page-stablecoins-precious-metals-con-1": "Centralizat – cineva trebuie să emită tokenurile.", + "page-stablecoins-precious-metals-con-2": "Trebuie să aveți încredere în emitentul tokenurilor și în rezervele de metale prețioase.", "page-stablecoins-precious-metals-description": "Asemenea monedelor susținute de fiat, aceste stablecoins folosesc în schimb resurse precum aurul pentru a-și menține valoarea.", "page-stablecoins-precious-metals-pro-1": "Securizată împotriva volatilității cripto.", "page-stablecoins-prices": "Prețurile stablecoin-urilor", @@ -107,20 +107,20 @@ "page-stablecoins-research-warning": "Ethereum este o tehnologie nouă și majoritatea aplicațiilor sunt noi. Atenție să conștientizați riscurile și depuneți doar ceea ce vă puteți permite să pierdeți.", "page-stablecoins-research-warning-title": "Cercetați întotdeauna pe cont propriu", "page-stablecoins-save-stablecoins": "Faceți economii cu stablecoins", - "page-stablecoins-save-stablecoins-body": "Stablecoins au adesea o rată a dobânzii peste medie, deoarece există o mare cerere de împrumut pentru acestea. Există aplicații dapp care vă permit să câștigați dobânzi pentru stablecoin-urile dvs. în timp real, depunându-le într-un fond de creditare. La fel ca în lumea bancară, furnizați jetoane pentru cei care împrumută, dar vă puteți retrage jetoanele și dobânzile în orice moment.", + "page-stablecoins-save-stablecoins-body": "Monedele stabile au adesea o rată a dobânzii peste medie, deoarece există o mare cerere de împrumut pentru acestea. Există aplicații dapp care vă permit să câștigați dobânzi pentru monedele dvs. stabile în timp real, depunându-le într-un fond de creditare. La fel ca în lumea bancară, furnizați tokenuri pentru cei care împrumută, dar vă puteți retrage tokenurile și dobânzile în orice moment.", "page-stablecoins-saving": "Folosiți-vă judicios economiile de stablecoins și câștigați dobânzi. Precum toate în cripto, Randamentele Anuale Anticipate (APY) se pot schimba de la o zi la alta, în funcție de cerere/ofertă în timp real.", "page-stablecoins-stablecoins-dapp-callout-description": "Consultați aplicațiile dapp Ethereum - stablecoins sunt adesea mai utile pentru tranzacțiile de zi cu zi.", "page-stablecoins-stablecoins-dapp-callout-image-alt": "Imaginea unui doge.", "page-stablecoins-stablecoins-dapp-callout-title": "Utilizați-vă stablecoins", "page-stablecoins-stablecoins-dapp-description-1": "Piețe pentru o mulțime de stablecoins, inclusiv Dai, USDC, TUSD, USDT și multe altele. ", - "page-stablecoins-stablecoins-dapp-description-2": "Dați cu împrumut stablecoins și câștiați dobândă și $COMP, propriul jeton al Compound.", + "page-stablecoins-stablecoins-dapp-description-2": "Dați cu împrumut monede stabile și câștiați dobândă și $COMP, propriul token al Compound.", "page-stablecoins-stablecoins-dapp-description-3": "O platformă de tranzacționare în care puteți câștiga dobândă pentru Dai și USDC.", "page-stablecoins-stablecoins-dapp-description-4": "O aplicație destinată a salva Dai.", "page-stablecoins-stablecoins-feature-1": "Stablecoin-urile sunt globale și pot fi trimise prin internet. Sunt ușor de primit sau de trimis odată ce aveți un cont Ethereum.", "page-stablecoins-stablecoins-feature-2": "Cererea de stablecoins este mare, de aceea puteți câștiga dobânzidacă le dați cu împrumut. Aveți grijă să conștientizați riscurile înainte de a da cu împrumut.", - "page-stablecoins-stablecoins-feature-3": "Stablecoin-urile sunt interschimbabile cu ETH și alte jetoane Ethereum. Numeroase aplicații dapp se bazează pe stablecoins.", + "page-stablecoins-stablecoins-feature-3": "Monedele stabile sunt interschimbabile cu ETH și alte tokenuriEthereum. Numeroase aplicații dapp se bazează pe monede stabile.", "page-stablecoins-stablecoins-feature-4": "Monedele stabile sunt securizate prin criptografie. Nimeni nu poate falsifica tranzacții în numele dvs.", - "page-stablecoins-stablecoins-meta-description": "Introducere despre stablecoin-urile Ethereum: ce sunt, cum să le obțineți și de ce sunt importante.", + "page-stablecoins-stablecoins-meta-description": "Introducere despre monedele stabile Ethereum: ce sunt, cum să le obțineți și de ce sunt importante.", "page-stablecoins-stablecoins-table-header-column-1": "Moneda", "page-stablecoins-stablecoins-table-header-column-2": "Valorificarea pe piață", "page-stablecoins-stablecoins-table-header-column-3": "Tip de garanție", @@ -132,7 +132,7 @@ "page-stablecoins-title": "Stablecoins", "page-stablecoins-top-coins": "Stablecoins de top conform valorificării pe piață", "page-stablecoins-top-coins-intro": "Valorificarea pe piață este", - "page-stablecoins-top-coins-intro-code": "numărul total de jetoane existente înmulțit cu valoarea jetonului. Această listă este dinamică, iar proiectele enumerate aici nu sunt neapărat avizate de echipa ethereum.org.", + "page-stablecoins-top-coins-intro-code": "numărul total de tokenuri existente înmulțit cu valoarea tokenului. Această listă este dinamică, iar proiectele enumerate aici nu sunt neapărat avizate de echipa ethereum.org.", "page-stablecoins-types-of-stablecoin": "Cum funcționează: tipuri de stablecoins", "page-stablecoins-usdc-banner-body": "USDc este probabil cea mai faimoasă stablecoin susținută de fiat. Valoarea sa este de aproximativ un dolar și este susținută de Circle și Coinbase.", "page-stablecoins-usdc-banner-learn-button": "Aflați despre USDC", diff --git a/src/intl/ro/page-wallets-find-wallet.json b/src/intl/ro/page-wallets-find-wallet.json index 25902f3b7ef..39d76317a88 100644 --- a/src/intl/ro/page-wallets-find-wallet.json +++ b/src/intl/ro/page-wallets-find-wallet.json @@ -8,18 +8,18 @@ "page-find-wallet-buy-card-desc": "Cumpăațiă ETH direct din portofel cu un card bancar. Se pot aplica restricții geografice.", "page-find-wallet-card-yes": "Da", "page-find-wallet-card-no": "Nu", - "page-find-wallet-card-go": "Accesați", + "page-find-wallet-card-go": "Porniți", "page-find-wallet-card-hardware": "Hardware", "page-find-wallet-card-mobile": "Mobil", "page-find-wallet-card-desktop": "Desktop", "page-find-wallet-card-web": "Web", - "page-find-wallet-card-more-info": "Aflați mai multe", + "page-find-wallet-card-more-info": "Informații suplimentare", "page-find-wallet-card-features": "Funcționalități", "page-find-wallet-card-has-bank-withdraws": "Retrageți prin transfer bancar", "page-find-wallet-card-has-card-deposits": "Cumpărați ETH cu cardul", "page-find-wallet-card-has-defi-integration": "Accesul la DeFi", "page-find-wallet-card-has-explore-dapps": "Explorați dapp-urile", - "page-find-wallet-card-has-dex-integrations": "Schimbați jetoane", + "page-find-wallet-card-has-dex-integrations": "Schimbați tokenuri", "page-find-wallet-card-has-high-volume-purchases": "Cumpărați cantități mari", "page-find-wallet-card-has-limits-protection": "Limitele tranzacțiilor", "page-find-wallet-card-has-multisig": "Protecție multi-semnătură", @@ -32,12 +32,12 @@ "page-find-wallet-desc-2": "Așa că alegeți-vă un portofel în funcție de funcționalitățile dorite.", "page-find-wallet-description": "Portofelele au o mulțime de funcționalități facultative care v-ar putea plăcea.", "page-find-wallet-description-airgap": "Semnați tranzacții complet off-line pe un dispozitiv fără conectivitate la rețea folosind aplicația AirGap Vault. Apoi le puteți transmite de pe un smartphone obișnuit cu ajutorul aplicației AirGap Wallet.", - "page-find-wallet-description-alpha": "Portofelul Ethereum complet open-source, care valorifică enclava sigură pe mobil, este întrutotul compatibilă cu testnet și adoptă normele TokenScript.", + "page-find-wallet-description-alpha": "Portofelul Ethereum complet open-source, care valorifică enclava sigură pe mobil, este complet compatibilă cu testnet și adoptă normele TokenScript.", "page-find-wallet-description-ambo": "Treceți direct la investiții și obțineți prima investiție în câteva minute de la descărcarea aplicației", "page-find-wallet-description-argent": "Printr-o singură atingere câștigați dobânzi și investiți; împrumutați, stocați și trimiteți. Deveniți proprietarul.", "page-find-wallet-description-bitcoindotcom": "Portofelul Bitcoin.com este acum compatibil cu Ethereum! Cumpărați, dețineți, trimiteți și tranzacționați ETH folosind un portofel absolut fără custodie, pe care îl folosesc cu încredere milioane de oameni.", "page-find-wallet-description-coinbase": "Aplicația securizată pentru a vă stoca în securitate cripto", - "page-find-wallet-description-coinomi": "Coinomi este cel mai vechi portofel multi-chain, cu suport pentru defi, multi-platformă pentru Bitcoin, Altcoins și jetoane - niciodată compromis, cu milioane de utilizatori.", + "page-find-wallet-description-coinomi": "Coinomi este cel mai vechi portofel multi-chain, cu suport pentru defi, multi-platformă pentru Bitcoin, Altcoins și tokenuri - niciodată compromis, cu milioane de utilizatori.", "page-find-wallet-description-coin98": "Un portofel și un portal DeFi, multi-lanț și fără custodie", "page-find-wallet-description-dcent": "Portofelul D'CENT este cel mai convenabil portofel multi-criptomonede, cu browser dapp descentralizat încorporat pentru acces ușor la DeFi, NFT-uri și o serie de servicii.", "page-find-wallet-description-enjin": "Impenetrabil, incorporând o mulțime de funcționalități și convenabil — construit pentru comercianți, jucători și dezvoltatori", @@ -48,10 +48,10 @@ "page-find-wallet-description-imtoken": "imToken este un portofel digital facil și securizat, în care au încredere milioane de oameni", "page-find-wallet-description-keystone": "Portofelul Keystone este un portofel hardware 100% protejat cu tehnologie open-source și utilizează un protocol de cod QR.", "page-find-wallet-description-ledger": "Păstrați-vă activele în siguranță la cele mai înalte standarde de securitate", - "page-find-wallet-description-linen": "Portofel mobil pentru contracte inteligente: câștigați sau cumpărați cripto și participați la DeFi. Câștigați recompense și jetoane de conducere.", + "page-find-wallet-description-linen": "Portofel mobil pentru contracte inteligente: câștigați sau cumpărați cripto și participați la DeFi. Câștigați recompense și tokenuri de conducere.", "page-find-wallet-description-loopring": "Primul portofel de contracte inteligente Ethereum de acest tip, cu tranzacționare, transferuri și AMM, bazat pe zkRollup. Nepericulos, sigur și simplu.", "page-find-wallet-description-mathwallet": "MathWallet este un portofel universal multi-platformă (mobil/extensie/web) compatibil cu peste 50 de blockchain-uri și peste 2000 de dapp-uri.", - "page-find-wallet-description-metamask": "Începeți să explorați aplicațiile blockchain în câteva secunde. Se bucură de încrederea a peste 1 milion de utilizatori din întreaga lume.", + "page-find-wallet-description-metamask": "Începeți să explorați aplicațiile blockchain în câteva secunde. Se bucură de încrederea a peste 21 milion de utilizatori din întreaga lume.", "page-find-wallet-description-monolith": "Singurul portofel cu autocustodie din lume asociat cu cardul de debit Visa. Disponibil în Marea Britanie și UE și utilizabil la nivel mondial.", "page-find-wallet-description-multis": "Multis este un cont de criptomonede destinat companiilor. Cu Multis, companiile pot să stocheze cu controale de acces, pot câștiga dobânzi pentru economiile lor și pot simplifica plățile și contabilitatea.", "page-find-wallet-description-mycrypto": "MyCrypto este o interfață pentru gestionarea tuturor conturilor dvs. Schimbați, trimiteți și cumpărați cripto cu portofele precum MetaMask, Ledger, Trezor și multe altele.", @@ -75,7 +75,7 @@ "page-find-wallet-enjin-logo-alt": "Sigla Enjin", "page-find-wallet-Ethereum-wallets": "Portofelele Ethereum", "page-find-wallet-explore-dapps": "Explorați aplicațiile dapp", - "page-find-wallet-explore-dapps-desc": "Aceste portofele sunt concepute pentru a vă ajuta să vă conectați la aplicațiile dapp Ethereum.", + "page-find-wallet-explore-dapps-desc": "Aceste portofele sunt concepute pentru a vă ajuta să vă conectați la aplicațiile descentralizate (dapps) Ethereum.", "page-find-wallet-feature-h2": "Alegeți funcționalitățile portofelului care vă interesează", "page-find-wallet-fi-tools": "Accesul la DeFi", "page-find-wallet-fi-tools-desc": "Împrumutați, acordați credit și câștigați dobânzi direct din portofel.", @@ -114,13 +114,13 @@ "page-find-wallet-pillar-logo-alt": "Sigla Pillar", "page-find-wallet-portis-logo-alt": "Sigla Portis", "page-find-wallet-rainbow-logo-alt": "Sigla Rainbow", - "page-find-wallet-raise-an-issue": "semnalați o problemă pe Github", + "page-find-wallet-raise-an-issue": "semnalează o problemă pe Github", "page-find-wallet-search-btn": "Căutați funcționalitățile selectate", "page-find-wallet-showing": "Se afișează ", "page-find-wallet-samsung-logo-alt": "Sigla Samsung Blockchain Wallet", "page-find-wallet-status-logo-alt": "Sigla Status", - "page-find-wallet-swaps": "Schimburi de jetoane descentralizate", - "page-find-wallet-swaps-desc": "Tranzacționați ETH cu alte tokenuri direct din portofel.", + "page-find-wallet-swaps": "Schimburi de tokenuri descentralizate", + "page-find-wallet-swaps-desc": "Tranzacționează între ETH și alte token-uri direct din portofel.", "page-find-wallet-title": "Găsiți un portofel", "page-find-wallet-tokenpocket-logo-alt": "Sigla TokenPocket", "page-find-wallet-bitkeep-logo-alt": "Sigla BitKeep", diff --git a/src/intl/ro/page-wallets.json b/src/intl/ro/page-wallets.json index 94dfd974ecf..68fac89865d 100644 --- a/src/intl/ro/page-wallets.json +++ b/src/intl/ro/page-wallets.json @@ -40,7 +40,7 @@ "page-wallets-mobile": "Aplicații mobile prin care vă puteți accesa fondurile de oriunde", "page-wallets-more-on-dapps-btn": "Aflați mai multe despre Dapp-uri", "page-wallets-most-wallets": "Majoritatea produselor legate de portofel vă vor permite să generați un cont Ethereum. Deci, nu aveți nevoie de niciunul înainte de a descărca un portofel.", - "page-wallets-protecting-yourself": "Pentru a vă proteja dvs. și fondurile dvs.", + "page-wallets-protecting-yourself": "Protecția dvs. și a fondurilor dvs.", "page-wallets-seed-phrase": "Notați-vă fraza de securitate", "page-wallets-seed-phrase-desc": "Portofelele vă vor oferi adesea o frază de securitate pe care trebuie să o notați undeva într-un loc sigur. Aceasta este singura modalitate de a vă recupera portofelul.", "page-wallets-seed-phrase-example": "Iată un exemplu:", diff --git a/src/intl/ro/page-what-is-ethereum.json b/src/intl/ro/page-what-is-ethereum.json index 4c24b93247c..79a92dc83f9 100644 --- a/src/intl/ro/page-what-is-ethereum.json +++ b/src/intl/ro/page-what-is-ethereum.json @@ -8,14 +8,14 @@ "page-what-is-ethereum-101-strong": "Este ", "page-what-is-ethereum-accessibility": "Ethereum este deschis tuturor.", "page-what-is-ethereum-adventure": "Alege-ți aventura!", - "page-what-is-ethereum-alt-img-bazaar": "Ilustrația unei persoane care privește într-un bazar, menit să reprezinte Ethereum", + "page-what-is-ethereum-alt-img-bazaar": "Ilustrația unei persoane care privește într-un bazar, menită să reprezinte Ethereum", "page-what-is-ethereum-alt-img-comm": "Imaginea unor membri ai comunității Ethereum care lucrează împreună", - "page-what-is-ethereum-alt-img-lego": "Imaginea unei mâini care creează sigla Ethereum din blocuri lego", - "page-what-is-ethereum-alt-img-social": "Imaginea unor personaje într-un spațiu social dedicat lui Ethereum cu un logo ETH mare", + "page-what-is-ethereum-alt-img-lego": "Imaginea unei mâini care creează sigla Ethereum din cărămizi lego", + "page-what-is-ethereum-alt-img-social": "Imaginea unor personaje într-un spațiu social dedicat lui Ethereum cu o siglă ETH mare", "page-what-is-ethereum-banking-card": "Servicii bancare pentru toată lumea", "page-what-is-ethereum-banking-card-desc": "Nu toată lumea are acces la servicii financiare. Dar pentru a accesa Ethereum și produsele sale de creditare, împrumut și economii aveți nevoie numai de o conexiune la internet.", "page-what-is-ethereum-build": "Creați ceva cu Ethereum", - "page-what-is-ethereum-build-desc": "Dacă doriți să încercați să construiți cu Ethereum, citiți documentele noastre, încercați câteva tutoriale sau vedeți uneltele de care aveți nevoie pentru a începe.", + "page-what-is-ethereum-build-desc": "Dacă dorești să încerci să construiești cu Ethereum, citește documentația noastră, încearcă unele tutoriale sau consultă instrumentele de care ai nevoie pentru a începe.", "page-what-is-ethereum-censorless-card": "Rezistent la cenzură", "page-what-is-ethereum-censorless-card-desc": "Niciun guvern sau societate nu deține controlul asupra Ethereum. Această descentralizare face aproape imposibil ca cineva să vă împiedice să primiți plăți sau să folosiți servicii pe Ethereum.", "page-what-is-ethereum-comm-desc": "Comunitatea noastră include oameni din toate mediile, inclusiv artiști, cripto-anarhiști, fortune 500 și acum tu. Află cum te poți implica chiar astăzi.", @@ -24,11 +24,11 @@ "page-what-is-ethereum-community": "Comunitatea Ethereum", "page-what-is-ethereum-compatibility-card": "Compatibilitate pentru succes", "page-what-is-ethereum-compatibility-card-desc": "Produse și experiențe mai bune sunt construite tot timpul, deoarece produsele Ethereum sunt compatibile în mod implicit. Companiile se pot baza reciproc pe succesul celeilalte.", - "page-what-is-ethereum-dapps-desc": "Produse și servicii care rulează pe Ethereum. Există aplicații dapp pentru finanțe, locul de muncă, rețele sociale, jocuri de noroc și multe altele – fă cunoștință cu aplicațiile viitorului nostru digital.", - "page-what-is-ethereum-dapps-img-alt": "O ilustrare a unui câine folosind o aplicație Ethereum pe un calculator", - "page-what-is-ethereum-dapps-title": "Aplicații dapp Ethereum", + "page-what-is-ethereum-dapps-desc": "Produse și servicii care rulează pe Ethereum. Există aplicații descentralizate pentru finanțe, locul de muncă, rețele sociale, jocuri de noroc și multe altele – fă cunoștință cu aplicațiile viitorului nostru digital.", + "page-what-is-ethereum-dapps-img-alt": "O ilustrare a unui doge folosind o aplicație Ethereum pe un calculator", + "page-what-is-ethereum-dapps-title": "Aplicații descentralizate Ethereum", "page-what-is-ethereum-desc": "Fundamentul viitorului nostru digital", - "page-what-is-ethereum-explore": "Explorează Ethereum", + "page-what-is-ethereum-explore": "Explorați Ethereum", "page-what-is-ethereum-get-started": "Cea mai bună modalitate de a afla mai multe este să descărcați un portofel, să obțineți niște ETH și să încercați o aplicație dapp Ethereum.", "page-what-is-ethereum-in-depth-description": "Ethereum este accesul liber la bani digitali și servicii accesibile tuturor, indiferent de mediu sau locație. Este o tehnologie construită de comunitate, în spatele criptomonedei eter (ETH) și a miilor de aplicații pe care le poți utiliza astăzi.", "page-what-is-ethereum-internet-card": "Un internet mai personal", @@ -56,7 +56,7 @@ "page-what-is-ethereum-welcome-2": "Sperăm să rămâneți.", "page-what-is-ethereum-defi-title": "Finanțele descentralizate (DeFi)", "page-what-is-ethereum-defi-description": "Un sistem financiar mai deschis, care vă oferă mai mult control asupra banilor și generează noi posibilități.", - "page-what-is-ethereum-defi-alt": "Sigla Eth alcătuită din piese lego.", + "page-what-is-ethereum-defi-alt": "Sigla Eth alcătuită din cărămizi lego.", "page-what-is-ethereum-nft-title": "Tokenuri nefungibile (NFT-uri)", "page-what-is-ethereum-nft-description": "Un mod de a reprezenta articolele unice ca active Ethereum care pot fi tranzacționate, folosite ca dovadă de proprietate și ca să creeze noi oportunități pentru creatori.", "page-what-is-ethereum-nft-alt": "Sigla Eth prezentată printr-o hologramă.", From 9ef7c600cd2d5aec0edded219fee2b03dce32ed4 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 17:05:49 -0700 Subject: [PATCH 120/167] ru Use Ethereum content import from Crowdin --- src/intl/ru/page-developers-index.json | 4 +- .../ru/page-developers-learning-tools.json | 4 +- src/intl/ru/page-get-eth.json | 4 + src/intl/ru/page-run-a-node.json | 90 +++++++++---------- src/intl/ru/page-wallets-find-wallet.json | 2 +- 5 files changed, 55 insertions(+), 49 deletions(-) diff --git a/src/intl/ru/page-developers-index.json b/src/intl/ru/page-developers-index.json index 71695ede573..7ca92ba22c1 100644 --- a/src/intl/ru/page-developers-index.json +++ b/src/intl/ru/page-developers-index.json @@ -40,7 +40,7 @@ "page-developers-intro-ether-link": "Введение в эфир", "page-developers-intro-stack": "Введение в стек", "page-developers-intro-stack-desc": "Введение в стек Ethereum", - "page-developers-js-libraries-desc": "Применение JavaScript для взаимодействия с умными контрактами", + "page-developers-js-libraries-desc": "Использование JavaScript для взаимодействия с умными контрактами", "page-developers-js-libraries-link": "Библиотеки JavaScript", "page-developers-language-desc": "Применение Ethereum с знакомыми языками", "page-developers-languages": "Языки программирования", @@ -51,7 +51,7 @@ "page-developers-learn-tutorials-desc": "Учитесь разработке с Ethereum шаг за шагом у разработчиков, которые уже научились этому.", "page-developers-meta-desc": "Документация, учебники и инструменты для разработчиков на Ethereum.", "page-developers-mev-desc": "Введение в извлекаемую прибыль майнера (MEV)", - "page-developers-mev-link": "Извлекаемая прибыль майнера (MEV)", + "page-developers-mev-link": "Извлекаемая майнером прибыль (MEV)", "page-developers-mining-desc": "Как создаются новые блоки и достигается консенсус", "page-developers-mining-link": "Майнинг", "page-developers-networks-desc": "Обзор основной сети и тестовых сетей", diff --git a/src/intl/ru/page-developers-learning-tools.json b/src/intl/ru/page-developers-learning-tools.json index bef0c41cda0..6c570b32cf8 100644 --- a/src/intl/ru/page-developers-learning-tools.json +++ b/src/intl/ru/page-developers-learning-tools.json @@ -39,5 +39,7 @@ "page-learning-tools-vyperfun-description": "Изучите Vyper, построив свою собственную игру Pokémon.", "page-learning-tools-vyperfun-logo-alt": "Логотип Vyper.fun", "page-learning-tools-nftschool-description": "Узнайте, что происходит с невзаимозаменяемыми токенами (или NFT) с технической точки зрения.", - "page-learning-tools-nftschool-logo-alt": "Логотип школы NFT" + "page-learning-tools-nftschool-logo-alt": "Логотип школы NFT", + "page-learning-tools-pointer-description": "Изучайте Web3-разработку с помощью забавных интерактивных руководств. И заодно зарабатывайте награды в крипте.", + "page-learning-tools-pointer-logo-alt": "Логотип Pointer" } diff --git a/src/intl/ru/page-get-eth.json b/src/intl/ru/page-get-eth.json index 30ca70bf688..7e5ef288c97 100644 --- a/src/intl/ru/page-get-eth.json +++ b/src/intl/ru/page-get-eth.json @@ -1,4 +1,7 @@ { + "page-get-eth-article-keeping-crypto-safe": "Ключи для сохранения в безопасности вашей криптовалюты", + "page-get-eth-article-protecting-yourself": "Защита себя и своих средств", + "page-get-eth-article-store-digital-assets": "Способ хранения цифровых активов на Ethereum", "page-get-eth-cex": "Централизованные биржи", "page-get-eth-cex-desc": "Биржи - это компании, которые позволяют покупать криптовалюту за традиционную валюту. Они обладают контролем над любым купленным вами ETH, пока вы не отправите его на кошелек, контролируемый вами.", "page-get-eth-checkout-dapps-btn": "Просмотреть децентрализованные приложения", @@ -21,6 +24,7 @@ "page-get-eth-exchanges-no-exchanges": "К сожалению, нам неизвестны биржи, позволяющие купить ETH в этой стране. Если вы знаете, то сообщите нам на", "page-get-eth-exchanges-no-exchanges-or-wallets": "К сожалению, нам неизвестны биржи или кошельки, позволяющие купить ETH в этой стране. Если вы знаете, то сообщите нам на", "page-get-eth-exchanges-no-wallets": "К сожалению, нам неизвестны кошельки, позволяющие купить ETH в этой стране. Если вы знаете, то сообщите нам на", + "page-get-eth-exchanges-search": "Напишите, где вы живете...", "page-get-eth-exchanges-success-exchange": "Регистрация на бирже может занять несколько дней из-за их юридических проверок.", "page-get-eth-exchanges-success-wallet-link": "кошельки", "page-get-eth-exchanges-success-wallet-paragraph": "В вашей стране вы можете купить ETH напрямую из этих кошельков. Узнайте больше о", diff --git a/src/intl/ru/page-run-a-node.json b/src/intl/ru/page-run-a-node.json index 481d7dd4931..2b5981ca4e6 100644 --- a/src/intl/ru/page-run-a-node.json +++ b/src/intl/ru/page-run-a-node.json @@ -1,9 +1,9 @@ { - "page-run-a-node-build-your-own-title": "Создайте свой собственный", - "page-run-a-node-build-your-own-hardware-title": "Шаг 1 - Оборудование", - "page-run-a-node-build-your-own-minimum-specs": "Минимальная спецификация", - "page-run-a-node-build-your-own-min-ram": "4 - 8 ГБ ОЗУ", - "page-run-a-node-build-your-own-ram-note-1": "См. примечание о стекинге", + "page-run-a-node-build-your-own-title": "Создавайте сами", + "page-run-a-node-build-your-own-hardware-title": "Шаг 1. Оборудование", + "page-run-a-node-build-your-own-minimum-specs": "Минимальные характеристики", + "page-run-a-node-build-your-own-min-ram": "4–8 ГБ ОЗУ", + "page-run-a-node-build-your-own-ram-note-1": "См. примечание о стейкинге", "page-run-a-node-build-your-own-ram-note-2": "См. примечание о Raspberry Pi", "page-run-a-node-build-your-own-min-ssd": "2 ТБ SSD", "page-run-a-node-build-your-own-ssd-note": "Для требуемой скорости записи необходим SSD.", @@ -12,59 +12,59 @@ "page-run-a-node-build-your-own-nuc": "Intel NUC, 7-ое поколение или выше", "page-run-a-node-build-your-own-nuc-small": "Процессор x86", "page-run-a-node-build-your-own-connection": "Проводное подключение к Интернету", - "page-run-a-node-build-your-own-connection-small": "Не обязательно, но обеспечивает более простую настройку и наиболее стабильное соединение", - "page-run-a-node-build-your-own-peripherals": "Отображать экран и клавиатуру", + "page-run-a-node-build-your-own-connection-small": "Необязательно, но обеспечивает более простую настройку и наиболее стабильное соединение", + "page-run-a-node-build-your-own-peripherals": "Экран и клавиатура", "page-run-a-node-build-your-own-peripherals-small": "Если вы не используете DAppNode или настройку ssh/headless", - "page-run-a-node-build-your-own-software": "Шаг 2 – Программное обеспечение", - "page-run-a-node-build-your-own-software-option-1-title": "Вариант 1 – DAppNode", + "page-run-a-node-build-your-own-software": "Шаг 2. Программное обеспечение", + "page-run-a-node-build-your-own-software-option-1-title": "Вариант 1. DAppNode", "page-run-a-node-build-your-own-software-option-1-description": "Когда вы и ваше оборудование будете готовы, с любого компьютера можно загрузить операционную систему DAppNode и через USB-накопитель установить ее на новый SSD.", "page-run-a-node-build-your-own-software-option-1-button": "Настройка DAppNode", - "page-run-a-node-build-your-own-software-option-2-title": "Вариант 2 – Командная строка", + "page-run-a-node-build-your-own-software-option-2-title": "Вариант 2. Командная строка", "page-run-a-node-build-your-own-software-option-2-description-1": "Для максимального контроля опытные пользователи могут предпочесть использовать командную строку.", "page-run-a-node-build-your-own-software-option-2-description-2": "Дополнительные сведения о выборе клиента смотрите в нашей документации для разработчиков.", "page-run-a-node-build-your-own-software-option-2-button": "Настройка через командную строку", - "page-run-a-node-buy-fully-loaded-title": "Купить в полной комплектации", - "page-run-a-node-buy-fully-loaded-description": "Закажите вариант plug and play у поставщиков, чтобы упростить адаптацию.", + "page-run-a-node-buy-fully-loaded-title": "Покупка в полной комплектации", + "page-run-a-node-buy-fully-loaded-description": "Закажите вариант Plug and Play у поставщиков, чтобы упростить адаптацию.", "page-run-a-node-buy-fully-loaded-note-1": "Не нужно ничего собирать.", - "page-run-a-node-buy-fully-loaded-note-2": "Настройка приложения с GUI.", + "page-run-a-node-buy-fully-loaded-note-2": "Настройка как у приложения с графическим интерфейсом.", "page-run-a-node-buy-fully-loaded-note-3": "Работа с командной строкой не требуется.", "page-run-a-node-buy-fully-loaded-plug-and-play": "Эти решения имеют небольшой размер, но поставляются в полной комплектации.", "page-run-a-node-censorship-resistance-title": "Устойчивость к цензуре", - "page-run-a-node-censorship-resistance-preview": "Гарантированный доступ, когда вам это нужно, и не подвергаясь цензуре.", + "page-run-a-node-censorship-resistance-preview": "Гарантированный доступ, когда вам это нужно, и защита от цензуры.", "page-run-a-node-censorship-resistance-1": "Сторонний узел может отказать в обслуживании транзакций с определенных IP-адресов или транзакций, связанных с определенными аккаунтами, что потенциально может заблокировать использование сети, когда вам это нужно.", "page-run-a-node-censorship-resistance-2": "Наличие собственного узла для отправки транзакций гарантирует, что вы можете транслировать свою транзакцию в одноранговую сеть в любое время.", - "page-run-a-node-community-title": "Найти помощников", + "page-run-a-node-community-title": "Найдите помощников", "page-run-a-node-community-description-1": "Онлайн-платформы, такие как Discord или Reddit, являются домом для большого количества разработчиков сообщества, готовых помочь вам с любыми вопросами, с которыми вы можете столкнуться.", "page-run-a-node-community-description-2": "Не идите на это в одиночку. Если у вас есть вопрос, вероятно, здесь кто-то сможет помочь вам найти ответ.", - "page-run-a-node-community-link-1": "Присоединяйтесь к Discord DAppNode", + "page-run-a-node-community-link-1": "Присоединиться к Discord DAppNode", "page-run-a-node-community-link-2": "Поиск онлайн-сообществ", "page-run-a-node-choose-your-adventure-title": "Выберите свой путь", "page-run-a-node-choose-your-adventure-1": "Для начала вам понадобится некоторое оборудование. Хотя запуск программного обеспечения узла возможен на персональном компьютере, наличие выделенной машины может значительно повысить производительность вашего узла, уменьшая его влияние на ваш основной компьютер.", "page-run-a-node-choose-your-adventure-2": "При выборе оборудования учитывайте, что цепь постоянно растет, и неизбежно потребуется техническое обслуживание. Улучшение конфигурации может помочь отсрочить необходимость обслуживания узла.", "page-run-a-node-choose-your-adventure-build-1": "Более дешевый и более детально настраиваемый вариант для немного более технически опытных пользователей.", "page-run-a-node-choose-your-adventure-build-bullet-1": "Соберите из собственных элементов.", - "page-run-a-node-choose-your-adventure-build-bullet-2": "Установка DAppNode.", + "page-run-a-node-choose-your-adventure-build-bullet-2": "Установите DAppNode.", "page-run-a-node-choose-your-adventure-build-bullet-3": "Или выберите собственную ОС и клиентов.", - "page-run-a-node-choose-your-adventure-build-start": "Приступайте к созданию приложений", + "page-run-a-node-choose-your-adventure-build-start": "Приступить к созданию", "page-run-a-node-decentralized-title": "Децентрализация", "page-run-a-node-decentralized-preview": "Улучшение защиты от централизованных точек сбоя.", "page-run-a-node-decentralized-1": "Централизованные облачные серверы могут предоставить большую вычислительную мощность, но они являются целью для государств или злоумышленников, стремящихся нарушить работу сети.", "page-run-a-node-decentralized-2": "Устойчивость сети достигается за счет большего количества узлов в географически разных местах, которыми управляет большее количество разных людей. По мере того как все больше людей запускают собственный узел, зависимость от централизованных точек отказа уменьшается, что повышает стабильность сети.", "page-run-a-node-feedback-prompt": "Вам помогла эта страница?", "page-run-a-node-further-reading-title": "Дополнительная литература", - "page-run-a-node-further-reading-1-link": "Освоение Ethereum — Стоит ли мне запускать полный узел", + "page-run-a-node-further-reading-1-link": "Освоение Ethereum: стоит ли мне запускать полный узел", "page-run-a-node-further-reading-1-author": "Андреас Антонопулос", - "page-run-a-node-further-reading-2-link": "Ethereum на ARM — Краткое руководство", + "page-run-a-node-further-reading-2-link": "Ethereum на ARM: краткое руководство", "page-run-a-node-further-reading-3-link": "Ограничения масштабируемости блокчейна", "page-run-a-node-further-reading-3-author": "Виталик Бутерин", "page-run-a-node-getting-started-title": "Приступая к работе", "page-run-a-node-getting-started-software-section-1": "В первые дни существования сети пользователям нужно было взаимодействовать с командной строкой, чтобы управлять узлом Ethereum.", "page-run-a-node-getting-started-software-section-1-alert": "Если вы так предпочитаете и у вас есть навыки, не стесняйтесь ознакомиться с нашей технической документацией.", "page-run-a-node-getting-started-software-section-1-link": "Создание узла Ethereum", - "page-run-a-node-getting-started-software-section-2": "Теперь у нас есть DAppNode, бесплатное программное обеспечение с открытым исходным кодом, которое дает пользователям опыт, как при использовании обычного приложения для управления своим узлом.", + "page-run-a-node-getting-started-software-section-2": "Теперь у нас есть DAppNode, бесплатное программное обеспечение с открытым исходным кодом, которое делает управление узлом таким же удобным, как использование обычного приложения.", "page-run-a-node-getting-started-software-section-3a": "Всего за несколько нажатий вы можете запустить свой узел.", "page-run-a-node-getting-started-software-section-3b": "DAppNode позволяет пользователям запускать полные узлы, а также dapp и другие сети P2P без необходимости касаться командной строки. Это упрощает участие для всех и создает более децентрализованную сеть.", - "page-run-a-node-getting-started-software-title": "Часть 2: Программное обеспечение", + "page-run-a-node-getting-started-software-title": "Часть 2. Программное обеспечение", "page-run-a-node-glyph-alt-terminal": "Значок терминала", "page-run-a-node-glyph-alt-phone": "Значок нажатия на телефон", "page-run-a-node-glyph-alt-dappnode": "Значок DAppNode", @@ -82,57 +82,57 @@ "page-run-a-node-hero-subtitle": "Станьте полностью независимым, помогая защитить сеть. Станьте Ethereum.", "page-run-a-node-hero-cta-1": "Узнать больше", "page-run-a-node-hero-cta-2": "Давайте приступим!", - "page-run-a-node-install-manually-title": "Установить вручную", + "page-run-a-node-install-manually-title": "Установка вручную", "page-run-a-node-install-manually-1": "Если вы более технически опытный пользователь и решили создать собственное устройство, DAppNode можно скачать с любого компьютера и установить на новый SSD через USB-накопитель.", - "page-run-a-node-meta-description": "Ввведение \"Что, почему и как запустить свой узел Ethereum\".", - "page-run-a-node-participate-title": "Участвовать", + "page-run-a-node-meta-description": "Ввведение к запуску узлов Ethereum: что, почему и как.", + "page-run-a-node-participate-title": "Участвуйте", "page-run-a-node-participate-preview": "Революция децентрализации начинается с вас.", "page-run-a-node-participate-1": "Управляя узлом, вы становитесь частью глобального движения за децентрализацию контроля и власти над миром информации.", "page-run-a-node-participate-2": "Если вы держатель, повышайте ценность своего ETH, поддерживая работоспособность и децентрализацию сети, и обеспечьте себе право голоса в определении ее будущего.", "page-run-a-node-privacy-title": "Конфиденциальность и безопасность", - "page-run-a-node-privacy-preview": "Остановите утечку личной информации сторонним узлам.", + "page-run-a-node-privacy-preview": "Остановите утечку личной информации на сторонние узлы.", "page-run-a-node-privacy-1": "При отправке транзакций с использованием общедоступных узлов ваша личная информация, такая как IP-адрес и адреса Ethereum, которыми вы владеете, может быть передана этим сторонним службам.", "page-run-a-node-privacy-2": "Подключив совместимые кошельки на собственный узел, вы можете использовать их для конфиденциального и безопасного взаимодействия с блокчейном.", "page-run-a-node-privacy-3": "Кроме того, если вредоносный узел распространяет недопустимую транзакцию, ваш узел просто проигнорирует ее. Каждая транзакция проверяется локально на вашем компьютере, поэтому вам не нужно никому доверять.", "page-run-a-node-rasp-pi-title": "Примечание о Raspberry Pi (процессор ARM)", - "page-run-a-node-rasp-pi-description": "Raspberry Pi — это легкие и доступные компьютеры, но у них есть ограничения, которые могут повлиять на производительность вашего узла. Хотя в настоящее время они не рекомендуются для стекинга, они могут быть отличным и недорогим вариантом для запуска узла, всего с 4–8 ГБ ОЗУ, в целях личного использования.", + "page-run-a-node-rasp-pi-description": "Raspberry Pi — это легкие и доступные компьютеры, но у них есть ограничения, которые могут повлиять на производительность вашего узла. Хотя в настоящее время они не рекомендуются для стекинга, они могут быть отличным и недорогим вариантом для запуска узла (всего с 4–8 ГБ ОЗУ) в целях личного использования.", "page-run-a-node-rasp-pi-note-1-link": "DAppNode на ARM", - "page-run-a-node-rasp-pi-note-1-description": "Смотрите эти инструкции, если вы планируете запустить DAppNode на Raspberry Pi", - "page-run-a-node-rasp-pi-note-2-link": "Документация о Ethereum на ARM", + "page-run-a-node-rasp-pi-note-1-description": "Обратитесь к этим инструкциям, если планируете запустить DAppNode на Raspberry Pi", + "page-run-a-node-rasp-pi-note-2-link": "Документация для Ethereum на ARM", "page-run-a-node-rasp-pi-note-2-description": "Узнайте, как настроить узел через командную строку на Raspberry Pi", "page-run-a-node-rasp-pi-note-3-link": "Запустить узел с Raspberry Pi", "page-run-a-node-rasp-pi-note-3-description": "Переходите по ссылке, если вы предпочитаете учебные руководства", "page-run-a-node-shop": "Магазин", - "page-run-a-node-shop-avado": "Магазин Avado", - "page-run-a-node-shop-dappnode": "Магазин DAppNode", + "page-run-a-node-shop-avado": "В магазин: Avado", + "page-run-a-node-shop-dappnode": "В магазин: DAppNode", "page-run-a-node-staking-title": "Вкладывайте свои ETH", - "page-run-a-node-staking-description": "Хотя это и не обязательно, но с запущенным и работающим узлом вы на шаг ближе к вложению своего ETH, для заработка вознаграждения и внесения вклада в другой аспект безопасности Ethereum.", + "page-run-a-node-staking-description": "Хотя это и не обязательно, но с запущенным и работающим узлом вы на шаг ближе к вложению своего ETH для заработка вознаграждения и внесения вклада в другой аспект безопасности Ethereum.", "page-run-a-node-staking-link": "Вложить ETH", - "page-run-a-node-staking-plans-title": "Планируете стекинг?", - "page-run-a-node-staking-plans-description": "Для наиболее эффективного использования валидатора, рекомендуется не менее 16 ГБ ОЗУ, однако лучше 32 ГБ, с оценкой процессора 6667+ на cpubenchmark.net. Также рекомендуется, чтобы у стекеров был доступ к неограниченному высокоскоростному интернету, хотя это не обязательное требование.", - "page-run-a-node-staking-plans-ethstaker-link-label": "Как выбрать оборудование для Ethereum валидатора", + "page-run-a-node-staking-plans-title": "Планируете стейкинг?", + "page-run-a-node-staking-plans-description": "Для наиболее эффективного использования валидатора рекомендуется не менее 16 ГБ ОЗУ, однако лучше 32 ГБ, с оценкой процессора 6667+ на cpubenchmark.net. Также рекомендуется, чтобы у стекеров был доступ к неограниченному высокоскоростному Интернету, хотя это не обязательное требование.", + "page-run-a-node-staking-plans-ethstaker-link-label": "Как выбрать оборудование для валидатора Ethereum", "page-run-a-node-staking-plans-ethstaker-link-description": "EthStaker более подробно расскажет в этом часовом спецвыпуске", "page-run-a-node-sovereignty-title": "Независимость", "page-run-a-node-sovereignty-preview": "Думайте о запуске узла как о следующем шаге после получения собственного кошелька Ethereum.", "page-run-a-node-sovereignty-1": "Кошелек Ethereum позволяет вам взять на себя ответственность за хранение и контроль ваших цифровых активов, храня приватные ключи к вашим адресам, однако эти ключи не сообщают вам о текущем состоянии блокчейна, например о балансе вашего кошелька.", - "page-run-a-node-sovereignty-2": "По умолчанию, при поиске вашего баланса, кошельки Ethereum обычно обращаются к сторонним узлам, таким как Infura или Alchemy. Запуск собственного узла позволяет вам иметь собственную копию блокчейна Ethereum.", - "page-run-a-node-title": "Запустить свой проект", - "page-run-a-node-voice-your-choice-title": "Сделайте выбор", + "page-run-a-node-sovereignty-2": "По умолчанию при поиске вашего баланса кошельки Ethereum обычно обращаются к сторонним узлам, таким как Infura или Alchemy. Запуск собственного узла позволяет вам иметь собственную копию блокчейна Ethereum.", + "page-run-a-node-title": "Запуск своего узла", + "page-run-a-node-voice-your-choice-title": "Голосуйте", "page-run-a-node-voice-your-choice-preview": "Не теряйте контроль в случае разветвления.", "page-run-a-node-voice-your-choice-1": "В случае разветвления, когда возникают две цепочки с двумя разными наборами правил, запуск собственного узла гарантирует вам возможность выбирать, какой набор правил вы поддерживаете. Вам решать, переходить на новые правила и поддерживать предложенные изменения или нет.", "page-run-a-node-voice-your-choice-2": "Если вы занимаетесь стекингом ETH, запуск собственного узла позволит вам выбирать собственного клиента, чтобы свести к минимуму риск сокращения (штрафа) и реагировать на изменяющиеся с течением времени требования сети. Стекинг с использованием третьей стороны лишает вас права голоса в выборе того клиента, которого вы считаете лучшим.", - "page-run-a-node-what-title": "Что означает \"запустить узел\"?", - "page-run-a-node-what-1-subtitle": "Запустить программное обеспечение.", - "page-run-a-node-what-1-text": "Это программное обеспечение, известное как \"клиент\", загружает копию блокчейна Ethereum и проверяет достоверность каждого блока, а затем обновляет его новыми блоками и транзакциями, а также помогает другим загружать и обновлять свои копии.", + "page-run-a-node-what-title": "Что означает «запустить узел»?", + "page-run-a-node-what-1-subtitle": "Запуск программного обеспечения.", + "page-run-a-node-what-1-text": "Это программное обеспечение, известное как «клиент», загружает копию блокчейна Ethereum и проверяет достоверность каждого блока, а затем обновляет его новыми блоками и транзакциями, а также помогает другим загружать и обновлять свои копии.", "page-run-a-node-what-2-subtitle": "С оборудованием.", "page-run-a-node-what-2-text": "Ethereum предназначен для запуска узла на обычных компьютерах среднего уровня. Вы можете использовать персональный компьютер, но большинство пользователей предпочитают запускать свой узел на выделенном оборудовании, чтобы устранить влияние на производительность своего компьютера и минимизировать время простоя узла.", - "page-run-a-node-what-3-subtitle": "Во время работы.", + "page-run-a-node-what-3-subtitle": "Во время полключения к сети.", "page-run-a-node-what-3-text": "На первый взгляд запуск узла Ethereum может показаться сложным, но это всего лишь процесс непрерывной работы клиентского программного обеспечения на компьютере при подключении к Интернету. В автономном режиме ваш узел будет просто неактивен, пока не вернется в сеть и не догонит последние изменения.", - "page-run-a-node-who-title": "Кому следует запустить узел?", + "page-run-a-node-who-title": "Кому следует запускать узел?", "page-run-a-node-who-preview": "Всем! Узлы предназначены не только для майнеров и валидаторов. Любой может запустить узел — вам даже не нужен ETH.", - "page-run-a-node-who-copy-1": "Чтобы запустить узел, вам не нужно вкладывать ETH или быть майнером. На самом деле, майнеры и валидаторы отвечают за каждый второй узел Ethereum.", + "page-run-a-node-who-copy-1": "Чтобы запустить узел, вам не нужно вкладывать ETH или быть майнером. На самом деле майнеры и валидаторы отвечают лишь за каждый второй узел Ethereum.", "page-run-a-node-who-copy-2": "Возможно, вы не получите такого денежного вознаграждения, какое зарабатывают валидаторы и майнеры, но есть много других преимуществ запуска узла для любого пользователя Ethereum, включая конфиденциальность, безопасность, снижение зависимости от сторонних серверов, устойчивость к цензуре и улучшение состояния и децентрализации сети.", "page-run-a-node-who-copy-3": "Наличие собственного узла означает, что вам не нужно доверять информации о состоянии сети, предоставленной третьей стороной.", - "page-run-a-node-who-copy-bold": "Не доверяй. Проверяй.", + "page-run-a-node-who-copy-bold": "Не доверяйте. Проверяйте.", "page-run-a-node-why-title": "Зачем запускать узел?" } diff --git a/src/intl/ru/page-wallets-find-wallet.json b/src/intl/ru/page-wallets-find-wallet.json index 4a3eb548846..eeead47614b 100644 --- a/src/intl/ru/page-wallets-find-wallet.json +++ b/src/intl/ru/page-wallets-find-wallet.json @@ -51,7 +51,7 @@ "page-find-wallet-description-linen": "Мобильный кошелек для умных контрактов: получайте доход, покупайте криптовалюту и участвуйте в DeFi. Получайте награды и жетоны управления.", "page-find-wallet-description-loopring": "Первый в истории кошелек для смарт-контрактов Ethereum с торговлей, переводами и AMM на базе zkRollup. Без комиссии, безопасно и просто.", "page-find-wallet-description-mathwallet": "MathWallet — это мультиплатформенный (мобильный/расширение/веб) универсальный криптовалютный кошелек, который поддерживает более 50 блокчейнов и более 2000 децентрализованных приложений.", - "page-find-wallet-description-metamask": "Начните изучать приложения для блокчейна за считанные секунды. Нам доверяют более 1 миллиона пользователей по всему миру.", + "page-find-wallet-description-metamask": "Начните изучать приложения для блокчейна за считанные секунды. Нам доверяют более 21 миллиона пользователей по всему миру.", "page-find-wallet-description-monolith": "Единственный в мире кошелек для самостоятельного хранения, связанный с дебетовыми картами Visa. Доступен в Великобритании и ЕС и может использоваться во всем мире.", "page-find-wallet-description-multis": "Multis — это криптовалютный счет, предназначенный для компаний. С помощью Multis компании могут хранить свои средства с системой контроля доступа, получать проценты по своим сбережениям, а также упорядочивать платежи и бухгалтерский учет.", "page-find-wallet-description-mycrypto": "MyCrypto — это интерфейс для управления всеми вашими счетами. Обменивайте, отправляйте и покупайте криптовалюты с кошельками, такими как MetaMask, Ledger, Trezor и многими другими.", From cd41e1564a7e0e34a21ea01b4086e26fd2d4849b Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 17:05:56 -0700 Subject: [PATCH 121/167] sw Use Ethereum content import from Crowdin --- src/intl/sw/page-developers-index.json | 6 +++--- src/intl/sw/page-developers-learning-tools.json | 4 +++- src/intl/sw/page-get-eth.json | 4 ++++ src/intl/sw/page-run-a-node.json | 2 +- src/intl/sw/page-wallets-find-wallet.json | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/intl/sw/page-developers-index.json b/src/intl/sw/page-developers-index.json index 4bbd7dd6dfe..cd0108bc4ed 100644 --- a/src/intl/sw/page-developers-index.json +++ b/src/intl/sw/page-developers-index.json @@ -5,13 +5,13 @@ "page-developers-about-desc-2": "Iliyotiwa moyo na Mtandao wa Wasanidi Programu wa Mozilla, tulifikiri Ethereum inahitaji mahali pa kuweka bidhaa na rasilimali bora za msanidi programu. Kama marafiki wetu huko Mozilla, kila kitu hapa ni chanzo-wazi na tayari kwako kutanua na kuboresha.", "page-developers-account-desc": "Mikataba au watu kwenye mtandao", "page-developers-accounts-link": "Akaunti", - "page-developers-advanced": "Imeendelea", - "page-developers-api-desc": "Kutumia maktaba kuingiliana na mikataba erevu", + "page-developers-advanced": "Ya hali ya juu", + "page-developers-api-desc": "Kutumia maktaba kuingiliana na mikataba-erevu", "page-developers-api-link": "Mfumo wa nyuma wa programu", "page-developers-aria-label": "Menyu kwa Wasanidi Programu", "page-developers-block-desc": "Makundi ya shughuli zilizoongezwa kwenye pande la mnyororo", "page-developers-block-explorers-desc": "Lango lako la data za Ethereum", - "page-developers-block-explorers-link": "Vivinjari vya rekodi ya makundi ya miamala", + "page-developers-block-explorers-link": "Wachunguzi wa tofali", "page-developers-blocks-link": "Vipande", "page-developers-browse-tutorials": "Vinjari mafunzo", "page-developers-choose-stack": "Chagua mpororo wako", diff --git a/src/intl/sw/page-developers-learning-tools.json b/src/intl/sw/page-developers-learning-tools.json index 311d6c428f2..9c335a66dd0 100644 --- a/src/intl/sw/page-developers-learning-tools.json +++ b/src/intl/sw/page-developers-learning-tools.json @@ -39,5 +39,7 @@ "page-learning-tools-vyperfun-description": "Jifunze Vyper kwa kuunda mchezo wa Pokémon.", "page-learning-tools-vyperfun-logo-alt": "Nembo ya Vyper.fun", "page-learning-tools-nftschool-description": "Chunguza nini kinaendelea na ishara-zisizokuvu, au NFT kutoka kwa mafundi.", - "page-learning-tools-nftschool-logo-alt": "Nembo ya shule ya NFT" + "page-learning-tools-nftschool-logo-alt": "Nembo ya shule ya NFT", + "page-learning-tools-pointer-description": "Jifunze teknolojia ya web3 na mafunzo yatakayokufurahisha. Jishindie crypto wakati unajiendeleza", + "page-learning-tools-pointer-logo-alt": "Nembo ya Pointer" } diff --git a/src/intl/sw/page-get-eth.json b/src/intl/sw/page-get-eth.json index b2baeb982b5..9482304a214 100644 --- a/src/intl/sw/page-get-eth.json +++ b/src/intl/sw/page-get-eth.json @@ -1,4 +1,7 @@ { + "page-get-eth-article-keeping-crypto-safe": "Funguo za kuweka crypto salama yako", + "page-get-eth-article-protecting-yourself": "Jihadhari wewe mwenyewe na fedha zako", + "page-get-eth-article-store-digital-assets": "Jinsi ya kuhifadhi mali ya dijiti kwenye Ethereum", "page-get-eth-cex": "Sehemu za kufanya mabadilishano ambazo hazijagatuliwa", "page-get-eth-cex-desc": "SEhemu za kufanyia mabadilishano ni sehemu za biashara ambazo hukuruhusu kununua kripto kwa kutumia fedha za jadi. Zina ulinzi wa fedhazako zote mpaka pale utakapozituma kwenda kwenye pochi ya Ethereum amabayo utakua unaidhibiti.", "page-get-eth-checkout-dapps-btn": "Anagalia dapps", @@ -21,6 +24,7 @@ "page-get-eth-exchanges-no-exchanges": "Samahani, hatujui sehemu ya mabadilishano itakayokuruhusu kununua ETH kwenye nchi hii. Kama unajua, tujulishe kupitia", "page-get-eth-exchanges-no-exchanges-or-wallets": "Samahani, hatujui sehemu ya mabadilishano au pochi itakayokuruhusu kununua ETH kwenye nchi hii. Kama unajua, tujulishe kupitia", "page-get-eth-exchanges-no-wallets": "Samahani, hatujui sehemu ya mabadilishano au pochi itakayokuruhusu kununua ETH kwenye nchi hii. Kama unajua, tujulishe kupitia", + "page-get-eth-exchanges-search": "Andika unapoishi...", "page-get-eth-exchanges-success-exchange": "Inaweza kuchukua siku kadhaa kujisajili na sehemu za mabalishano kwasababu ya ukaguzi wa kisheria.", "page-get-eth-exchanges-success-wallet-link": "pochi", "page-get-eth-exchanges-success-wallet-paragraph": "Unapoishi, unaweza kununua ETH moja kwa moja kwa kutumia pochi hizi. Jifunze zaidi kuhusu", diff --git a/src/intl/sw/page-run-a-node.json b/src/intl/sw/page-run-a-node.json index 5b5b2d3ec57..34241b71f34 100644 --- a/src/intl/sw/page-run-a-node.json +++ b/src/intl/sw/page-run-a-node.json @@ -61,7 +61,7 @@ "page-run-a-node-getting-started-software-section-1": "Kwenye siku za mwanzo za mtandao, watumiaji walihitaji mstari wa amri ili kuendesha nodi ya Ethereum.", "page-run-a-node-getting-started-software-section-1-alert": "Kama hili ndio pendekezo lako, na unaujuzi, jisikie huru kusoma nyaraka za kiufundi.", "page-run-a-node-getting-started-software-section-1-link": "Anzisha nodi ya Ethereum", - "page-run-a-node-getting-started-software-section-2": "Sasa tunayo DAppNode, ambayo ni ya bure na programu za vyanzo vilivyo waziinayompatia mtumiajiuzoefu kama wa programu halisihuku ikisimamia nodi yao.", + "page-run-a-node-getting-started-software-section-2": "Sasa tunayo DAppNode, ambayo ni ya bure na programu huriainayompatia mtumiajiuzoefu kama wa programu halisihuku wakidhibiti nodi yao.", "page-run-a-node-getting-started-software-section-3a": "Unaweza kuunda nodi yako na kuiacha ikifanya kazi kwa mibonyezo michache tu.", "page-run-a-node-getting-started-software-section-3b": "DAppNode inarahisish uendeshaji wa nodi kamili kwa watumiaji, na dapps na mitandao ya rika kwa rika, bila haja ya kugusa mstari-wa amri. Hii hurahisisha kila mmoja kushiriki na uundaji wa mtandao uliogatuliwa.", "page-run-a-node-getting-started-software-title": "Sehemu ya 2: Programu", diff --git a/src/intl/sw/page-wallets-find-wallet.json b/src/intl/sw/page-wallets-find-wallet.json index 60fc9eb0165..ab895ba01e2 100644 --- a/src/intl/sw/page-wallets-find-wallet.json +++ b/src/intl/sw/page-wallets-find-wallet.json @@ -51,7 +51,7 @@ "page-find-wallet-description-linen": "Pochi za mikataba erevu za Rununu: Pata faida, nunua kripto, na shiriki kwenye DeFi. Pata zawadi na utawala wa ishara.", "page-find-wallet-description-loopring": "Pochi ya kwanza ya mkataba erevu wa Etehreum ikiwa na miundo ya zk inayofanya biashara, kuhamisha na AMM. Haina tozo, salama na ilio rahisi.", "page-find-wallet-description-mathwallet": "MathWallet ni pochi ya (rununu/viendelezaji/mtandao) yenye wigo mpana unaofanya kazi ulimwenguni kote unaowezesha minyororo zaidi ya 50 na dApps zaidi ya 2000.", - "page-find-wallet-description-metamask": "Anza kufuatlia programu za minyororo ya tofali ndani ya sekunde. Inayoaminiwa na watumiaji zaidi ya milioni 1 ulimwenguni kote.", + "page-find-wallet-description-metamask": "Anza kufuatlia programu za minyororo ya tofali ndani ya sekunde. Inayoaminiwa na watumiaji zaidi ya milioni 21 ulimwenguni kote.", "page-find-wallet-description-monolith": "Pochi pekee duniani inayoweza kujilinda ilioyoanishwa na Visa Debit Card. Inapatikana nchini Uingereza na EU na inaweza kutumika ulimwenguni kote.", "page-find-wallet-description-multis": "Multis ni akaunti ya sarafu-ya-kripto iliyoundwa kwa ajili ya biashara. Kwa kutumia Multis, kampuni zinaweza kuhifadhi kwa vidhibiti vya ufikiaji, kupata riba kwa akiba zao, na kuratibu malipo na uhasibu.", "page-find-wallet-description-mycrypto": "MyCrypto ni kiolesura cha kudhibiti akaunti zako zote. Badili, tuma, na nunua kripto na pochi kama MetaMask, Ledger, Trezor na zaidi.", From fe2d25caed15a42e9370f2eee8909d9d50ac3522 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 May 2022 17:06:01 -0700 Subject: [PATCH 122/167] zh Use Ethereum content import from Crowdin --- src/intl/zh/page-developers-index.json | 12 ++++++------ src/intl/zh/page-developers-learning-tools.json | 2 +- src/intl/zh/page-developers-local-environment.json | 2 +- src/intl/zh/page-eth.json | 2 +- src/intl/zh/page-get-eth.json | 6 +++--- src/intl/zh/page-languages.json | 4 ++-- src/intl/zh/page-stablecoins.json | 6 +++--- src/intl/zh/page-wallets-find-wallet.json | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/intl/zh/page-developers-index.json b/src/intl/zh/page-developers-index.json index 6e1b73a5cb7..9073566595d 100644 --- a/src/intl/zh/page-developers-index.json +++ b/src/intl/zh/page-developers-index.json @@ -12,7 +12,7 @@ "page-developers-block-desc": "交易批量添加到区块链中", "page-developers-block-explorers-desc": "您的以太坊数据门户网站", "page-developers-block-explorers-link": "区块浏览器", - "page-developers-blocks-link": "块", + "page-developers-blocks-link": "区块", "page-developers-browse-tutorials": "浏览教程", "page-developers-choose-stack": "选择您的堆栈", "page-developers-contribute": "贡献", @@ -27,7 +27,7 @@ "page-developers-frameworks-desc": "帮助加速开发的工具", "page-developers-frameworks-link": "开发框架", "page-developers-fundamentals": "基础", - "page-developers-gas-desc": "为交易赋能所需的以太", + "page-developers-gas-desc": "交易所需的以太币", "page-developers-gas-link": "燃料", "page-developers-get-started": "您想如何开始?", "page-developers-improve-ethereum": "帮助我们使 ethereum.org 变得更好", @@ -40,8 +40,8 @@ "page-developers-intro-ether-link": "以太币简介", "page-developers-intro-stack": "堆栈简介", "page-developers-intro-stack-desc": "关于以太坊堆栈的介绍", - "page-developers-js-libraries-desc": "使用 javascript 与智能合约互动", - "page-developers-js-libraries-link": "Javascript 库", + "page-developers-js-libraries-desc": "使用 JavaScript 与智能合约进行交互", + "page-developers-js-libraries-link": "JavaScript 库", "page-developers-language-desc": "使用熟悉语言的以太坊", "page-developers-languages": "编程语言", "page-developers-learn": "学习以太坊开发", @@ -59,11 +59,11 @@ "page-developers-node-clients-desc": "如何在网络中验证块和交易", "page-developers-node-clients-link": "节点和客户端", "page-developers-oracle-desc": "正在获取链下数据到您的智能合约", - "page-developers-oracles-link": "Oracle", + "page-developers-oracles-link": "预言机", "page-developers-play-code": "使用代码播放", "page-developers-read-docs": "阅读文档", "page-developers-scaling-desc": "快速交易解决方案", - "page-developers-scaling-link": "缩放", + "page-developers-scaling-link": "扩容", "page-developers-smart-contract-security-desc": "开发智能合约过程中需要考虑的安全措施", "page-developers-smart-contract-security-link": "智能合约安全性", "page-developers-set-up": "设置本地环境", diff --git a/src/intl/zh/page-developers-learning-tools.json b/src/intl/zh/page-developers-learning-tools.json index 99f937b86aa..bbabc56d7c2 100644 --- a/src/intl/zh/page-developers-learning-tools.json +++ b/src/intl/zh/page-developers-learning-tools.json @@ -36,7 +36,7 @@ "page-learning-tools-sandbox": "代码沙箱", "page-learning-tools-sandbox-desc": "代码沙箱提供您一个尝试写智能合约和理解以太坊的空间。", "page-learning-tools-studio-description": "一个基于网络的IDE,您可以在这里关注教程来创建和测试智能合约,并为它们建立一个前端。", - "page-learning-tools-vyperfun-description": "学习Vyper构建您自己的Pokeon游戏。", + "page-learning-tools-vyperfun-description": "通过学习 Vyper 来构建您自己的 Pokémon 游戏。", "page-learning-tools-vyperfun-logo-alt": "Vyper.fun徽标", "page-learning-tools-nftschool-description": "从技术层面探索非同质化代币(NFT)的进展。", "page-learning-tools-nftschool-logo-alt": "NFT school 徽标", diff --git a/src/intl/zh/page-developers-local-environment.json b/src/intl/zh/page-developers-local-environment.json index 2ebc94bb2f1..f0d0ef1cc17 100644 --- a/src/intl/zh/page-developers-local-environment.json +++ b/src/intl/zh/page-developers-local-environment.json @@ -7,7 +7,7 @@ "page-local-environment-epirus-logo-alt": "Epirus徽标", "page-local-environment-eth-app-desc": "使用一个命令创建由以太坊提供支持的应用。使用广泛的UI框架和DeFi模板来选择。", "page-local-environment-eth-app-logo-alt": "创建以太币应用徽标", - "page-local-environment-framework-feature-1": "旋转本地区块链实例的功能。", + "page-local-environment-framework-feature-1": "编写一个本地区块链程序的功能。", "page-local-environment-framework-feature-2": "编译和测试智能合约的工具。", "page-local-environment-framework-feature-3": "客户端开发附加组件,以在同一项目/仓库中构建您的面向用户的应用。", "page-local-environment-framework-feature-4": "连接到以太坊网络并部署合同的配置,无论是本地运行的实例还是以太坊的公共网络之一。", diff --git a/src/intl/zh/page-eth.json b/src/intl/zh/page-eth.json index 9d66b5ce3ac..d51af1000c3 100644 --- a/src/intl/zh/page-eth.json +++ b/src/intl/zh/page-eth.json @@ -1,6 +1,6 @@ { "page-eth-buy-some": "想要买一些以太币吗?", - "page-eth-buy-some-desc": "很容易将以太坊(Ethereum)和以太币(ETH)混淆。以太坊是区块链,以太币是以太坊上的主要资产。以太币很可能是您想要买的。", + "page-eth-buy-some-desc": "有些人经常把以太坊(Ethereum)和以太币( ETH)混为一谈。以太坊是区块链,以太币是以太坊的原生资产。以太币是你可能想要购买的东西。", "page-eth-cat-img-alt": "ETH的图形,它有一只卡莱多斯的猫", "page-eth-collectible-tokens": "可收藏的代币", "page-eth-collectible-tokens-desc": "代表可收藏游戏项、数码艺术件或其他独特资产的代币。通常称为不可替代代币(NFT)。", diff --git a/src/intl/zh/page-get-eth.json b/src/intl/zh/page-get-eth.json index 65d68627d35..23081317ef9 100644 --- a/src/intl/zh/page-get-eth.json +++ b/src/intl/zh/page-get-eth.json @@ -7,9 +7,9 @@ "page-get-eth-checkout-dapps-btn": "查看去中心化应用", "page-get-eth-community-safety": "社区上关于安全问题的文章", "page-get-eth-description": "以太坊和以太币不被任何政府或组织控制,它们是去中心化的。这代表以太币会向所有人开放使用。", - "page-get-eth-dex": "去中心化交易所(DEX)", + "page-get-eth-dex": "去中心化交易所(DEX)", "page-get-eth-dex-desc": "如果您希望交易更加可控,可以尝试与其他持有者点对点交易ETH。通过DEX,您可以使您的交易在不经过任何第三方干扰的情形下进行。", - "page-get-eth-dexs": "去中心化交易所(DEX)", + "page-get-eth-dexs": "去中心化交易所(DEX)", "page-get-eth-dexs-desc": "去中心化交易所是用于交易以太币或者其他货币的开放的自由市场,它可以让买卖双方点对点直接交易,避免中间商赚差价。", "page-get-eth-dexs-desc-2": "他们通过使用一段程序代码,而不是委托第三方来保证一笔订单的资金安全。只有当这次支付被确定时,以太币才会从支付方转出。这种程序代码称为“智能合约”。", "page-get-eth-dexs-desc-3": "这意味着与集中式的交易方案相比,地域上的限制将会更少。如果有人卖您想要的东西,同时他接受某种您可以使用的支付方式,那你们就已经准备万全了。DEX可以让您以各种方式进行交易,不论是使用其他数字加密货币或法定货币,乃至于Paypal、支付宝,甚至线下的现金交易,都可以用来在DEX进行交易。", @@ -49,7 +49,7 @@ "page-get-eth-use-your-eth": "使用您的ETH", "page-get-eth-use-your-eth-dapps": "现在,您已经持有了一些ETH。您可以查看一些以太坊网络应用(去中心化应用)。有很多类型的去中心化应用,包括金融、社交、媒体、游戏,还有其他各种领域。", "page-get-eth-wallet-instructions": "遵循钱包应用的使用指南", - "page-get-eth-wallet-instructions-lost": "如果您丢失了您钱包应用的访问方式,您将永久地失去您的资金。您的钱包可能会给您防止这种情况的建议。请务必遵循——大部分情况下,如果您没法控制您的钱包,老天爷也救不了您。", + "page-get-eth-wallet-instructions-lost": "如果丢失了私钥和助记词,您将永久地失去您的资金。您的钱包服务商可能会教您如何保存密钥的方法。请务必遵循 —— 大部分情况下,如果您丢了私钥和助记词,任何人都无法帮您。", "page-get-eth-wallets": "钱包", "page-get-eth-wallets-link": "更多关于钱包的说明", "page-get-eth-wallets-purchasing": "某些钱包应用准许您通过信用卡、借记卡、银行转账,甚至是Apple Pay来购买加密货币。当然,这些方法会有地域限制。", diff --git a/src/intl/zh/page-languages.json b/src/intl/zh/page-languages.json index 5aed7df30db..a11e62f7c7a 100644 --- a/src/intl/zh/page-languages.json +++ b/src/intl/zh/page-languages.json @@ -3,7 +3,7 @@ "page-languages-interested": "有兴趣做贡献吗?", "page-languages-learn-more": "了解更多关于我们翻译计划的信息", "page-languages-meta-desc": "以太坊支持的所有语言的资源,以及参与翻译的方式。", - "page-languages-meta-title": "ethereum.org语言翻译", + "page-languages-meta-title": "ethereum.org 各国语言翻译", "page-languages-p1": "以太坊是一个全球性项目,每个人,不论其国籍或语言,都可以访问ethereum.org。 我们社区一直在努力使这一愿景成为现实。", "page-languages-translations-available": "ethereum.org有以下语言版本", "page-languages-resources-paragraph": "除了翻译 ethereum.org 的内容外,我们还维护", @@ -11,5 +11,5 @@ "page-languages-want-more-header": "想用不同的语言查看ethereum.org吗?", "page-languages-want-more-link": "翻译计划", "page-languages-want-more-paragraph": "ethereum.org的翻译者总是以尽可能多的语言进行翻译。 要看看他们正在做什么或注册加入他们,请阅读我们的", - "page-languages-filter-placeholder": "筛选器" + "page-languages-filter-placeholder": "筛选" } diff --git a/src/intl/zh/page-stablecoins.json b/src/intl/zh/page-stablecoins.json index 3edab2615d2..849c8bf3210 100644 --- a/src/intl/zh/page-stablecoins.json +++ b/src/intl/zh/page-stablecoins.json @@ -64,7 +64,7 @@ "page-stablecoins-bitcoin-pizza": "臭名昭著的比特币比萨", "page-stablecoins-bitcoin-pizza-body": "2010年,有人用10000枚比特币购买了2个比萨,在当时,这些比特币价值 $41美元。而在现在,那就是百万美元。在以太坊的历史上还有很多类似令人懊悔的交易。稳定币可以解决这个问题,因此您可以一边手握ETH,一边享用您的披萨。", "page-stablecoins-coin-price-change": "币价波动(最近30天)", - "page-stablecoins-crypto-backed": "由加密算法支撑", + "page-stablecoins-crypto-backed": "由加密货币支撑", "page-stablecoins-crypto-backed-con-1": "不如法币支撑的稳定币稳定。", "page-stablecoins-crypto-backed-con-2": "您需要对抵押的加密货币的价值波动保持关注。", "page-stablecoins-crypto-backed-description": "这些稳定币由其它加密资产(例如ETH)作为支撑。它们的价格随着底层资产(即抵押物)的价值波动而波动。由于ETH的价格可能波动,这些稳定币需要超额抵押来确保价值稳定。这种方法意味着价值$1美元的稳定币需要有至少价值$2美元的加密资产进行抵押。如果ETH的价格下跌,更多的ETH将会用于支撑稳定币,否则稳定币将会失去价值。", @@ -79,7 +79,7 @@ "page-stablecoins-editors-choice": "主编推荐", "page-stablecoins-editors-choice-intro": "这些是当前最知名的稳定币,并被去中心化应用广泛使用。", "page-stablecoins-explore-dapps": "探索去中心化应用", - "page-stablecoins-fiat-backed": "法币支持", + "page-stablecoins-fiat-backed": "法币抵押", "page-stablecoins-fiat-backed-con-1": "中心化 - 必须有人签发代币。", "page-stablecoins-fiat-backed-con-2": "需要审计确保这些公司拥有足够的资产储备。", "page-stablecoins-fiat-backed-description": "简单来说由传统意义上的法币(通常是美元)来抵押。您使用您的法币购入稳定币,并可以随时兑换回来。", @@ -115,7 +115,7 @@ "page-stablecoins-stablecoins-dapp-description-1": "包括Dai、USDC、TUSD、USDT等在内的稳定币市场。 ", "page-stablecoins-stablecoins-dapp-description-2": "出借稳定币以赚取利息和$COMP,一种Compound自己的代币。", "page-stablecoins-stablecoins-dapp-description-3": "一个能够从您的 Dai 和 USDC 上赚取利息的交易平台。", - "page-stablecoins-stablecoins-dapp-description-4": "一个保存 Dai 的应用。", + "page-stablecoins-stablecoins-dapp-description-4": "一个为了存 Dai 而做的应用。", "page-stablecoins-stablecoins-feature-1": "稳定币可以在全球范围内的互联网上发送。只要您有以太坊账户,就可以简单地发送或接收它们。", "page-stablecoins-stablecoins-feature-2": "对稳定币的需求很大,因此您可以通过出借赚取利息。但是请确保您明确其中的风险。", "page-stablecoins-stablecoins-feature-3": "稳定币可以和ETH以及其它以太坊代币互相转换。大量去中心化应用依赖稳定币。", diff --git a/src/intl/zh/page-wallets-find-wallet.json b/src/intl/zh/page-wallets-find-wallet.json index a4589cad906..03b106213a3 100644 --- a/src/intl/zh/page-wallets-find-wallet.json +++ b/src/intl/zh/page-wallets-find-wallet.json @@ -51,7 +51,7 @@ "page-find-wallet-description-linen": "移动智能合约钱包:赚取收益、购买加密货币,并参与 DeFi。赚取奖励和治理代币。", "page-find-wallet-description-loopring": "以太坊上的第一个智能合约钱包,可用作基于零知识卷叠的交易、转账和自动化做市商。您不需要支付矿工费、安全、简单。", "page-find-wallet-description-mathwallet": "MathWallet 是一款多平台(移动端/扩展/web)的通用加密货币钱包,支持 50 多条区块链和 2000 多款去中心化应用程序。", - "page-find-wallet-description-metamask": "几秒内便可探索区块链应用,拥有世界范围内的百万用户。", + "page-find-wallet-description-metamask": "在几秒钟内开始探索区块链应用程序。 受到全球超过 2100 万用户的信赖。", "page-find-wallet-description-monolith": "世界上唯一能够和Visa借记卡绑定的数字钱包。可在联合王国及欧盟的应用商店里下载,并在全球范围内使用。", "page-find-wallet-description-multis": "Multis是一个为商用设计的加密账户。使用Multis,企业可以进行权限控制,从存款中赚取收益,简化支付和审计。", "page-find-wallet-description-mycrypto": "MyCrypto是一个同时管理多个加密账户的界面。在其中通过类似MetaMask、Ledger、Trezor的钱包交换、发送或者购买加密货币。", From f5a88988e55dd6c2f4fa52d7f47c40ce369278f4 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Thu, 12 May 2022 13:00:34 +0100 Subject: [PATCH 123/167] Update src/content/glossary/index.md --- src/content/glossary/index.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/content/glossary/index.md b/src/content/glossary/index.md index 7d76d3d2cd6..80cc62a6923 100644 --- a/src/content/glossary/index.md +++ b/src/content/glossary/index.md @@ -743,10 +743,6 @@ An off-chain scaling solution that uses [fraud proofs](#fraud-proof), like [Opti Plasma -### presale {#presale} - -Sale of cryptocurrency before the actual launch of the network. - ### private key (secret key) {#private-key} A secret number that allows Ethereum users to prove ownership of an account or contracts, by producing a digital signature (see [public key](#public-key), [address](#address), [ECDSA](#ecdsa)). From c2769a2c77e2ee1ed02226ec3650b5c0f488bc2a Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Thu, 12 May 2022 13:10:23 +0100 Subject: [PATCH 124/167] Update src/content/developers/docs/data-structures-and-encoding/index.md --- .../developers/docs/data-structures-and-encoding/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures-and-encoding/index.md b/src/content/developers/docs/data-structures-and-encoding/index.md index 65b912e324a..79632f35b50 100644 --- a/src/content/developers/docs/data-structures-and-encoding/index.md +++ b/src/content/developers/docs/data-structures-and-encoding/index.md @@ -10,7 +10,7 @@ Ethereum creates, stores and transfers large volumes of data. This data must get ## Prerequisites {#prerequisites} -You should understand the fundamentals of Ethereum and [client software]. Familiarity with the networking layer and [the Ethereum whitepaper](/whitepaper/) is recommended. +You should understand the fundamentals of Ethereum and [client software](/developers/docs/nodes-and-clients/). Familiarity with the networking layer and [the Ethereum whitepaper](/whitepaper/) is recommended. ## Data structures {#data-structures} From bd75be3f02bd8495b8727d5b96da23cc62ec44ed Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 12 May 2022 12:18:06 +0000 Subject: [PATCH 125/167] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7b1273fd253..084c3aee561 100644 --- a/README.md +++ b/README.md @@ -1199,6 +1199,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
mradkov

📖
Bienvenido Rodriguez

📖 🤔
Sora Nature

📖 +
Joseph Schiarizzi

📖 From 4903afad174284b2b6b4a28601274e4a17258542 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 12 May 2022 12:18:07 +0000 Subject: [PATCH 126/167] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index bcebfd6e0c0..175b758a4fb 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7397,6 +7397,15 @@ "contributions": [ "doc" ] + }, + { + "login": "cupOJoseph", + "name": "Joseph Schiarizzi", + "avatar_url": "https://avatars.githubusercontent.com/u/9449596?v=4", + "profile": "http://josephschiarizzi.com", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, From bb3c313a056dabcccb45444563e9f4323110394b Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 12 May 2022 09:22:34 -0700 Subject: [PATCH 127/167] Layout patch [Fixes #6228] --- src/components/CardList.js | 1 - src/components/Staking/StakingGuides.js | 9 ++++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/CardList.js b/src/components/CardList.js index a50f187c943..4c117c6ae54 100644 --- a/src/components/CardList.js +++ b/src/components/CardList.js @@ -36,7 +36,6 @@ const ItemLink = styled(Link)` padding: 1rem; width: 100%; color: #000000; - margin-bottom: 1rem; &:hover { border-radius: 4px; box-shadow: 0 0 1px ${(props) => props.theme.colors.primary}; diff --git a/src/components/Staking/StakingGuides.js b/src/components/Staking/StakingGuides.js index 9b08b0678d8..0eef51d7e8a 100644 --- a/src/components/Staking/StakingGuides.js +++ b/src/components/Staking/StakingGuides.js @@ -1,9 +1,16 @@ // Libraries import React from "react" +import styled from "styled-components" // Components import CardList from "../CardList" +const StyledCardList = styled(CardList)` + display: flex; + flex-direction: column; + gap: 1rem; +` + const StakingGuides = () => { const guides = [ { @@ -23,7 +30,7 @@ const StakingGuides = () => { }, ] - return + return } export default StakingGuides From f92dd01df61671885fbd1462af4c1f10ae2eb634 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 12 May 2022 13:54:54 -0700 Subject: [PATCH 128/167] nl Upgrades bucket latest from Crowdin --- .../nl/energy-consumption/index.md | 2 +- .../translations/nl/governance/index.md | 2 +- src/content/translations/nl/nft/index.md | 204 +++++++++--------- src/content/translations/nl/security/index.md | 2 +- 4 files changed, 105 insertions(+), 105 deletions(-) diff --git a/src/content/translations/nl/energy-consumption/index.md b/src/content/translations/nl/energy-consumption/index.md index 1bfced946f3..5cd2b240562 100644 --- a/src/content/translations/nl/energy-consumption/index.md +++ b/src/content/translations/nl/energy-consumption/index.md @@ -29,7 +29,7 @@ Op dezelfde manier als bij proof-of-work, zou een kwaadaardige entiteit ten mins ## De merge {#the-merge} -Er is een functionele proof-of-stake-keten genaamd de [Beacon Chain](/upgrades/beacon-chain/) die sinds december 2020 loopt en die de levensvatbaarheid van het proof-of-stake-protocol aantoont. De merge verwijst naar het moment waarop Ethereum proof-of-work achterlaat en proof-of-stake volledig accepteert. De merge zal naar verwachting plaatsvinden in het tweede kwartaal van 2022. [Meer over de merge](/upgrades/merge/). +Er is een functionele proof-of-stake-keten genaamd de [Beacon Chain](/upgrades/beacon-chain/) die sinds december 2020 loopt en die de levensvatbaarheid van het proof-of-stake-protocol aantoont. De merge verwijst naar het moment waarop Ethereum proof-of-work achterlaat en proof-of-stake volledig accepteert. The Merge is expected to happen ~Q3/Q4 2022. [Meer over de merge](/upgrades/merge/). ## Energie-uitgaven van proof-of-stake {#proof-of-stake-energy} diff --git a/src/content/translations/nl/governance/index.md b/src/content/translations/nl/governance/index.md index 4e8288bf554..a36f5d8c110 100644 --- a/src/content/translations/nl/governance/index.md +++ b/src/content/translations/nl/governance/index.md @@ -7,7 +7,7 @@ sidebar: true # Introductie tot Ethereum governance {#introduction} -_Als niemand de baas is van Ethereum, hoe worden dan besluiten over eerdere en toekomstige wijzigingen in het netwerk gemaakt? Ethereum governance verwijst naar het proces dat het mogelijk maakt om dergelijke beslissingen te nemen_ +_Als niemand de baas is van Ethereum, hoe worden dan besluiten over eerdere en toekomstige wijzigingen in het netwerk gemaakt? Ethereum governance verwijst naar het proces dat het mogelijk maakt om dergelijke beslissingen te nemen._ diff --git a/src/content/translations/nl/nft/index.md b/src/content/translations/nl/nft/index.md index 6a6d73bc066..3691c92ac31 100644 --- a/src/content/translations/nl/nft/index.md +++ b/src/content/translations/nl/nft/index.md @@ -182,81 +182,81 @@ De eigenaar zijn van een verifieerbaar ding zal altijd meer waarde hebben dan wa ### Boosten van gaming-potentieel {#nft-gaming} -NFT's hebben veel interesse gekregen van game-ontwikkelaars. NFT's kunnen records verstrekken over het eigendom van in-game items, brandstof-in-game economieën en de spelers veel voordelen bieden. +NFT's hebben veel interesse gekregen van game-ontwikkelaars. NFT's kunnen registers van eigendom verstrekken voor in-game items, zorgen voor in-game besparingen en de spelers veel voordelen bieden. -In veel reguliere spellen kan je voorwerpen kopen die je in je spel kan gebruiken. Maar als dat een NFT was, zou je je geld kunnen terugverdienen door het aan te verkopen wanneer je klaar bent met het spel. Je kunt zelfs winst maken als dat item wenselijker wordt. +In veel reguliere games kunt u items kopen die u in uw game kunt gebruiken. Maar als dat item een NFT was, zou u uw geld kunnen terugverdienen door het door te verkopen wanneer u klaar bent met de game. U kunt zelfs winst maken als dat item populairder wordt. -Voor spelontwikkelaars – als emittenten van het NFT – kunnen ze een royaliteit verdienen telkens wanneer een artikel opnieuw verkocht wordt op de open markt. Dit creëert een wederzijds voordeliger bedrijfsmodel waarin zowel spelers als ontwikkelaars verdienen met de secundaire NFT-markt. +Voor game-ontwikkelaars – als emittenten van het NFT – kunnen ze een royalty verdienen telkens wanneer een item opnieuw verkocht wordt op de open markt. Dit creëert een wederzijds voordeliger bedrijfsmodel waarin zowel spelers als ontwikkelaars verdienen via de secundaire NFT-markt. -Dit betekent ook dat als een spel niet meer wordt onderhouden door de ontwikkelaars, de items die je hebt verzameld van jou blijven. +Dit betekent ook dat als een game niet meer wordt onderhouden door de ontwikkelaars, de items die u heeft verzameld van u blijven. -De spullen die je in het spel gooit, kunnen langer bestaan dan het spel zelt. Zelfs als een spel niet langer wordt onderhouden, zullen je items altijd onder jouw controle blijven. Dit betekent dat in-game items digitaal memorabilia worden en een waarde buiten het spel krijgen. +Uiteindelijk kunnen de items waar u voor strijdt in de game, langer bestaan dan de games zelf. Zelfs als een game niet langer wordt onderhouden, zullen uw items altijd onder uw controle blijven. Dit betekent dat in-game items digitaal memorabilia worden en een waarde buiten de game krijgen. -Decentraland, een virtual reality spel. Laat u NFTs kopeb van virtuele stukken land, deze kun je gebruiken zoals je dat wilt. +Decentraland, een virtual reality game, laat u zelfs NFT's kopen die virtuele stukken land vertegenwoordigen die u kunt gebruiken zoals u maar wilt. -
Bekijk Ethereum-spellen, aangedreven door NFTs...
+
Bekijk Ethereum-games, mogelijk gemaakt door NFT's...
- Verken NFT games + Verken NFT-games
-### Ethereum adressen gedenkwaardiger maken {#nft-domains} +### Ethereum-adressen gedenkwaardiger maken {#nft-domains} -De Ethereum Name Service gebruikt NFT's om uw Ethereum-adres een makkelijkere naam te geven zoals `mywallet.eth`. Dit betekent dat u iemand kunt vragen om u ETH te sturen via `mywallet.eth` in plaats van `0x123456789.....`. +De Ethereum Name Service gebruikt NFT's om uw Ethereum-adres een makkelijker te onthouden naam te geven zoals `mywallet.eth`. Dit betekent dat u iemand kunt vragen om u ETH te sturen via `mywallet.eth` in plaats van `0x123456789.....`. -Dit werkt op een soortgelijke manier als een website domeinnaam die een IP-adres memorabeler maakt. En net als domeinen hebben ENS-namen een waarde, meestal gebaseerd op lengte en relevantie. Met ENS heb je geen domeinregistratie nodig om de overdracht van eigenaarschap te vergemakkelijken. In plaats daarvan kun je je ENS-namen verhandelen op een NFT-marktplaats. +Dit werkt op een soortgelijke manier als een websitedomeinnaam die een IP-adres memorabeler maakt. En net als domeinen hebben ENS-namen een waarde, meestal gebaseerd op lengte en relevantie. Met ENS heeft u geen domeinregistratie nodig om de overdracht van eigenaarschap te vergemakkelijken. In plaats daarvan kunt u uw ENS-namen verhandelen op een NFT-marktplaats. -Je ENS naam kan: +Uw ENS-naam kan: -- Cryptovaluta en andere NFTs ontvangen. +- Cryptocurrency en andere NFT's ontvangen. - Verwijzen naar een gedecentraliseerde website, zoals [ethereum.eth](https://ethereum.eth.link). [Meer over het decentraliseren van uw website](https://docs.ipfs.io/how-to/websites-on-ipfs/link-a-domain/#domain-name-service-dns) -- Sla willekeurige informatie op, inclusief profielinformatie zoals e-mailadressen en Twitter-behandelingen. +- Sla willekeurige informatie op, inclusief profielinformatie zoals e-mailadressen en Twitter-handles. ### Fysieke items {#nft-physical-items} -De tokenisatie van fysieke items is nog niet zo ontwikkeld als hun digitale tegenhangers. Maar er zijn tal van projecten die de verkenning van onroerend goed, éénsoortige modeartikelen en meer verkennen. +De tokenisatie van fysieke items is nog niet zo ontwikkeld als hun digitale tegenhangers. Maar er zijn tal van projecten die de tokenisatie van onroerend goed, éénsoortige modeartikelen en meer verkennen. -Aangezien de NFT's hoofdzakelijk acties zijn, op een dag kun je een auto of woning kopen met behulp van ETH en de daad als een NFT terugkrijgen (in dezelfde transactie). Naarmate de dingen steeds hightech-technologie worden, het is niet moeilijk om je een wereld voor te stellen waar je Ethereum portemonnee de sleutel tot uw auto of huis wordt – je deur wordt ontgrendeld door het cryptografische bewijs van eigendom. +Aangezien NFT's in wezen aktes zijn, kunt u op een dag een auto of woning kopen met behulp van ETH en de akte als een NFT terugontvangen (in dezelfde transactie). Naarmate de dingen in toenemende mate high-tech worden, is het niet moeilijk om u een wereld voor te stellen waar uw Ethereum-portemonnee de sleutel tot uw auto of huis wordt – waarbij uw deur wordt ontgrendeld door het cryptografische bewijs van eigendom. -Met waardevolle activa zoals auto's en eigendommen die in Ethereum te vinden zijn, kunt u NFT's gebruiken als onderpand in gedecentraliseerde leningen. Dit is vooral handig als u niet contant of crypto-rijk bent, maar fysieke items in uw bezit heeft. [Meer over DeFi](/defi/) +Met waardevolle activa zoals auto's en eigendommen die te vertegenwoordigen zijn in Ethereum, kunt u NFT's gebruiken als onderpand in gedecentraliseerde leningen. Dit is vooral handig als u niet contant of crypto-rijk bent, maar fysieke items in uw bezit heeft. [Meer over DeFi](/defi/) ### NFT's en DeFi {#nfts-and-defi} -De NFT wereld en de [gedecentraliseerde financiën (DeFi)](/defi/) wereld beginnen op een aantal interessante manieren samen te werken. +De NFT-wereld en de wereld van [gedecentraliseerde financiën (DeFi)](/defi/) beginnen op een aantal interessante manieren samen te werken. -#### NFT-ondersteunde leningen {#nft-backed-loans} +#### Door NFT ondersteunde leningen {#nft-backed-loans} -Er zijn DeFi applicaties waarmee je geld kunt lenen door onderpand te gebruiken. Je kunt bijvoorbeeld 10 ETH onderpand leggen zodat je 5000 DAI kunt lenen ([een stabiele munt](/stablecoins/)). Dit garandeert dat de kredietgever wordt terugbetaald - als de kredietgever de DAI niet terugbetaalt, wordt het onderpand naar de kredietgever gestuurd. Niet iedereen heeft echter genoeg crypto om als onderpand te gebruiken. +Er zijn DeFi-applicaties waarmee u geld kunt lenen door onderpand te gebruiken. U kunt bijvoorbeeld 10 ETH als onderpand gebruiken zodat u 5000 DAI ([een stablecoin](/stablecoins/)) kunt lenen. Dit garandeert dat de kredietgever wordt terugbetaald - als de lener de DAI niet terugbetaalt, wordt het onderpand naar de kredietgever gestuurd. Niet iedereen heeft echter genoeg crypto om het als onderpand te gebruiken. -Projecten beginnen NFT's als onderpand te accepteren. Stelt u zich voor dat u in de tijd een zeldzame CryptoPunk NFT had gekocht – ze kunnen $1000den in waarde zijn gestegen. Door dit als onderpand op te stellen, heb je toegang tot een lening met dezelfde regelset als onderpand. Als u de DAI niet terugbetaalt, wordt uw CryptoPunk als onderpand naar de kredietgever gestuurd. Dit zou uiteindelijk kunnen werken met alles wat u als een NFT laat zien. +Projecten beginnen in plaats daarvan NFT's als onderpand te onderzoeken. Stelt u zich voor dat vroeger een zeldzame CryptoPunk NFT had gekocht – deze kunnen duizenden in waarde zijn gestegen tegen de huidige prijzen. Door dit als onderpand te stellen, heeft u toegang tot een lening met dezelfde regelset. Als u de DAI niet terugbetaalt, wordt uw CryptoPunk als onderpand naar de kredietgever gestuurd. Dit zou uiteindelijk kunnen werken met alles waarvan u een token maakt net als een NFT. En dit is niet moeilijk op Ethereum, omdat beide werelden (NFT en DeFi) dezelfde infrastructuur delen. #### Fractioneel eigendom {#fractional-ownership} -NFT-makers kunnen ook "aandelen" maken voor hun NFT. Dit geeft investeerders en fans de mogelijkheid om een deel van een NFT te bezitten zonder dat ze de hele zaak hoeven te kopen. Dit brengt nog meer mogelijkheden met zich mee voor zowel NFT minters als verzamelaars. +NFT-makers kunnen ook "aandelen" maken voor hun NFT. Dit geeft investeerders en fans de mogelijkheid om een deel van een NFT te bezitten zonder dat ze de hele token hoeven te kopen. Dit brengt nog meer mogelijkheden met zich mee voor zowel makers als verzamelaars van NFT's. -- Gedeelde NFT's kunnen worden verhandeld op [DEXs](/defi/#dex) zoals Uniswap, niet alleen [NFT marktplaatsen](/dapps?category=collectibles). Dat betekent meer kopers en verkopers. -- De totale prijs van een NFT-netwerk kan worden bepaald door de prijs van zijn delen. -- Je hebt meer kans om te bezitten en te profiteren van items waar je om geeft. Het is moeilijker om geen NFTs te bezitten. +- Gefractioneerde NFT's kunnen worden verhandeld op [DEX's](/defi/#dex) zoals Uniswap, niet alleen [NFT-markten](/dapps?category=collectibles). Dat betekent meer kopers en verkopers. +- De totale prijs van een NFT kan worden bepaald door de prijs van de fracties ervan. +- U heeft meer kans om een deel van een NFT te bezitten en te profiteren van items waar u om geeft. Het is dus moeilijker om geen NFT's te bezitten als gevolg van de prijzen. -Dit is nog steeds experimenteel, maar u kunt meer leren over fractioneel NFT eigendom op de volgende uitwisselingen: +Dit is nog steeds experimenteel, maar u kunt meer leren over fractioneel NFT-eigendom op de volgende exchanges: - [NIFTEX](https://landing.niftex.com/) - [NFTX](https://gallery.nftx.org/) -In theorie is dit zoals de mogelijkheid ontgrenden om een deel van een Picasso te bezitten. U zou een aandeelhouder worden in een Picasso NFT, wat betekent dat u inspraak zou hebben in zaken zoals het delen van inkomsten. Het is zeer waarschijnlijk dat binnenkort een fractie van een NFT je in een gedecentraliseerde autonome organisatie (DAO) zal opnemen voor het beheer van dat goed. +In theorie wordt hiermee de mogelijkheid ontgrendeld om een deel van een Picasso te bezitten. U zou een aandeelhouder worden in een Picasso NFT, wat betekent dat u inspraak zou hebben in zaken zoals het delen van inkomsten. Het is zeer waarschijnlijk dat u binnenkort, door het bezitten van een fractie van een NFT, in een gedecentraliseerde autonome organisatie (DAO) wordt opgenomen voor het beheer van die asset. -Dit zijn door Ethereum gedomineerde organisaties die vreemdelingen, zoals mondiale aandeelhouders van een activum, in staat stellen zich veilig te coördineren, zonder noodzakelijkerwijs de andere mensen te hoeven vertrouwen. Dat is omdat er geen cent kan worden uitgegeven zonder groepsgoedkeuring. +Dit zijn door Ethereum mogelijk gemaakte organisaties die vreemdelingen, zoals mondiale aandeelhouders van een asset, in staat stellen veilig te coördineren, zonder noodzakelijkerwijs de andere mensen te hoeven vertrouwen. Dat is omdat er geen cent kan worden uitgegeven zonder groepsgoedkeuring. -Zoals we al zeiden, is dit een opkomende ruimte. NFT's, DAO's, gefragmenteerde tokens ontwikkelen zich allemaal in verschillende tempo. Maar al hun infrastructuur bestaat en kan gemakkelijk samenwerken omdat ze allemaal dezelfde taal spreken: Ethereum. Dus kijk naar deze ruimte. +Zoals we al zeiden, is dit een opkomende ruimte. NFT's, DAO's, gefragmenteerde tokens ontwikkelen zich allemaal in verschillend tempo. Maar al hun infrastructuur bestaat en kan gemakkelijk samenwerken omdat ze allemaal dezelfde taal spreken: Ethereum. Dus houd deze ruimte in de gaten. [Meer over DAO's](/dao/) @@ -266,169 +266,169 @@ Zoals we al zeiden, is dit een opkomende ruimte. NFT's, DAO's, gefragmenteerde t Ethereum maakt het mogelijk dat NFT's werken om een aantal redenen: -- Transactiegeschiedenis en token metadata is publiek controleerbaar – het is eenvoudig om de geschiedenis te bewijzen. -- Zodra een transactie is bevestigd, is het bijna onmogelijk om die gegevens te manipuleren. -- NFT handel kan peer-to-peer gebeuren zodat er geen grote percentages aan beurzen betaald hoeft te worden. -- Alle Ethereum-producten delen dezelfde "backend". Met andere woorden, alle Ethereum-producten kunnen elkaar gemakkelijk begrijpen - dit maakt NFT's draagbaar over alle producten. U kunt een NFT kopen op een product en het gemakkelijk verkopen aan een ander product. Als een maker kan je je NFT's op meerdere producten tegelijk aanbieden - elk product heeft de meest recente eigendomsinformatie. -- Ethereum gaat nooit omlaag, wat betekent dat je tokens altijd beschikbaar zijn om te verkopen. +- De transactiegeschiedenis en tokenmetadata zijn publiekelijk verifieerbaar – het is eenvoudig om de geschiedenis van het eigendom te bewijzen. +- Zodra een transactie is bevestigd, is het bijna onmogelijk om die gegevens te manipuleren om het eigenaarschap te "stelen". +- NFT-handel kan peer-to-peer plaatsvinden zodat dat er platforms nodig zijn die grote percentages in rekening kunnen brengen als compensatie. +- Alle Ethereum-producten delen dezelfde "backend". Met andere woorden, alle Ethereum-producten kunnen elkaar gemakkelijk begrijpen - dit maakt NFT's draagbaar verspreid over alle producten. U kunt een NFT kopen gekoppeld aan een product en het gemakkelijk verkopen gekoppeld aan een ander product. Als maker kunt u uw NFT's op meerdere producten tegelijk laten noteren - elk product heeft de meest recente eigendomsinformatie. +- Ethereum is nooit uitgeschakeld, wat betekent dat uw tokens altijd beschikbaar zijn om te verkopen. ## De milieueffecten van NFT's {#environmental-impact-nfts} -De NFT's worden steeds populairder, wat betekent dat ze ook onder meer toezicht komen te staan – met name over hun koolstofvoetafdruk. +NFT's worden steeds populairder, wat betekent dat ze ook onder meer toezicht komen te staan – met name over hun koolstofvoetafdruk. Om een paar dingen te verduidelijken: - NFT's vergroten niet direct de koolstofvoetafdruk van Ethereum. -- De manier waarop Ethereum uw fondsen en activa veilig houdt is op het moment energie-intensieve maar het staat op het punt om te verbeteren. -- Eenmaal verbeterd, zal Ethereum de koolstofvoetafdruk 99,95 procent beter zijn, waardoor deze energiezuiniger wordt dan veel bestaande industrieën. +- De manier waarop Ethereum uw fondsen en activa veilig houdt is op het moment energie-intensief, maar dit wordt binnenkort verbeterd. +- Eenmaal verbeterd, zal de koolstofvoetafdruk van Ethereum 99,95 procent beter zijn, waardoor het energiezuiniger wordt dan veel bestaande industrieën. -Om dit verder uit te leggen zullen we een beetje technischer moeten gaan, dus blijf meevolgen... +Om dit verder uit te leggen zullen we een beetje technischer moeten worden, dus heb hier even geduld voor... -### Steek de schuld niet op NFTs {#nft-qualities} +### Geef de NFT's niet de schuld {#nft-qualities} -Het hele NFT ecosysteem werkt omdat Ethereum gedecentraliseerd en veilig is. +Het hele NFT-ecosysteem werkt omdat Ethereum gedecentraliseerd en veilig is. -Gedecentraliseerde betekent dat jij en alle anderen kunnen verifiëren dat je iets hebt. Dit alles zonder vertrouwen en zonder voogdij te verlenen aan een derde partij die naar eigen goeddunken regels kan opleggen. Het betekent ook dat uw NFT over veel verschillende producten en markten draagbaar is. +Gedecentraliseerd betekent dat u en iedereen kan verifiëren dat u iets bezit. Dit alles zonder de bewaring toe te vertrouwen of toe te kennen aan een derde partij die naar eigen goeddunken zijn regels kan opleggen. Het betekent ook dat uw NFT draagbaar is verspreid over veel verschillende producten en markten. -Veilig betekent dat niemand je NFT kan kopiëren/plakken of stelen. +Veilig betekent dat niemand u NFT kan kopiëren/plakken of stelen. -Deze kwaliteiten van Ethereum maken het digitaal bezit van unieke items mogelijk om een eerlijke prijs voor uw inhoud te krijgen. Maar dat kost wat. Blockchains zoals Bitcoin en Ethereum zijn op dit moment energie-intensief omdat er veel energie nodig is om deze kwaliteiten te behouden. Als het gemakkelijk was om de geschiedenis van Ethereum te herschrijven om NFT's of cryptovaluta te stelen, dan zou het systeem instorten. +Deze kwaliteiten van Ethereum maken het digitaal bezit van unieke items en het krijgen van een eerlijke prijs voor uw content mogelijk. Maar dat kost wel geld. Blockchains zoals Bitcoin en Ethereum zijn op dit moment energie-intensief omdat er veel energie nodig is om deze kwaliteiten te behouden. Als het gemakkelijk was om de geschiedenis van Ethereum te herschrijven om NFT's of cryptocurrency te stelen, dan zou het systeem instorten. -#### Het werk bij het minten van uw NFT {#minting-nfts} +#### Het werk voor het slaan van uw NFT {#minting-nfts} -Wanneer je een NFT mint, moeten er een paar dingen gebeuren: +Wanneer u een NFT slaat, moeten er een paar dingen gebeuren: - Het moet worden bevestigd als een asset op de blockchain. -- Het accountsaldo van de eigenaar moet worden bijgewerkt om dat bezit op te nemen. Dit maakt het mogelijk om vervolgens te worden verhandeld of verifieerbaar "owned". -- De transacties die bovenstaande bevestigen moeten worden toegevoegd aan een blok en "onhypothed" in de blockchain. -- Het blok moet door iedereen in het netwerk worden bevestigd als "juist". Deze consensus neemt de behoefte aan tussenpersonen weg omdat het netwerk akkoord gaat met het bestaan van uw NFT. Het is op de blockchain zodat iedereen het kan controlleren. Dit is een van de manieren waarop Ethereum de NFT makers helpt om hun inkomsten te maximaliseren. +- Het accountsaldo van de eigenaar moet worden bijgewerkt om die asset op te nemen. Vervolgens is het mogelijk om de asset te verhandelen of verifieerbaar te "bezitten". +- De transacties die het bovenstaande bevestigen moeten worden toegevoegd aan een blok en "geïmmortaliseerd" worden in de blockchain. +- Het blok moet door iedereen in het netwerk worden bevestigd als "juist". Deze consensus neemt de noodzaak voor tussenpersonen weg omdat het netwerk akkoord gaat met het bestaan van uw NFT en met het feit dat het van u is. En het is in de blockchain zodat iedereen het kan controleren. Dit is een van de manieren waarop Ethereum de NFT-makers helpt om hun inkomsten te maximaliseren. -Al deze taken worden uitgevoerd door miners. Ze laten de rest van het netwerk weten over uw NFT en over de eigenaar. Dit betekent dat mining zo moeilijk mogelijk moet zijn, anders zou iedereen kunnen beweren dat hij eigenaar is van het NFT dat je zojuist hebt gemint en het eigendom op frauduleuze wijze overdragen. Er zijn veel stimulansen om ervoor te zorgen dat miners eerlijk handelen. +Al deze taken worden uitgevoerd door miners. En ze laten de rest van het netwerk weten over uw NFT en wie de eigenaar is. Dit betekent dat mining zo moeilijk mogelijk moet zijn, anders zou iedereen kunnen beweren dat hij eigenaar is van het NFT dat u zojuist heeft geslagen en het eigendom op frauduleuze wijze overdragen. Er zijn veel stimulansen om ervoor te zorgen dat miners eerlijk handelen. [Meer over mining](/developers/docs/consensus-mechanisms/pow/) #### Uw NFT beveiligen met mining {#securing-nfts} -De mining moeilijkheid komt voort uit het feit dat er veel rekenkracht nodig is om nieuwe blokken in de chain te maken. Belangrijker is dat blokken consequent worden gemaakt, niet alleen wanneer ze nodig zijn. Ze worden elke 12 seconden aangemaakt. +De moeilijkheid van mining komt voort uit het feit dat er veel rekenkracht nodig is om nieuwe blokken in de chain te maken. Belangrijk is dat blokken consequent worden gemaakt, niet alleen wanneer ze nodig zijn. Ze worden elke 12 seconden aangemaakt. -Dit is belangrijk om Ethereum tamper-proof te houden, een van de kwaliteiten die NFTs mogelijk maakt. Hoe meer blokken op de chain, hoe veiliger de chain is. Ams uw NFT in block #600 werd gemaakt en een hacker zou dit proberen te stelen door de data aan te passen. Dan zou de digitale vingerafdruk van alle daaropvolgende blokken ook veranderen. Dat betekent dat iedereen die Ethereum software draait, direct kan detecteren en voorkomen dat het gebeurt. +Dit is belangrijk om Ethereum sabotagebestendig te houden, een van de kwaliteiten die NFT's mogelijk maakt. Hoe meer blokken in de chain, hoe veiliger de chain is. Als uw NFT in blok #600 werd gemaakt en een hacker zou dit proberen te stelen door de data aan te passen, zou de digitale vingerafdruk van alle daaropvolgende blokken ook veranderen. Dat betekent dat iedereen die Ethereum-software draait, het direct kan detecteren en voorkomen dat het gebeurt. -Dit betekent echter dat de informatica voortdurend moet worden gebruikt. Het betekent ook dat een blok met 0 NFT transacties nog ongeveer dezelfde CO2-voetafdruk zal hebben, omdat de computer energie nogsteeds zal worden verbruikt om het te creëren. Andere niet-NFT transacties zullen de blokken vullen. +Dit betekent echter dat de rekenkracht voortdurend moet worden gebruikt. Het betekent ook dat een blok met 0 NFT-transacties nog ongeveer dezelfde koolstofvoetafdruk zal hebben, omdat de rekenkracht nog steeds zal worden verbruikt om het te creëren. Andere niet-NFT transacties zullen de blokken vullen. -#### Blockchains zijn energie intensief, op dit moment {#blockchains-intensive} +#### Blockchains zijn energie-intensief op dit moment. {#blockchains-intensive} -Dus ja, er is een koolstofvoetafdruk gekoppeld aan het maken van blokken door het minen - en dit is een probleem voor chains zoals Bitcoin - maar het is niet direct de schuld van NFTs. +Dus ja, er is een koolstofvoetafdruk gekoppeld aan het maken van blokken door te minen - en dit is een probleem voor blockchains zoals Bitcoin - maar het is niet direct de schuld van NFT's. -Veel miners gebruiken hernieuwbare energiebronnen of ongebruikte energie op afgelegen locaties. En er is ook het argument dat de industrieën die NFTs en cryptovaluta's verstoren, ook enorme CO2-voetafdrukken hebben. Maar alleen omdat bestaande industrieën slecht zijn, betekent niet dat we niet moeten proberen beter te zijn. +Veel miners gebruiken hernieuwbare energiebronnen of ongebruikte energie op afgelegen locaties. En er is ook het argument dat de industrieën die door NFT's en cryptocurrencies verstoord worden, ook enorme koolstofvoetafdrukken hebben. Maar alleen omdat bestaande industrieën slecht zijn, betekent niet dat we niet moeten proberen beter te zijn. -En dat zijn wij. Ethereum evolueert om Ethereum energiezuiniger te maken. En dat was altijd het plan. +En dat doen we ook. Ethereum evolueert om Ethereum (en dus NFT's) energiezuiniger te maken. En dat was altijd het plan. -We zijn hier niet om de ecologische voetafdruk van de mining te verdedigen, maar om uit te leggen hoe het beter gaat. +We zijn hier niet om de ecologische voetafdruk van mining te verdedigen, in plaats daarvan willen we uitleggen hoe alles beter wordt. ### Een groenere toekomst... {#a-greener-future} -Sinds het bestaan van Ethereum is de energieconsumptie van mining een enorm focusgebied geweest voor ontwikkelaars en onderzoekers. De visie is er altijd op gericht geweest om deze zo snel mogelijk te vervangen. [Meer over Ethereum's visie](/upgrades/vision/) +Sinds het bestaan van Ethereum is de energieconsumptie van mining een enorm aandachtsgebied voor ontwikkelaars en onderzoekers. En de visie is er altijd op gericht geweest om deze consumptie zo snel mogelijk te vervangen. [Meer over Ethereums visie](/upgrades/vision/) Deze visie wordt nu uitgedragen. #### Een groener Ethereum {#greener-ethereum} -Ethereum doorloopt momenteel een reeks upgrades die mining zullen vervangen door [staking](/staking/). Dit zal de computerkracht als beveiligingsmechanisme verwijderen en Ethereum's koolstofvoetafdruk verminderen met ~99,95%[^1]. In deze wereld maken stakers geld uit in plaats van te berekenen hoe het netwerk beveiligd kan worden. +Ethereum doorloopt momenteel een reeks upgrades die mining zullen vervangen door [staking](/staking/). Dit zal de rekenkracht als beveiligingsmechanisme verwijderen en de koolstofvoetafdruk van Ethereum verminderen met ~99,95%[^1]. In deze wereld gebruiken stakers geld in plaats van rekenkracht om het netwerk te beveiligen. -De energiekosten van Ethereum zullen de kosten voor het beheren van een thuiscomputer vermenigvuldigd worden met het aantal nodes in het netwerk. Als er 10.000 knooppunten in het netwerk zitten en de kosten voor het runnen van een huiscomputer bedragen ongeveer 525kWh per jaar. Dan is dat 5,250.000kWh[^1] per jaar voor het hele netwerk. +De energiekosten van Ethereum zullen de kosten voor het beheren van een thuiscomputer worden vermenigvuldigd met het aantal nodes in het netwerk. Als er 10.000 nodes in het netwerk zitten en de kosten voor het runnen van een thuiscomputer bedragen ongeveer 525 kWh per jaar. Dat is 5.250.000 kWh[^1] per jaar voor het hele netwerk. -We kunnen dit gebruiken om de toekomst van Ethereum te vergelijken met een mondiale dienst zoals Visa. 100.000 Visa transacties gebruiken 149kWh energie[^2]. In Ethereum zou hetzelfde aantal transacties 17,4kWh van energie kosten of ~11% van de totale energie[^3]. Dat is zonder rekening te houden met de vele optimalisaties waaraan parallel aan de consensuslaag en scherpschutterketens wordt gewerkt, zoals [rollups](/glossary/#rollups). Voor 100.000 transacties zou dat wel eens 0,16666667kWh kunnen zijn. +We kunnen dit gebruiken om de toekomst van Ethereum te vergelijken met een mondiale dienst zoals Visa. 100.000 Visa-transacties gebruiken 149 kWh energie[^2]. In proof-of-stake Ethereum zou datzelfde aantal transacties 17,4 kWh energie kosten of circa 11% van de totale energie[^3]. Dat is zonder rekening te houden met de vele optimalisaties waaraan parallel wordt gewerkt in de consensuslaag en shardketens, zoals [rollups](/glossary/#rollups). Voor 100.000 transacties zou dat zo weinig als 0,1666666667 kWh kunnen zijn. -Dit verbetert de energie-efficiëntie en houdt tegelijkertijd de decentralisatie en veiligheid van Ethereum. Veel andere blockchains daar gebruiken mogelijk al een of andere vorm van inzetten, maar ze zijn beveiligd door een paar selecte stakers, niet de duizenden die Ethereum zal hebben. Hoe meer decentralisatie, hoe veiliger het systeem. +Belangrijk is dat dit de energie-efficiëntie verbetert en tegelijkertijd de decentralisatie en veiligheid van Ethereum behoudt. Veel andere blockchains maken mogelijk al gebruik van een of andere vorm van staking, maar ze worden beveiligd door een paar selecte stakers, niet de duizenden die Ethereum zal hebben. Hoe meer decentralisatie, hoe veiliger het systeem. -[Meer over de energie ramingen](#footnotes-and-sources) +[Meer over energieschattingen](#footnotes-and-sources) -_We hebben de basisvergelijking met Visa gegeven om uw inzicht in het energiegebruik van Ethereum te baseren op een bekende naam. In de praktijk is het echter niet echt correct om te vergelijken op basis van het aantal transacties. Ethereum heeft een tijdgebonden uitvoering. Als Ethereum van de ene minuut op de andere transacties zou doen, zou de energieproductie hetzelfde blijven._ +_We hebben de basisvergelijking met Visa gegeven om uw inzicht in het proof-of-stake Ethereum-energiegebruik een uitgangspunt te geven met behulp van een bekende naam. In de praktijk is het echter niet echt juist om te vergelijken op basis van het aantal transacties. Ethereum heeft een tijdgebonden energieverbruik. Als Ethereum van de ene minuut op de andere meer of minder transacties zou doen, zou het energieverbruik hetzelfde blijven._ -_Het is ook belangrijk om te onthouden dat Ethereum meer doet dan alleen financiële transacties, het is een platform voor toepassingen, zo eerlijker is een vergelijking met veel bedrijven/industrie, waaronder Visa, AWS en meer!_ +_Het is ook belangrijk om te onthouden dat Ethereum meer doet dan alleen financiële transacties. Het is een platform voor applicaties, dus een eerlijkere vergelijking kan zijn ten opzichte van vele bedrijven/industrieën, waaronder Visa, AWS en meer!_ -#### Timelines {#timelines} +#### Tijdlijnen {#timelines} -Het spel is al begonnen. [De Beacon Chain](/upgrades/beacon-chain/), de eerste upgrade, verzonden in december 2020. Dit vormt de basis voor staking door stakers toe te staan om deel te nemen aan het systeem. De volgende stap die relevant is voor energie-efficiëntie is het samenvoegen van de huidige chain (die door miners beveiligd is) te veranderen in de Beacon Chain (waar miners niet meer nodig zijn). Tijdlijnen kunnen in dit stadium niet precies zijn, maar er wordt geschat dat dit ergens in 2022 zal gebeuren. Dit proces staat bekend als de merge (voorheen aangeduid als het koppeling). [Meer over de merge](/upgrades/merge/). +Het proces is al begonnen. [De Beacon Chain](/upgrades/beacon-chain/), de eerste upgrade, verscheen in december 2020. Dit vormt de basis voor staking door stakers toe te staan om deel te nemen aan het systeem. De volgende stap die relevant is voor energie-efficiëntie is het samenvoegen van de huidige keten (die door miners beveiligd is) in de Beacon Chain (waar mining niet meer nodig is). Tijdlijnen kunnen in dit stadium niet precies zijn, maar er wordt geschat dat dit ergens in 2022 zal gebeuren. Dit proces staat bekend als de merge (voorheen aangeduid als de docking). [Meer over de merge](/upgrades/merge/). - Meer over Ethereum upgrades + Meer over Ethereum-upgrades -## Bouw met NFTs {#build-with-nfts} +## Bouwen met NFT's {#build-with-nfts} -De meeste NFTs zijn gebouwd met een consistente standaard bekend als [ERC-721](/developers/docs/standards/tokens/erc-721/). Er zijn echter andere normen waar u naar kunt kijken. De [ERC-1155](https://blog.enjincoin.io/erc-1155-the-crypto-item-standard-ac9cf1c5a226) standaard staat semi-fungible tokens toe, wat vooral handig is in het gaming rijk. En recenter is [EIP-2309](https://eips.ethereum.org/EIPS/eip-2309) voorgesteld om het minten van NFTs veel efficiënter te maken. Deze standaard staat toe om zoveel als u wilt te minten in een enkele transactie! +De meeste NFT's zijn gebouwd met een consistente standaard bekend als [ERC-721](/developers/docs/standards/tokens/erc-721/). Er zijn echter andere normen die u wellicht wilt bekijken. De [ERC-1155](https://blog.enjincoin.io/erc-1155-the-crypto-item-standard-ac9cf1c5a226) standaard staat semi-vervangbare tokens toe, wat vooral handig is in de gaming-wereld. En recenter is [EIP-2309](https://eips.ethereum.org/EIPS/eip-2309) voorgesteld om het slaan van NFT's veel efficiënter te maken. Deze standaard staat u toe om er zoveel te slaan als u wilt in een enkele transactie! ## Lees verder {#further-reading} - [Crypto art data](https://cryptoart.io/data) - Richard Chen, automatisch bijgewerkt -- [OpenSea: de NFT Bijbel](https://opensea.io/blog/guides/non-fungible-tokens/) - _Devin Fizner, 10 2020 januari_ -- [Een beginnershandleiding voor NFT's](https://linda.mirror.xyz/df649d61efb92c910464a4e74ae213c4cab150b9cbcc4b7fb6090fc77881a95d) - _Linda Xie, januari 2020_ -- [Alles wat u moet weten over de metaverse](https://foundation.app/blog/enter-the-metaverse) - _Foundation team, foundation.app_ -- [Nee, CryptoArtiesten schaden de Planeet niet](https://medium.com/superrare/no-cryptoartists-arent-harming-the-planet-43182f72fc61) -- [Een land met kracht, niet meer](https://blog.ethereum.org/2021/05/18/country-power-no-more/) – _Carl Beekhuizen, 18 2021 Mei_ +- [OpenSea: the NFT Bible](https://opensea.io/blog/guides/non-fungible-tokens/) – _Devin Fizner, 10 januari 2020_ +- [A beginner's guide to NFTs](https://linda.mirror.xyz/df649d61efb92c910464a4e74ae213c4cab150b9cbcc4b7fb6090fc77881a95d) – _Linda Xie, januari 2020_ +- [Everything you need to know about the metaverse](https://foundation.app/blog/enter-the-metaverse) – _Foundation-team, foundation.app_ +- [Nee, cryptokunstenaars schaden de planeet niet](https://medium.com/superrare/no-cryptoartists-arent-harming-the-planet-43182f72fc61) +- [A country's worth of power, no more](https://blog.ethereum.org/2021/05/18/country-power-no-more/) – _Carl Beekhuizen, 18 mei 2021_ ### Voetteksten en bronnen {#footnotes-and-sources} -Dit verklaart waarom we onze energieramingen van bovenaf hebben bereikt. Deze schattingen gelden voor het netwerk als geheel en zijn niet alleen voorbehouden voor het creëren van NFTs en het kopen of verkopen ervan. +Dit verklaart hoe we zijn gekomen tot onze bovenstaande energieschattingen. Deze schattingen gelden voor het netwerk als geheel en zijn niet alleen voorbehouden voor het proces van creëren, kopen en verkopen van NFT's. -#### 1. 99.95% energie zuiniger minen {#fn-1} +#### 1. 99.95% energiezuiniger minen {#fn-1} De vermindering van het energieverbruik met 99,95% van een door mining beveiligd systeem naar een door staking beveiligd systeem, wordt berekend met behulp van de volgende gegevensbronnen: -- 44,49 TWh van jaarlijkse elektrische energie wordt verbruikt door Ethereum te minen - [Digiconomist](https://digiconomist.net/ethereum-energy-consumption) +- 44,49 TWh jaarlijkse elektrische energie wordt verbruikt door het minen van Ethereum - [Digiconomist](https://digiconomist.net/ethereum-energy-consumption) -- De gemiddelde desktop computer, alles wat nodig is om proof-of-stake, gebruikt 0. 6kWh energie per uur - [Silicon Valley power chart](https://www.siliconvalleypower.com/residents/save-energy/appliance-energy-use-chart) (Naar schatting ligt de energiehoeveelheid iets hoger bij 0.15kWh) +- De gemiddelde desktopcomputer, alles wat nodig is om proof-of-stake uit te voeren, gebruikt 0,06 kWh energie per uur - [Silicon Valley-elektriciteitsgrafiek](https://www.siliconvalleypower.com/residents/save-energy/appliance-energy-use-chart) (Sommige schattingen zijn iets hoger, 0,15 kWh) -Op het moment van schrijven zijn er 140 592 validatoren van 16 405 unieke adressen. Daarvan worden er thuis 87 897 validatoren geacht vanuit te worden geschorst. +Op het moment van schrijven zijn er 140.592 validators vanaf 16.405 unieke adressen. Aangenomen wordt dat daarvan 87.897 validators staken vanuit huis. -Men gaat ervan uit dat de gemiddelde personele staf van huis een 100 horloge persoonlijke computer setup gebruikt om een gemiddelde van 5,4 validator clients te draaien. +Men gaat ervan uit dat de gemiddelde persoon die staket vanuit huis een persoonlijke desktopcomputer van 100 Watt gebruikt om een gemiddelde van 5,4 validator-clients te draaien. -De 87 897 validatoren van huis geven ons 16 300 gebruikers die ~1,64 megawatt aan energie verbruiken. +De 87.897 validators die staken vanuit huis geven ons 16.300 gebruikers die circa 1,64 megawatt aan energie verbruiken. -De rest van de validatoren wordt geleid door medewerkers van de beurzen en stakingsdiensten. Men kan ervan uitgaan dat zij 100 W per 5,5 validatoren gebruiken. Dit is een grove overschatting om aan de veilige kant te staan. +De rest van de validators wordt uitgevoerd door bewaring-stakers zoals exchanges en staking-diensten. Men kan ervan uitgaan dat zij 100 W per 5,5 validators gebruiken. Dit is een grove overschatting om aan de veilige kant te blijven. -In totaal verbruikt Ethereum over proof-of-stake daarom iets op de rij van 2.62 megawatt, wat ongeveer hetzelfde is als een kleine Amerikaanse stad. +In totaal verbruikt Ethereum op basis van proof-of-stake daarom iets in de trant van 2,62 megawatt, wat ongeveer hetzelfde is als een kleine Amerikaanse stad. -Dit is een vermindering van het totale energieverbruik met ten minste 99,95% ten opzichte van de Digiconomistische schatting van 44. 4 TWh per jaar die de Ethereum-miners momenteel gebruiken. +Dit is een vermindering van het totale energieverbruik met ten minste 99,95% ten opzichte van de schatting van de Digiconomist van 44,4 TWh per jaar die de Ethereum-miners momenteel verbruiken. #### 2. Energieverbruik van Visa {#fn-2} -De kosten van 100, 00 Visa-transacties is 149 kwH - [Bitcoin netwerk gemiddeld energieverbruik per transactie in vergelijking met het VISA-netwerk vanaf 2020, Statiste](https://www.statista.com/statistics/881541/bitcoin-energy-consumption-transaction-comparison-visa/) +De kosten van 100.000 Visa-transacties is 149 kwH - [Gemiddeld energieverbruik van Bitcoin-netwerk per transactie in vergelijking met het VISA-netwerk vanaf 2020, Statista](https://www.statista.com/statistics/881541/bitcoin-energy-consumption-transaction-comparison-visa/) -Jaarlijkse september 2020 verwerkten ze 140,839,000.000 transacties - [Visumfinanciën verslag Q4 2020](https://s1.q4cdn.com/050606653/files/doc_financials/2020/q4/Visa-Inc.-Q4-2020-Operational-Performance-Data.pdf) +In het jaar eindigend in september 2020 verwerkten ze 140.839.000.000 transacties - [Financiaal verslag K4 2020 van Visa](https://s1.q4cdn.com/050606653/files/doc_financials/2020/q4/Visa-Inc.-Q4-2020-Operational-Performance-Data.pdf) -#### 3. Energieverbruik voor 100.000 transacties op een netwerk, dat is verdeeld over proof-of-stake {#fn-3} +#### 3. Energieverbruik voor 100.000 transacties op een geshard proof-of-stake netwerk {#fn-3} -Geschat wordt dat upgrades voor schaalbaarheid het netwerk toestaan om tussen de 25.000 en 100 te verwerken 00 transacties per seconde, met [100.000 als het theoretische maximum op dit moment](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698). +Geschat wordt dat upgrades voor schaalbaarheid het netwerk toestaan om tussen de 25.000 en 100.000 transacties per seconde te verwerken, met [100.000 als het theoretische maximum op dit moment](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698). -[Vitalik Buterin op transacties per seconde potentieel met delen](https://twitter.com/VitalikButerin/status/1312905884549300224) +[Vitalik Buterin over het potentieel voor transacties per seconde met sharding](https://twitter.com/VitalikButerin/status/1312905884549300224) -Op het absolute minimum is het bij het verdelen van transacties 64 keer zo hoog als nu het geval is bij ongeveer 15 transacties. Dat is de hoeveelheid windketens (extra gegevens en capaciteit) die wordt geïntroduceerd. [Meer over shard chains](/upgrades/shard-chains/) +Minimaal zal sharding 64 keer de hoeveelheid transacties van vandaag de dag toestaan, die momenteel op ongeveer 15 transacties staat. Dat is de hoeveelheid shardketens (extra gegevens en capaciteit) die wordt geïntroduceerd. [Meer over shardketens](/upgrades/shard-chains/) -Dat betekent dat we kunnen inschatten hoe lang het zal duren om 100.000 transacties te verwerken zodat we het kunnen vergelijken met het bovenstaande Visa. +Dat betekent dat we kunnen inschatten hoelang het zal duren om 100.000 transacties te verwerken zodat we het kunnen vergelijken met het bovenstaande voorbeeld van Visa. - `15 * 64 = 960` transacties per seconde. -- `100.000 / 25.000 = 104.2` seconden voor het verwerken van 100.000 transacties. +- `100.000 / 960 = 104,2` seconden voor het verwerken van 100.000 transacties. -In 104.2 seconden zal het Ethereum-netwerk de volgende hoeveelheid energie gebruiken: +In 104,2 seconden zal het Ethereum-netwerk de volgende hoeveelheid energie gebruiken: -`1.44kWh dagelijks gebruik * 10.000 netwerkknooppunten = 14,400kWh` per dag. +`1,44 kWh dagelijks gebruik * 10.000 netwerknodes = 14.400 kWh` per dag. -Er zijn 86.400 seconden in een dag, dus `14,400 / 86.400 = 0.1667 kWh` per seconde. +Er zijn 86.400 seconden in een dag, dus `14.400 / 86.400 = 0,1666666667 kWh` per seconde. -Als we dat vermenigvuldigen met de hoeveelheid tijd die het kost om 100.000 transacties te verwerken: `0.1666666667 * 104.2 = 17.3666666701 kWh`. +Als we dat vermenigvuldigen met de hoeveelheid tijd die het kost om 100.000 transacties te verwerken: `0.1666666667 * 104,2 = 17,3666666701 kWh`. -Dat is **11,6554809866%** van de energie die wordt verbruikt door hetzelfde bedrag aan visumtransacties. +Dat is **11,6554809866%** van de energie die wordt verbruikt door dezelfde hoeveelheid Visa-transacties. -En vergeet niet dat dit gebaseerd is op het minimum aantal transacties dat Ethereum per seconde zal kunnen verwerken. Als Ethereum zijn potentieel van 100.000 transacties per seconde bereikt, zouden 100.000 transacties 0,16666667kWh. +En vergeet niet dat dit gebaseerd is op het minimum aantal transacties dat Ethereum per seconde zal kunnen verwerken. Als Ethereum zijn potentieel van 100.000 transacties per seconde bereikt, zouden 100.000 transacties 0,1666666667 kWh verbruiken. -Met andere woorden, als Visa 140.839,000.000 transacties afhandelt ten koste van 149 kWh per 100,000 transacties zijn 209.850,110 kWh-energie verbruikt voor het jaar. +Met andere woorden, als Visa 140.839.000.000 transacties afhandelt waarbij 149 kWh verbruikt wordt per 100.000 transacties, is dat 209.850.110 kWh aan energie verbruikt voor het jaar. -Ethereum in één jaar verbruikt 5.256.000 kWh. Met een potentieel van 788,940.000 - 3.153.000.000 - in die tijd verwerkte transacties. +Ethereum in één jaar verbruikt 5.256.000 kWh. Met een potentieel van 788.940.000.000 - 3.153.600.000.000 transacties verwerkt in die tijd. - Als je denkt dat deze statistieken onjuist zijn of nauwkeuriger kunnen worden gemaakt, maak dan a.u.b een issue of PR. Dit zijn schattingen van het ethereum.org team dat is gemaakt met publiek toegankelijke informatie en de huidige Ethereum roadmap. Deze verklaringen vertegenwoordigen geen officiële belofte van de Ethereum Foundation. + Als u denkt dat deze statistieken onjuist zijn of nauwkeuriger kunnen worden gemaakt, meld dan een probleem of PR. Dit zijn schattingen van het ethereum.org-team die zijn gemaakt met publiek toegankelijke informatie en het geplande Ethereum-ontwerp. Dit is geen officiële belofte van de Ethereum Foundation. diff --git a/src/content/translations/nl/security/index.md b/src/content/translations/nl/security/index.md index 9f116dd7c9a..ff7f4e90aae 100644 --- a/src/content/translations/nl/security/index.md +++ b/src/content/translations/nl/security/index.md @@ -168,7 +168,7 @@ Veel Ethereum-portemonnees bieden limieten aan bescherming tegen het leeglopen v Scammers zijn altijd op zoek naar manieren om uw geld te stelen. Het is onmogelijk om de zwendelpraktijken volledig te stoppen, maar we kunnen ze minder effectief maken door ons bewust te zijn van de meeste gebruikte technieken. Er zijn veel variaties van deze oplichters, maar over het algemeen volgen ze dezelfde patronen van hoog niveau. Onthoud in elk geval: - wees altijd sceptisch -- niemand zal u gratis of afgeprijsd ETH geven! +- niemand zal u gratis of afgeprijsd ETH geven - niemand heeft toegang nodig tot uw privé-sleutels of persoonlijke informatie ### Giveaway-scam {#giveaway} From 8a79c0e765a971f6ce77eae594fd1578fd14beb7 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 12 May 2022 14:48:26 -0700 Subject: [PATCH 129/167] ru Upgrades content latest from Crowdin --- src/content/translations/ru/eips/index.md | 67 +++++ .../ru/upgrades/beacon-chain/index.md | 22 +- .../translations/ru/upgrades/merge/index.md | 34 ++- .../ru/upgrades/shard-chains/index.md | 42 ++-- .../ru/page-staking-deposit-contract.json | 20 +- src/intl/ru/page-staking.json | 55 ++-- ...page-upgrades-get-involved-bug-bounty.json | 73 +++--- src/intl/ru/page-upgrades-get-involved.json | 45 ++-- src/intl/ru/page-upgrades-index.json | 234 ++++++++++-------- src/intl/ru/page-upgrades-vision.json | 83 ++++--- src/intl/ru/page-upgrades.json | 4 +- 11 files changed, 402 insertions(+), 277 deletions(-) create mode 100644 src/content/translations/ru/eips/index.md diff --git a/src/content/translations/ru/eips/index.md b/src/content/translations/ru/eips/index.md new file mode 100644 index 00000000000..f44eaada3b4 --- /dev/null +++ b/src/content/translations/ru/eips/index.md @@ -0,0 +1,67 @@ +--- +title: Предложения по улучшению Ethereum (EIP) +description: Основная информация, необходимая для понимания предложений по улучшению Ethereum (EIP). +lang: ru +sidebar: true +--- + +# Знакомство с предложениями по улучшению Ethereum (EIP) {#introduction-to-ethereum-improvement-proposals-eips} + +## Что такое EIP? {#what-are-eips} + +[Предложения по улучшению Ethereum (EIP)](https://eips.ethereum.org/) — это стандарты, определяющие потенциальные новые функции или процессы для Ethereum. EIP содержат технические спецификации предполагаемых изменений и служат «источником правды» для сообщества. Новые возможности сети и стандарты Ethereum обсуждается и разрабатываются через процесс EIP. + +Каждый участник сообщества Ethereum может создавать EIP. Рекомендации по написанию EIP включены в [EIP 1](https://eips.ethereum.org/EIPS/eip-1). В EIP должна содержаться краткая техническая спецификация функции и ее обоснование. Автор EIP отвечает за достижение консенсуса в сообществе и документирование имеющихся разногласий. Исторически сложилось, что авторами большинства EIP были разработчки ядра приложения и протокола сети блокчейна, потому что только у них был необходимый уровень технических знаний и навыков для оформлления качественного описания. + +## Почему важны EIP? {#why-do-eips-matter} + +EIP играют центральную роль в том, как изменения происходят и документируются в Ethereum. Они позволяют людям предлагать, обсуждать и внедрять изменения. Существуют [различные типы EIP](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md#eip-types), включая базовые EIP для низкоуровневых изменений протокола, которые влияют на консенсус и требуют обновления сети, а также ERC для стандартов приложений. Например, стандарты для создания токенов, такие как [ERC20](https://eips.ethereum.org/EIPS/eip-20) или [ERC721](https://eips.ethereum.org/EIPS/eip-721), позволяют приложениям, взаимодействующим с этими токенами, обрабатывать все токены по одним и тем же правилам, что упрощает создание совместимых приложений. + +Каждое обновление сети состоит из набора EIP, которые должны быть реализованы каждым [клиентом Ethereum](/learn/#clients-and-nodes) в сети. Это означает, что для достижения консенсуса с другими клиентами в основной сети Ethereum разработчики клиентов должны убедиться, что все они реализовали необходимые EIP. + +Наряду с предоставлением технической спецификации для изменений, EIP — это единица, вокруг которой происходит управление в Ethereum: любой может предложить EIP, а затем различные заинтересованные стороны в сообществе обсудят, следует ли принять EIP в качестве стандарта или включить его в обновление сети. Поскольку неосновные EIP не обязательно должны быть приняты всеми приложениями (например, вы можете создать-[токен, отличный от ERC20n](https://eips.ethereum.org/EIPS/eip-20)), но основные EIP должны широко применяться (поскольку все узлы должны обновляться, чтобы оставаться частью одной сети), основные EIP требуют более широкого согласия внутри сообщества, чем неосновные EIP. + +## История EIP {#history-of-eips} + +[Репозиторий предложений по улучшению Ethereum (EIP) на GitHub](https://github.com/ethereum/EIPs) был создан в октябре 2015 года. Процесс EIP основан на [предложениях по улучшению Bitcon (BIP)](https://github.com/bitcoin/bips), который, в свою очередь, основан на [предложениях по улучшению Python (PEP)](https://www.python.org/dev/peps/). + +Редакторам EIP поручено проверять EIP на предмет технической обоснованности, правильности написания, грамматики и стиля кода. Мартин Бече, Виталик Бутерин, Гэвин Вуд и некоторые другие были первыми редакторами EIP с 2015 по конец 2016 года. Текущие редакторы EIP: + +- Алекс Берегсази (EWASM, Ethereum Foundation) +- Грег Колвин (Сообщество) +- Кейси Детрио (EWASM, Ethereum Foundation) +- Мэтт Гарнетт (Quilt) +- Хадсон Джеймс (Ethereum Foundation) +- Ник Джонсон (ENS) +- Ник Сэверс (Сообщество) +- Мика Золту (Сообщество) + +Редакторы EIP вместе с членами сообщества [Ethereum Cat Herders](https://ethereumcatherders.com/) и [Ethererum Magicians](https://ethereum-magicians.org/) решают, какие EIP будут внедрены, несут ответственность за налаживание EIP, а также за перевод EIP на этап «Завершение» или «Отозвано». + +Полный процесс стандартизации вместе с диаграммой описан в [EIP-1](https://eips.ethereum.org/EIPS/eip-1) + +## Узнать больше {#learn-more} + +Если вам интересно узнать больше об EIP, посетите [сайт EIP](https://eips.ethereum.org/), где вы сможете найти дополнительную информацию, в том числе: + +- [Различные типы EIP](https://eips.ethereum.org/) +- [Список всех созданных EIP](https://eips.ethereum.org/all) +- [Статусы EIP и их значение](https://eips.ethereum.org/) + +## Участвуйте {#participate} + +Любой может создать EIP или ERC, однако вам следует прочитать [EIP-1](https://eips.ethereum.org/EIPS/eip-1), где описывается процесс EIP, что такое EIP, типы EIP, что должен содержать документ EIP, формат и шаблон EIP, список редакторов EIP и все, что вам нужно знать об EIP перед созданием. Ваше новое EIP должно определять новую функцию, которая на самом деле не сложна для реализации, но и не слишком проста и может использоваться в проектах экосистемы Ethereum. Самая сложная часть — это содействие, где вам как автору необходимо помогать людям в связи со своим EIP, собирать отзывы, писать статьи с описанием проблем, которые решает ваше EIP, и сотрудничать с проектами для реализации вашего EIP. + +Если вам интересно следить за процессом обсуждения или делиться своим мнением об EIP, посетите [форум Ethereum Magicians](https://ethereum-magicians.org/), где EIP обсуждаются с сообществом. + +См. также: + +- [Как создать EIP](https://eips.ethereum.org/EIPS/eip-1) + +## Использованная литература {#references} + + + +Часть содержимого страницы предоставил Хадсон Джеймсон [Управление разработкой протокола Ethereum и координация обновления сети] (https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) + + diff --git a/src/content/translations/ru/upgrades/beacon-chain/index.md b/src/content/translations/ru/upgrades/beacon-chain/index.md index b296998bcdb..55073dfa14e 100644 --- a/src/content/translations/ru/upgrades/beacon-chain/index.md +++ b/src/content/translations/ru/upgrades/beacon-chain/index.md @@ -1,18 +1,18 @@ --- title: Beacon Chain -description: Узнайте о Beacon Chain - первом крупном обновлении Eth2 для Ethereum. +description: Узнайте о Beacon Chain — обновлении, которое представило Ethereum с доказательством владения (Proof-of-Stake). lang: ru template: upgrade sidebar: true image: ../../../../../assets/upgrades/core.png -summaryPoint1: Beacon Chain никак не изменит то, как мы сегодня используем Ethereum. -summaryPoint2: Эта технология будет координировать сеть. -summaryPoint3: Она внедрит в экосистему Ethereum доказательство владения. +summaryPoint1: Сеть Beacon Chain ничего не меняет в том Ethereum, который мы используем сегодня. +summaryPoint2: Она будет координировать работу сети, выступая в качестве уровня консенсуса. +summaryPoint3: Она ввела в экосистему Ethereum доказательство владения. summaryPoint4: В технических дорожных картах вы могли видеть это под названием «Фаза 0». --- - Beacon Chain запущена 1 декабря в полдень по UTC. Чтобы узнать больше, ознакомьтесь с данными. Если вы хотите помочь с проверкой цепочки, вы можете вложить свои ETH. + Запуск Beacon Chain выполнен 1 декабря 2020 года в полдень (UTC). Чтобы узнать больше, ознакомьтесь с данными. Если вы хотите помочь с проверкой цепочки, вы можете вложить свои ETH. ## Что делает Beacon Chain? {#what-does-the-beacon-chain-do} @@ -33,7 +33,7 @@ Beacon Chain вводит [доказательство владения](/devel Если вы хотите стать валидатором и принять участие в защите Beacon Chain, узнайте больше о стейкинге. -Это также важное изменение для другого обновления Eth2: [цепочек-осколков](/upgrades/shard-chains/). +Это также важное изменение для другого обновления: [цепочек осколков](/upgrades/shard-chains/). ### Настройка цепей-осколков {#setting-up-for-shard-chains} @@ -43,19 +43,23 @@ Beacon Chain вводит [доказательство владения](/devel ## Взаимосвязь между обновлениями {#relationship-between-upgrades} -Все обновления Eth2 в некотором роде взаимосвязаны. Поэтому резюмируем, как Beacon Chain влияет на другие улучшения. +Все обновления Ethereum в некоторой степени взаимосвязаны. Поэтому резюмируем, как Beacon Chain влияет на другие улучшения. ### Основная сеть и Beacon Chain {#mainnet-and-beacon-chain} Сначала Beacon Chain будет существовать отдельно от основной сети Ethereum, которую мы используем сегодня. Но в конечном счете они будут связаны. План состоит в том, чтобы «объединить» основную сеть с системой доказательства владения, которая контролируется и координируется с помощью Beacon Chain. -Слияние + + Слияние + ### Осколки и Beacon Chain {#shards-and-beacon-chain} Цепочки-осколки способны только на безопасный вход в экосистему Ethereum с механизмом консенсуса на основе доказательства владения. Beacon Chain вводит ставки, прокладывая путь к последующему обновлению с цепочками-осколками. -Цепочки-осколки + + Цепочки-осколки + diff --git a/src/content/translations/ru/upgrades/merge/index.md b/src/content/translations/ru/upgrades/merge/index.md index 5691f7b9174..cb94a283ba5 100644 --- a/src/content/translations/ru/upgrades/merge/index.md +++ b/src/content/translations/ru/upgrades/merge/index.md @@ -1,6 +1,6 @@ --- title: Слияние -description: "Узнайте о слиянии: когда основная сеть Ethereum присоединяется к скоординированной системе доказательства владения Beacon Chain." +description: "Узнайте о слиянии: когда Ethereum присоединяется к скоординированной системе доказательства владения Beacon Chain." lang: ru template: upgrade sidebar: true @@ -12,12 +12,12 @@ summaryPoint4: Раньше мы называли это «стыковкой». --- - Это обновление последует за появлением цепочек-осколков. Но именно в этот момент видение Eth2 становится полностью реализованным – больше универсальности, безопасности и устойчивости с поддержкой вложений для всей сети. + Это обновление представляет собой официальный переход к консенсусу по доказательству владения. Это устраняет необходимость в энергоемком майнинге и вместо этого защищает сеть с помощью поставленного эфира. По-настоящему захватывающий шаг в реализации концепции Ethereum — большей масштабируемости, безопасности и устойчивости. ## Что такое слияние? {#what-is-the-docking} -Важно помнить, что изначально [Beacon Chain](/upgrades/beacon-chain/) работает отдельно от [основной сети](/glossary/#mainnet), которую мы используем сегодня. Основная сеть Ethereum будет по-прежнему защищена [доказательством работы](/developers/docs/consensus-mechanisms/pow/), даже когда Beacon Chain будет работать параллельно, используя [доказательство владения](/developers/docs/consensus-mechanisms/pos/). Слияние произойдет, когда эти две системы в конечном счете объединятся. +Важно помнить, что изначально [Beacon Chain](/upgrades/beacon-chain/) работает отдельно от [основной сети](/glossary/#mainnet), которую мы используем сегодня. Основная сеть Ethereum будет по-прежнему защищена [доказательством работы](/developers/docs/consensus-mechanisms/pow/), даже когда Beacon Chain будет работать параллельно, используя [доказательство владения](/developers/docs/consensus-mechanisms/pos/). Слияние — это процесс объединения этих двух систем. Представьте себе, что Ethereum - это космический корабль, который еще не совсем готов к межзвездному путешествию. С помощью Beacon Chain сообщество построило новый двигатель и прочный корпус. Когда придет время, нынешний корабль состыкуется с этими новыми системами, сливаясь в один корабль, готовый пройти внушительное количество световых лет и покорить вселенную. @@ -29,32 +29,40 @@ summaryPoint4: Раньше мы называли это «стыковкой». ## После слияния {#after-the-merge} -Это будет означать конец использования доказательства работы в Ethereum и начало эры более устойчивой, экологически чистой технологии Ethereum. К тому моменту Ethereum будет на один шаг ближе к достижению полного масштаба, безопасности и устойчивости, изложенных в его [концепции Eth2](/upgrades/vision/). +Это будет означать конец использования доказательства работы в Ethereum и начало эры более устойчивой, экологически чистой технологии Ethereum. В этот момент Ethereum станет на шаг ближе к полному достижению масштабируемости, безопасности и устойчивости, о которых говорится в [концепции Ethereum](/upgrades/vision/). -Важно отметить, что целью реализации слияния является простота, чтобы ускорить переход от доказательства работы к доказательству владения. Разработчики сосредотачивают свои усилия на этом переходе и сводят к минимуму дополнительные функции, которые могут задержать достижение этой цели. +Важно отметить, что целью реализации слияния является простота, которая ускорит переход от доказательства работы к доказательству владения. Разработчики сосредотачивают свои усилия на этом переходе и сводят к минимуму дополнительные функции, которые могут задержать достижение этой цели. **Это означает, что некоторым функциям, таким как возможность вывода поставленных ETH, придется немного подождать после завершения слияния. **Планы после слияния включают обновление с «очисткой» для запуска этих функций, которое, как ожидается, произойдет очень скоро после завершения слияния. ## Взаимосвязь между обновлениями {#relationship-between-upgrades} -Все обновления Eth2 в некотором роде взаимосвязаны. Итак, давайте вспомним, как слияние связано с другими обновлениями. +Все обновления Ethereum в некоторой степени взаимосвязаны. Итак, давайте вспомним, как слияние связано с другими обновлениями. ### Слияние и Beacon Chain {#docking-and-beacon-chain} -Как только произойдет слияние, будут назначены валидаторы для проверки основной сети Ethereum. [Майнинг](/developers/docs/consensus-mechanisms/pow/mining/) больше не потребуется, поэтому майнерам будет выгоднее инвестировать свой заработок в долю в новой системе доказательства владения. +Как только произойдет слияние, проверкой основной сети Ethereum начнут заниматься стейкеры. [Майнинг](/developers/docs/consensus-mechanisms/pow/mining/) больше не потребуется, поэтому майнерам будет выгоднее инвестировать свой заработок в долю в новой системе доказательства владения. -Beacon Chain + + Beacon Chain + ### Слияние и очистка после слияния {#merge-and-post-merge-cleanup} Сразу после слияния некоторые функции, такие как снятие ставок ETH, еще не будут поддерживаться. Для этого планируется отдельное обновление вскоре после слияния. -Будьте в курсе последних событий в [блоге об исследованиях и разработках EF](https://blog.ethereum.org/category/research-and-development/). Для тех, кому интересно: узнайте больше о том, [что произойдет после слияния](https://youtu.be/7ggwLccuN5s?t=101), из презентации Виталика в апреле 2021 года на мероприятии ETHGlobal. +Следите за последними новостями в [блоге об исследованиях и разработках EF](https://blog.ethereum.org/category/research-and-development/). Для тех, кому интересно: узнайте больше о том, [что произойдет после слияния](https://youtu.be/7ggwLccuN5s?t=101), из презентации Виталика в апреле 2021 года на мероприятии ETHGlobal. -### Слияние и цепочки-осколки {#docking-and-shard-chains} +### Слияние и цепочки осколков {#docking-and-shard-chains} -Первоначально планировалось поработать над цепочками-осколками до слияния, чтобы решить проблему масштабируемости. Однако с появлением [решений для масштабирования уровня 2](/developers/docs/scaling/#layer-2-scaling) приоритет сместился на замену доказательства работы доказательством владения через слияние. +Первоначально планировалось поработать над цепочками осколков до слияния, чтобы решить проблему масштабируемости. Однако с появлением [решений для масштабирования уровня 2](/developers/docs/scaling/#layer-2-scaling) приоритет сместился на замену доказательства работы доказательством владения через слияние. -Это будет постоянная оценка сообщества относительно необходимости потенциально нескольких раундов цепочек-осколков, чтобы обеспечить бесконечную масштабируемость. +Это будет постоянная оценка сообщества относительно необходимости потенциально нескольких раундов цепочек осколков, чтобы обеспечить бесконечную масштабируемость. -Цепочки-осколки + + Цепочки-осколки + + +## Подробнее {#read-more} + + diff --git a/src/content/translations/ru/upgrades/shard-chains/index.md b/src/content/translations/ru/upgrades/shard-chains/index.md index 6a202e7137c..e0623a91061 100644 --- a/src/content/translations/ru/upgrades/shard-chains/index.md +++ b/src/content/translations/ru/upgrades/shard-chains/index.md @@ -6,13 +6,13 @@ template: upgrade sidebar: true image: ../../../../../assets/upgrades/newrings.png summaryPoint1: Шардинг — это многофазное обновление, нацеленное на улучшение масштабируемости и емкости Ethereum. -summaryPoint2: Цепочки-осколки распределяют нагрузку сети по 64 новым цепочками. -summaryPoint3: Это упрощает запуск узла, поддерживая требования к системе на низком уровне. +summaryPoint2: Цепочки осколков обеспечивают дополнительные дешевые слои хранения данных для приложений и свертки для хранения данных. +summaryPoint3: Они позволяют использовать решения второго слоя, предлагающие низкие комиссии за транзакции при использовании безопасности Ethereum. summaryPoint4: Это обновление запланировано на время после слияния основной сети с Beacon Chain. --- - Цепочки-осколки должны быть запущены где-то в 2023 году в зависимости от того, как быстро продвигается работа после запуска Beacon Chain. Эти осколки дадут Ethereum больше возможностей для хранения и доступа к данным, но они не будут использоваться для выполнения кода. Подробности пока прорабатываются. + Цепочки осколков должны быть запущены где-то в 2023 году в зависимости от того, как быстро будет продвигаться работа после слияния. Эти осколки дадут Ethereum больше возможностей для хранения и доступа к данным, но они не будут использоваться для выполнения кода. ## Что такое шардинг? {#what-is-sharding} @@ -31,12 +31,12 @@ summaryPoint4: Это обновление запланировано на вр Шардинг в конечном итоге позволит вам запускать Ethereum на личном ноутбуке или телефоне. Таким образом, больше людей должны иметь возможность участвовать или запускать [клиенты](/developers/docs/nodes-and-clients/) в сегментированном Ethereum. Это повысит безопасность, потому что чем более децентрализована сеть, тем меньше площадь поверхности атаки. -При более низких требованиях к оборудованию шардинг упростит запуск [клиентов](/developers/docs/nodes-and-clients/) самостоятельно, не полагаясь вообще ни на какие посреднические услуги. И если вы можете, подумайте о запуске нескольких клиентов. Это может улучшить работоспособность сети за счет дальнейшего сокращения точек сбоя. [Запустите клиент Eth2](/upgrades/get-involved/) +При более низких требованиях к оборудованию шардинг упростит запуск [клиентов](/developers/docs/nodes-and-clients/) самостоятельно, не полагаясь вообще ни на какие посреднические услуги. И если вы можете, подумайте о запуске нескольких клиентов. Это может улучшить работоспособность сети за счет дальнейшего сокращения точек сбоя. [Запуск клиента Beacon Chain](/upgrades/get-involved/)
- Во-первых, вам нужно запустить клиент основной сети в то же время, как и ваш клиент для eth2. Панель запуска проведет вас через требования к оборудованию и процесс. В качестве альтернативы вы можете использовать внутренний интерфейс API. + Сначала вам нужно будет запустить клиент основной сети одновременно с клиентом Beacon Chain. Панель запуска проведет вас через требования к оборудованию и процесс. В качестве альтернативы вы можете использовать внутренний API. ## Цепочки-осколки версии 1: доступность данных {#data-availability} @@ -48,34 +48,36 @@ summaryPoint4: Это обновление запланировано на вр Недавний прогресс в исследованиях и разработке решений для масштабирования второго уровня побудил отдать приоритет обновлению со слиянием перед цепочками-осколками. Они будут в центре внимания после перехода основной сети на доказательство владения. -[Подробнее о сворачивании](/developers/docs/scaling/#rollups) +[Подробнее о свертках](/developers/docs/scaling/#rollups) ## Цепочки-осколки версии 2: выполнение кода {#code-execution} -План всегда состоял в том, чтобы добавить дополнительную функциональность осколкам и сделать их более похожими на [основную сеть Ethereum](/glossary/#mainnet) сегодня. Это позволит им хранить и исполнять умные контракты и обрабатывать учетные записи. Но учитывая увеличение количества транзакций в секунду, которое обеспечивают цепочки-осколки версии 1, нужно ли это до сих пор? Это все еще обсуждается в сообществе, и, похоже, есть несколько вариантов. +План всегда состоял в том, чтобы добавить дополнительную функциональность осколкам и сделать их более похожими на [основную сеть Ethereum](/glossary/#mainnet) сегодня. Это позволит им хранить и выполнять код и обрабатывать транзакции, так как каждый осколок будет содержать свой уникальный набор смарт-контрактов и балансов счетов. Коммуникация между осколками позволит выполнять транзакции между ними. + +Но учитывая увеличение количества транзакций в секунду, которое обеспечивают цепочки осколков версии 1, требуется ли это до сих пор? В сообществе все еще обсуждается этот вопрос, и, похоже, существует несколько вариантов. ### Нужны ли осколки для выполнения кода? {#do-shards-need-code-execution} -Виталик Бутерин в подкасте Bankless представил три потенциальных варианта, которые стоит обсудить. +Виталик Бутерин в разговоре с подкастом Bankless представил три потенциальных варианта, которые стоит обсудить. #### 1. Исполнение состояния не требуется {#state-execution-not-needed} -Это означало бы, что мы не даем осколкам возможности обрабатывать умные контракты и оставляем их в качестве хранилищ данных. +Это означало бы, что мы не даем осколкам возможности обрабатывать смарт-контракты и оставляем их в качестве хранилищ данных. #### 2. Иметь несколько исполнительных осколков {#some-execution-shards} -Возможно, есть компромисс, когда нам не нужно, чтобы все осколки были умными (64 запланированы прямо сейчас). Мы могли бы просто добавить эту функциональность нескольким, а остальные оставить как есть. Это может ускорить запуск. +Возможно, есть компромисс, когда нам не нужно, чтобы все осколки были умными (64 запланировано прямо сейчас). Мы могли бы просто добавить эту функциональность к нескольким, а остальные оставить как есть. Это может ускорить запуск. #### 3. Подождать, пока мы не сможем сделать СНАРКи с нулевым разглашением {#wait-for-zk-snarks} -Наконец, возможно, нам следует вернуться к этой дискуссии после более полной реализации технологии ZK-SNARK. Это технология, которая может помочь принести действительно конфиденциальные транзакции в сеть. Вполне вероятно, что им потребуются более умные осколки, но они все еще находятся на стадии исследований и разработок. +Наконец, возможно, нам следует вернуться к этой дискуссии после более полной реализации технологии ZK-SNARK. Это технология, которая может помочь принести действительно конфиденциальные транзакции в сеть. Вполне вероятно, что им потребуются более умные осколки, но они все еще находятся в стадии исследований и разработок. #### Другие источники {#other-sources} -Вот еще несколько мыслей в том же направлении. +Вот еще несколько мыслей в том же духе. - [Фаза первая и готово: Eth2 как механизм доступности данных](https://ethresear.ch/t/phase-one-and-done-eth2-as-a-data-availability-engine/5269/8) – _cdetrio, ethresear.ch_ @@ -83,23 +85,25 @@ summaryPoint4: Это обновление запланировано на вр ## Взаимосвязь между обновлениями {#relationship-between-upgrades} -Все обновления Eth2 в некотором роде взаимосвязаны. Итак, давайте вспомним, как цепочки-осколки связаны с другими обновлениями. +Все обновления Ethereum в некоторой степени взаимосвязаны. Итак, давайте вспомним, как цепочки осколков связаны с другими обновлениями. ### Осколки и Beacon Chain {#shards-and-beacon-chain} -Beacon Chain содержит всю логику для обеспечения безопасности и синхронизации осколков. Beacon Chain будет координировать дольщиков в сети, распределяя их по осколкам, над которыми они должны работать. И она также облегчит связь между осколками, получая и храня данные транзакций в цепочках-осколках, доступные другим осколкам. Это даст осколкам моментальный снимок состояния в сети Ethereum, чтобы держать все в актуальном состоянии. +Beacon Chain содержит всю логику для обеспечения безопасности и синхронизации осколков. Beacon Chain будет координировать дольщиков в сети, распределяя их по осколкам, над которыми они должны работать. И она также облегчит связь между осколками, получая и храня данные транзакций в цепочках осколков, доступные другим осколкам. Это даст осколкам моментальный снимок состояния в сети Ethereum, чтобы держать все в актуальном состоянии. -Beacon Chain + + Beacon Chain + ### Осколки и слияние {#shards-and-docking} -К тому времени, когда будут добавлены дополнительные осколки, основная сеть Ethereum уже будет защищена с помощью Beacon Chain и с использованием доказательства владения. Это позволит использовать основную сеть для построения цепочек-осколков на основе решений второго уровня, которые повышают масштабируемость. +К тому времени, когда будут добавлены дополнительные осколки, основная сеть Ethereum уже будет защищена с помощью Beacon Chain и с использованием доказательства владения. Это позволит использовать основную сеть для построения цепочек осколков на основе решений второго уровня, которые повышают масштабируемость. Пока неясно, будет ли основная сеть существовать как единственный «умный» осколок, способный выполнять код, но в любом случае решение о расширении осколков может быть пересмотрено по мере необходимости. -
- Слияние -
+ + Слияние + diff --git a/src/intl/ru/page-staking-deposit-contract.json b/src/intl/ru/page-staking-deposit-contract.json index 736f9bcd625..8490e986ec9 100644 --- a/src/intl/ru/page-staking-deposit-contract.json +++ b/src/intl/ru/page-staking-deposit-contract.json @@ -1,27 +1,27 @@ { - "page-staking-deposit-contract-address": "Адрес контракта на депозит Eth2", + "page-staking-deposit-contract-address": "Адрес контракта на депозит для стейкинга", "page-staking-deposit-contract-address-caption": "Мы добавили пробелы, чтобы сделать адрес более удобным для чтения", "page-staking-deposit-contract-address-check-btn": "Проверить адрес контракта на депозит", - "page-staking-deposit-contract-checkbox1": "Я уже использовал(-а) панель запуска для настройки своего валидатора Eth2.", - "page-staking-deposit-contract-checkbox2": "Я понимаю, что мне нужно использовать панель запуска для вложения своих средств. Простой перевод на этот адрес ни к чему не приведет.", + "page-staking-deposit-contract-checkbox1": "Мной уже использована панель запуска для настройки валидатора Ethereum.", + "page-staking-deposit-contract-checkbox2": "Я понимаю, что мне нужно использовать панель запуска для вложения своих средств. Простого перевода на этот адрес недостаточно.", "page-staking-deposit-contract-checkbox3": "Я собираюсь проверить адрес контракта на депозит по другим источникам.", "page-staking-deposit-contract-confirm-address": "Подтвердите для раскрытия адреса", "page-staking-deposit-contract-copied": "Скопированный адрес", "page-staking-deposit-contract-copy": "Копировать адрес", "page-staking-deposit-contract-etherscan": "Просмотреть контракт на Etherscan", - "page-staking-deposit-contract-h2": "Это не то место, где вы делаете вклад", - "page-staking-deposit-contract-launchpad": "Сделать вклад с помощью панели запуска", + "page-staking-deposit-contract-h2": "Это не то место, где вы делаете ставку", + "page-staking-deposit-contract-launchpad": "Сделать ставку с помощью панели запуска", "page-staking-deposit-contract-launchpad-2": "Использовать панель запуска", - "page-staking-deposit-contract-meta-desc": "Проверьте адрес контакта на депозит для стейкинга Eth2.", - "page-staking-deposit-contract-meta-title": "Адрес контракта на депозит Eth2", + "page-staking-deposit-contract-meta-desc": "Проверьте адрес контракта на депозит для размещения Ethereum.", + "page-staking-deposit-contract-meta-title": "Подтвердите адрес контракта на депозит", "page-staking-deposit-contract-read-aloud": "Прочитайте адрес вслух", "page-staking-deposit-contract-reveal-address-btn": "Раскрыть адрес", - "page-staking-deposit-contract-staking": " Чтобы вложить свои ETH в Eth2, вы должны использовать отдельный продукт launchpad (панель запуска) и следовать инструкциям. Отправка ETH на адрес этой страницы не сделает вас стейкером и приведет к ошибке транзакции.", + "page-staking-deposit-contract-staking": "Чтобы вложить свои ETH, вы должны использовать отдельную панель запуска и следовать инструкциям. Отправка ETH на адрес на этой странице не сделает вас стейкером и приведет к ошибке транзакции.", "page-staking-deposit-contract-staking-check": "Проверить эти источники", - "page-staking-deposit-contract-staking-check-desc": "Мы ожидаем, что там будет много поддельных адресов и мошенничества. Чтобы быть в безопасности, проверьте адрес Eth2, который вы используете на этой странице. Мы рекомендуем также проверить его с другими надежными источниками.", + "page-staking-deposit-contract-staking-check-desc": "Мы ожидаем, что будет много поддельных адресов и мошенничества. Чтобы быть в безопасности, сравните адрес контракта для ставки, который вы используете, с адресом на этой странице. Мы рекомендуем также проверить его и по другим надежным источникам.", "page-staking-deposit-contract-staking-more-link": "Подробнее о стейкинге", "page-staking-deposit-contract-stop-reading": "Остановить чтение", - "page-staking-deposit-contract-subtitle": " Адрес контракта на стейкинг Eth2. Используйте эту страницу, чтобы подтвердить отправку средств на правильный адрес.", + "page-staking-deposit-contract-subtitle": "Адрес контракта на стейкинг Ethereum. Используйте эту страницу, чтобы убедиться, что вы отправляете средства на правильный адрес при формировании ставки.", "page-staking-deposit-contract-warning": "Проверьте каждый символ внимательно.", "page-staking-deposit-contract-warning-2": "Отправка средств на этот адрес не будет работать и не сделает вас стейкером. Вы должны следовать инструкциям панели запуска." } diff --git a/src/intl/ru/page-staking.json b/src/intl/ru/page-staking.json index 1ceaf6ffbc8..9dd0d1a1ed5 100644 --- a/src/intl/ru/page-staking.json +++ b/src/intl/ru/page-staking.json @@ -1,21 +1,21 @@ { "page-staking-just-staking": "Стейкинг", - "page-staking-image-alt": "Изображение талисмана-носорога для панели запуска eth2.", + "page-staking-image-alt": "Изображение талисмана-носорога для панели запуска стейкинга.", "page-staking-51-desc-1": "Стейкинг делает присоединение к сети в качестве валидатора более доступным, поэтому вполне вероятно, что в сети будет большее количество валидаторов, чем существует сегодня. Это еще больше усложнит атаку такого рода, поскольку стоимость атаки увеличится.", - "page-staking-accessibility": "Более доступный", - "page-staking-accessibility-desc": "Благодаря более простым требованиям к оборудованию и возможности объединения в пул в случае, если у участника нет 32 ETH, все больше людей смогут присоединиться к сети. Это сделает Ethereum более децентрализованным и безопасным за счет уменьшения площади поверхности атаки.", - "page-staking-at-stake": "Ваши ETH на кону", - "page-staking-at-stake-desc": "Поскольку вы должны предоставить свои ETH в виде вложения, чтобы подтверждать транзакции и создавать новые блоки, вы можете потерять эти монеты, если попробуете обмануть систему.", - "page-staking-benefits": "Преимущества стейкинга в Ethereum", - "page-staking-check-address": "Проверить адреса депозита", + "page-staking-accessibility": "Большая доступность", + "page-staking-accessibility-desc": "Благодаря упрощению требований к аппаратному обеспечению и возможности объединить средства, если у вас нет 32 ETH, больше людей смогут присоединиться к сети. Это сделает Ethereum более децентрализованным и безопасным, уменьшив площадь атаки.", + "page-staking-at-stake": "Ваши ETH в качестве ставки", + "page-staking-at-stake-desc": "Поскольку вы должны предоставить свои ETH в виде ставки, чтобы подтверждать транзакции и создавать новые блоки, вы можете потерять эти монеты, если попробуете обмануть систему.", + "page-staking-benefits": "Преимущества стейкинга для Ethereum", + "page-staking-check-address": "Проверить адрес депозита", "page-staking-consensus": "Подробнее о механизмах консенсуса", "page-staking-deposit-address": "Проверить адрес депозита", "page-staking-deposit-address-desc": "Если вы уже выполнили инструкции по настройке на панели запуска, вы знаете, что вам нужно отправить транзакцию на контракт на депозит для стейкинга. Мы рекомендуем внимательно проверять адрес. Вы можете найти официальный адрес на ethereum.org и ряде других надежных сайтов.", "page-staking-desc-1": "Вознаграждение дается за действия, которые помогают сети достичь консенсуса. Вы получите вознаграждение за группирование транзакций в новый блок или проверку работы других валидаторов, потому что это то, что обеспечивает надежную работу цепочки.", "page-staking-desc-2": "Хотя вы можете получать вознаграждения за выполнение работы, которая приносит пользу сети, вы можете потерять ETH из-за злонамеренных действий, выхода из сети и отсутствия проверки.", - "page-staking-desc-3": "Вам понадобится 32 ETH, чтобы стать полноценным валидатором, или некоторое количество ETH, чтобы присоединиться к пулу стейкеров. Вам также потребуется запустить Eth1 или клиент основной сети. Панель запуска ознакомит вас с процессом и требованиями к оборудованию. В качестве альтернативы вы можете использовать внутренний API.", - "page-staking-description": "Стейкинг - это внесение 32 ETH для активации программного обеспечения валидатора. Как валидатор вы будете отвечать за хранение данных, обработку транзакций и добавление новых блоков в блокчейн. Это обеспечит безопасность Ethereum для всех и принесет вам новые ETH в процессе. Этот процесс, известный как доказательство владения, вводится с Beacon Chain.", - "page-staking-docked": "Подробнее о стыковке", + "page-staking-desc-3": "Вам потребуется 32 ETH, чтобы стать полноправным валидатором, или несколько ETH, чтобы присоединиться к пулу ставок. Вам также потребуется запустить клиент-исполнитель (в прошлом — «клиент Eth1»). На стартовой панели вы сможете ознакомиться с процессом и требованиями к оборудованию. В качестве альтернативы вы можете использовать внутренний API.", + "page-staking-description": "Стейкинг — это внесение 32 ETH для активации программного обеспечения валидатора. Как валидатор вы будете отвечать за хранение данных, обработку транзакций и добавление новых блоков в блокчейн. Это обеспечит безопасность Ethereum для всех и принесет вам новые ETH в процессе. Этот процесс, известный как доказательство владения, вводится с Beacon Chain.", + "page-staking-docked": "Подробнее о слиянии", "page-staking-dyor": "Ищите информацию самостоятельно", "page-staking-dyor-desc": "Ни одна из перечисленных служб стейкинга не одобрена официально. Обязательно проведите небольшое исследование, чтобы выяснить, какая служба может быть лучше для вас.", "page-staking-header-1": "Вложите свои ETH, чтобы стать валидатором Ethereum", @@ -24,39 +24,40 @@ "page-staking-how-to-stake-desc": "Все зависит от того, какое вложение вы хотите сделать. Вам понадобится 32 ETH, чтобы стать полноценным валидатором, но можно вложить меньше.", "page-staking-join": "Присоединиться", "page-staking-join-community": "Вступайте в сообщество стейкеров", - "page-staking-join-community-desc": "r/ethstaker - это сообщество, в котором каждый может обсудить стейкинг на Ethereum. Присоединяйтесь, чтобы получить совет, поддержку и обсудить все, что касается стейкинга.", - "page-staking-less-than": "Меньше, чем", + "page-staking-join-community-desc": "EthStaker — это сообщество, где каждый может обсудить и узнать о ставках на Ethereum. Присоединяйтесь к десяткам тысяч участников со всего мира, чтобы получать советы, поддержку и обсуждать все, что касается ставок.", + "page-staking-less-than": "Менее", "page-staking-link-1": "Просмотреть внутренние API", "page-staking-meta-description": "Обзор стейкинга Ethereum: риски, вознаграждения, требования и где это делать.", "page-staking-meta-title": "Стейкинг Ethereum", "page-staking-more-sharding": "Подробнее о шардинге", "page-staking-pool": "Стейкинг в пуле", "page-staking-pool-desc": "Если у вас меньше 32 ETH, вы сможете добавить меньшее количество монет в пулы стейкеров. Некоторые компании могут делать все это от вашего имени, поэтому вам не придется беспокоиться о том, чтобы оставаться в сети. Вот несколько компаний, с которыми стоит ознакомиться.", + "page-staking-rocket-pool": "Вы можете начать стейкинг в Rocket Pool, обменяв ETH на ликвидный токен Rocket Pool rETH всего за 0,01 ETH. Хотите запустить узел? Вы также можете запустить узел стейкинга на Rocket Pool, начиная с 16 ETH. Оставшийся ETH назначается протоколом Rocket Pool, и используя ETH, который пользователи вложили в пул.", "page-staking-pos-explained": "Объяснение доказательства владения", - "page-staking-pos-explained-desc": "Стейкинг - это то, что вам нужно делать, чтобы быть валидатором в системе доказательства владения. Это механизм консенсуса, который заменит существующую в настоящее время систему доказательства работы. Механизмы консенсуса - это то, что обеспечивает безопасность и децентрализацию таких блокчейнов, как Ethereum.", - "page-staking-pos-explained-desc-1": "Доказательство владения помогает защитить сеть несколькими способами:", - "page-staking-services": "Ознакомиться со службами стейкинга", - "page-staking-sharding": "Разблокирует шардинг", - "page-staking-sharding-desc": "Шардинг возможен только с системой доказательства владения. Шардинг в системе доказательства работы сократит количество вычислительных мощностей, необходимых для повреждения сети, что упростит злоумышленникам контроль над осколками. Дело обстоит иначе с выбранными случайным образом стейкерами в системе доказательства владения.", + "page-staking-pos-explained-desc": "Стейкинг — это то, что вам нужно делать, чтобы быть валидатором в системе доказательства владения. Это механизм консенсуса, который заменит существующую в настоящее время систему доказательства работы. Механизмы консенсуса — это то, что обеспечивает безопасность и децентрализацию таких блокчейнов, как Ethereum.", + "page-staking-pos-explained-desc-1": "Доказательство владения помогает защитить сеть несколькими способами.", + "page-staking-services": "Просмотреть все сервисы стейкинга", + "page-staking-sharding": "Разблокировка шардинга", + "page-staking-sharding-desc": "Шардинг возможен только в системе с доказательством владения. Шардинг в системе с доказательством работы уменьшает количество вычислительных мощностей, необходимых для повреждения сети, что облегчает злонамеренным майнерам контроль над осколками. Этого нельзя сказать о случайном назначении стейкхолдеров в системе с доказательством владения.", "page-staking-solo": "Занимайтесь стейкингом в одиночку и запускайте валидатор", - "page-staking-solo-desc": "Чтобы начать процесс стейкинга, вам нужно будет использовать панель запуска Eth2. Это поможет вам разобраться со всеми настройками. Частью стейкинга является управление клиентом Eth2, локальной копией блокчейна. Загрузка этой копии на ваш компьютер может занять некоторое время.", + "page-staking-solo-desc": "Чтобы начать процесс стейкинга, вам нужно использовать панель запуска стейкинга. Это поможет вам разобраться со всеми настройками. Частью стейкинга является запуск консенсус-клиента, который представляет собой локальную копию блокчейна. Загрузка этой копии на компьютер может занять некоторое время.", "page-staking-start": "Начните стейкинг", - "page-staking-subtitle": "Стейкинг - это общественное благо экосистемы Ethereum. Вы можете помочь защитить сеть и заработать вознаграждение в процессе.", - "page-staking-sustainability": "Более экологичный", - "page-staking-sustainability-desc": "Валидаторам не нужны энергоемкие компьютеры для участия в системе доказательство владения - только ноутбук или смартфон. Это делает Ethereum лучше для окружающей среды.", + "page-staking-subtitle": "Стейкинг — это общественное благо экосистемы Ethereum. Вы можете помочь защитить сеть и заработать вознаграждение в процессе.", + "page-staking-sustainability": "Большая экологичность", + "page-staking-sustainability-desc": "Валидаторам не нужны энергоемкие компьютеры, чтобы участвовать в системе с доказательством владения: достаточно ноутбука или смартфона. Это сделает Ethereum лучше для окружающей среды.", "page-staking-the-beacon-chain": "Подробнее о Beacon Chain", "page-staking-title-1": "Вознаграждения", "page-staking-title-2": "Риски", "page-staking-title-3": "Требования", "page-staking-title-4": "Как вложить свои ETH", "page-staking-upgrades-li": "Доказательством владения управляет Beacon Chain.", - "page-staking-upgrades-li-2": "В обозримом будущем Ethereum будет иметь Beacon Chain с доказательством владения и основную сеть с доказательством работы. Основная сеть - это Ethereum, которым мы пользовались все эти годы.", + "page-staking-upgrades-li-2": "В обозримом будущем Ethereum будет иметь Beacon Chain с доказательством владения и основную сеть с доказательством работы. Основная сеть — это Ethereum, которым мы пользовались все эти годы.", "page-staking-upgrades-li-3": "В течение этого времени стейкеры будут добавлять новые блоки в Beacon Chain, но не обрабатывать транзакции в основной сети.", - "page-staking-upgrades-li-4": "Ethereum полностью перейдет на систему доказательства владения, как только основная сеть Ethereum станет осколком.", - "page-staking-upgrades-li-5": "Только после этого вы сможете вывести свое вложение.", - "page-staking-upgrades-title": "Обновления доказательства владения и Eth2", + "page-staking-upgrades-li-4": "Ethereum полностью перейдет на систему доказательства владения после того, как основная сеть Ethereum объединится с Beacon Chain.", + "page-staking-upgrades-li-5": "Затем последует незначительное обновление, позволяющее вывести зарезервированные средства.", + "page-staking-upgrades-title": "Обновления доказательства владения и консенсуса", "page-staking-validators": "Больше валидаторов, выше безопасность", - "page-staking-validators-desc": "Такой блокчейн, как Ethereum, можно испортить, если вы контролируете 51 % сети. Например, вы можете заставить 51 % валидаторов подтвердить, что ваш баланс составляет 1 000 000 ETH, а не 1 ETH. Но чтобы контролировать 51 % валидаторов, вам нужно владеть 51 % ETH в системе - это много!", + "page-staking-validators-desc": "В таком блокчейне, как Ethereum, можно цензурировать и перестраивать транзакции под себя, если вы контролируете большую часть сети. Но чтобы контролировать большую часть сети, вам нужно большинство валидаторов, а для этого вам нужно контролировать большинство ETH в системе. Это очень много! Это количество ETH увеличивается каждый раз, когда в систему входит новый валидатор, что повышает безопасность сети. Модель доказательства работы, которую заменит доказательство владения, требует от валидаторов (майнеров) наличия специализированного оборудования и большого физического пространства. Войти в систему в качестве майнера сложно, поэтому безопасность от атак большинства не так сильно возрастает. Доказательство владения не имеет таких требований, что должно привести к росту сети (и ее устойчивости к атакам большинства) до размеров, которые невозможны при использовании доказательства работы.", "page-staking-withdrawals": "Вывод средств начнется не сразу", - "page-staking-withdrawals-desc": "Вы не сможете вывести свое вложение до тех пор, пока не будут применены следующие обновления. Снятие средств должно быть доступно после стыковки основной сети с системой Beacon Chain." + "page-staking-withdrawals-desc": "Вы не сможете снять свои средства до тех пор, пока не будут развернуты будущие обновления. Вывод средств будет доступен в небольшом обновлении после слияния основной сети с Beacon Chain." } diff --git a/src/intl/ru/page-upgrades-get-involved-bug-bounty.json b/src/intl/ru/page-upgrades-get-involved-bug-bounty.json index 693e6295c30..a0760dcad07 100644 --- a/src/intl/ru/page-upgrades-get-involved-bug-bounty.json +++ b/src/intl/ru/page-upgrades-get-involved-bug-bounty.json @@ -1,67 +1,67 @@ { "page-upgrades-bug-bounty-annotated-specs": "спецификация с примечаниями", "page-upgrades-bug-bounty-annotations": "Может быть полезно проверить следующие примечания:", - "page-upgrades-bug-bounty-client-bugs": "Ошибки клиента Eth2", - "page-upgrades-bug-bounty-client-bugs-desc": "Клиенты будут запускать Beacon Chain после внедрения обновления. Клиентам необходимо следовать логике, указанной в спецификации, и быть защищенными от потенциальных атак. Ошибки, которые мы хотим найти, связаны с реализацией протокола.", - "page-upgrades-bug-bounty-client-bugs-desc-2": "В настоящее время эту награду можно получить только за ошибки в Lighthouse, Nimbus, Teku и Prysm. По мере завершения аудитов и подготовки к работе могут быть добавлены другие клиенты.", + "page-upgrades-bug-bounty-client-bugs": "Ошибки клиента уровня консенсуса", + "page-upgrades-bug-bounty-client-bugs-desc": "Клиенты будут запускать Beacon Chain после развертывания обновления. Клиенты должны следовать логике, изложенной в спецификации, и быть защищенными от потенциальных атак. Ошибки, которые мы хотим найти, связаны с реализацией протокола.", + "page-upgrades-bug-bounty-client-bugs-desc-2": "В настоящий момент для получения полного вознаграждения подходят ошибки Lighthouse, Nimbus, Teku и Prysm. Lodestar тоже подходит, но с последующими проверками выполнения пунктов, и вознаграждения ограничены 10% (максимальный выигрыш: 5000 DAI). После завершения проверок и готовности производства может быть добавлено больше клиентов.", "page-upgrades-bug-bounty-clients": "Клиенты, за которые можно получить награды", - "page-upgrades-bug-bounty-clients-type-1": "вопросы, связанные с несоблюдением спецификации.", - "page-upgrades-bug-bounty-clients-type-2": "непредвиденные сбои или уязвимости, которые могут привести к отказу в обслуживании (DOS).", - "page-upgrades-bug-bounty-clients-type-3": "любые проблемы, вызывающие непоправимые расколы в консенсусе от остальной сети.", - "page-upgrades-bug-bounty-docking": "стыковка", + "page-upgrades-bug-bounty-clients-type-1": "Проблемы, связанные с несоблюдением спецификации", + "page-upgrades-bug-bounty-clients-type-2": "Непредвиденные сбои или отказ в обслуживании (DOS) из-за уязвимостей", + "page-upgrades-bug-bounty-clients-type-3": "Любые проблемы, вызывающие непоправимые расколы в консенсусе от остальной сети", + "page-upgrades-bug-bounty-docking": "слияние", "page-upgrades-bug-bounty-email-us": "Напишите нам электронное письмо:", "page-upgrades-bug-bounty-help-links": "Полезные ссылки", "page-upgrades-bug-bounty-hunting": "Правила поиска ошибок", - "page-upgrades-bug-bounty-hunting-desc": "Программа bug bounty - экспериментальная и общедоступная программа вознаграждений для нашего активного сообщества Ethereum, созданная, чтобы поощрять и награждать тех, кто помогает улучшить платформу. Это не соревнование. Вам следует знать, что мы можем отменить программу в любое время и что вознаграждения присуждаются по собственному усмотрению совета bug bounty компании Ethereum Foundation. Также мы не можем выдавать вознаграждения людям, которые находятся в санкционных списках или в странах, находящихся под санкциями (например, Северная Корея, Иран и т. д.). Вы несете ответственность за уплату всех налогов. Все вознаграждения являются субъектом действующего законодательства. Наконец, ваше тестирование не должно нарушать закон или компрометировать любые персональные данные, кроме ваших.", + "page-upgrades-bug-bounty-hunting-desc": "Bug Bounty — это экспериментальная и общедоступная программа вознаграждений для нашего активного сообщества Ethereum, созданная, чтобы поощрять и награждать тех, кто помогает улучшить платформу. Это не соревнование. Вам следует знать, что мы можем отменить программу в любое время и что вознаграждения присуждаются по собственному усмотрению совета Bug Bounty фонда Ethereum Foundation. Также мы не можем выдавать вознаграждения людям, которые находятся в санкционных списках или в странах, находящихся под санкциями (например, Северная Корея, Иран и т. д.). Вы несете ответственность за уплату всех налогов. Все вознаграждения являются субъектом действующего законодательства. Наконец, ваше тестирование не должно нарушать закон или компрометировать любые персональные данные, не принадлежащие вам.", "page-upgrades-bug-bounty-hunting-leaderboard": "Список лидеров в поиске ошибок", - "page-upgrades-bug-bounty-hunting-leaderboard-subtitle": "Ищите ошибки в Eth2, чтобы попасть в этот список лидеров", - "page-upgrades-bug-bounty-hunting-li-1": "Замечания, которые уже были представлены другим пользователем или уже известны спецификациям и сопровождающим клиента, не имеют права на получение вознаграждений.", + "page-upgrades-bug-bounty-hunting-leaderboard-subtitle": "Найдите ошибки уровня консенсуса, чтобы попасть в эту таблицу лидеров", + "page-upgrades-bug-bounty-hunting-li-1": "Проблемы, которые уже были представлены другим пользователем или уже известны спецификациям и сопровождающим клиента, не дают права на получение вознаграждений.", "page-upgrades-bug-bounty-hunting-li-2": "Публичное раскрытие уязвимости лишает вас права на получение награды.", - "page-upgrades-bug-bounty-hunting-li-3": "Исследователи фонда Ethereum и сотрудники команды клиента Eth2 не имеют права на вознаграждение.", - "page-upgrades-bug-bounty-hunting-li-4": "Программа вознаграждения Ethereum рассматривает ряд переменных при определении наград. Установление правил для участия, оценки и всех относящихся к награде условий остается на единоличное и окончательное усмотрение совета bug bounty фонда Ethereum.", + "page-upgrades-bug-bounty-hunting-li-3": "Исследователи фонда Ethereum и сотрудники команд клиентов уровня консенсуса не имеют права на получение вознаграждения.", + "page-upgrades-bug-bounty-hunting-li-4": "Программа вознаграждений Ethereum рассматривает ряд переменных при определении наград. Установление правил для участия, оценки и всех относящихся к награде условий остается на единоличное и окончательное усмотрение совета Bug Bounty фонда Ethereum.", "page-upgrades-bug-bounty-leaderboard": "Просмотреть полный список лидеров", - "page-upgrades-bug-bounty-leaderboard-points": "очки", - "page-upgrades-bug-bounty-ledger-desc": "В спецификации Beacon Chain подробно описаны принципы проектирования и предложенные изменения в Ethereum с помощью обновления Beacon Chain.", - "page-upgrades-bug-bounty-ledger-title": "Ошибки в спецификации Beacon Chain", - "page-upgrades-bug-bounty-meta-description": "Обзор программы для поиска ошибок Eth2: как участвовать в ней и информация о вознаграждении.", - "page-upgrades-bug-bounty-meta-title": "Поощрительная программа поиска ошибок Eth2", + "page-upgrades-bug-bounty-leaderboard-points": "баллы", + "page-upgrades-bug-bounty-ledger-desc": "В спецификации Beacon Chain подробно описывается концепция и предлагаемые изменения в Ethereum через обновление Beacon Chain.", + "page-upgrades-bug-bounty-ledger-title": "Ошибки спецификации Beacon Chain", + "page-upgrades-bug-bounty-meta-description": "Обзор программы поиска ошибок слоя консенсуса Bug Bounty: как принять участие и получить вознаграждение за информацию.", + "page-upgrades-bug-bounty-meta-title": "Программа вознаграждения за поиск ошибок на уровне консенсуса", "page-upgrades-bug-bounty-not-included": "Не включено", - "page-upgrades-bug-bounty-not-included-desc": "Обновления с цепочками-осколками и стыковкой все еще находятся в активной разработке и еще не включены в эту программу поощрения.", + "page-upgrades-bug-bounty-not-included-desc": "Слияние и обновления цепочек осколков до сих пор находятся в активной разработке и еще не включены в эту призовую программу.", "page-upgrades-bug-bounty-owasp": "Просмотреть метод OWASP", - "page-upgrades-bug-bounty-points": "Кроме того, фонд Ethereum начислит баллы на основе:", - "page-upgrades-bug-bounty-points-error": "Ошибка загрузки данных... пожалуйста, обновите страницу.", + "page-upgrades-bug-bounty-points": "Кроме того, фонд Ethereum начислит баллы на основе следующего:", + "page-upgrades-bug-bounty-points-error": "Ошибка загрузки данных... Пожалуйста, обновите страницу.", "page-upgrades-bug-bounty-points-exchange": "Обмен баллов", "page-upgrades-bug-bounty-points-loading": "Загрузка данных...", - "page-upgrades-bug-bounty-points-payout-desc": "Фонд Ethereum выплатит сумму в долларах США в ETH или DAI.", - "page-upgrades-bug-bounty-points-point": "1 очко", + "page-upgrades-bug-bounty-points-payout-desc": "Фонд Ethereum выплатит сумму в долларах США, в ETH или DAI.", + "page-upgrades-bug-bounty-points-point": "1 балл", "page-upgrades-bug-bounty-points-rights-desc": "Фонд Ethereum оставляет за собой право изменять это предложение без предварительного уведомления.", - "page-upgrades-bug-bounty-points-usd": "2 доллара США", + "page-upgrades-bug-bounty-points-usd": "2 долл. США", "page-upgrades-bug-bounty-quality": "Качество описания", - "page-upgrades-bug-bounty-quality-desc": ": более высокое вознаграждение выплачивается за четкие, хорошо подготовленные работы.", + "page-upgrades-bug-bounty-quality-desc": ": более высокое вознаграждение выплачивается за четкие, понятно написанные сообщения.", "page-upgrades-bug-bounty-quality-fix": "Качество исправления, если включено: за сообщения с четким описанием того, как исправить ошибку, выплачиваются более высокие награды.", "page-upgrades-bug-bounty-quality-repro": "Качество воспроизводимости", "page-upgrades-bug-bounty-quality-repro-desc": ": пожалуйста, добавьте тестовый код, скрипты и подробные инструкции. Чем легче воспроизводить и проверять уязвимости, тем выше награда.", "page-upgrades-bug-bounty-questions": "Есть вопросы?", "page-upgrades-bug-bounty-rules": "Читать правила", - "page-upgrades-bug-bounty-shard-chains": "цепочки-осколки", - "page-upgrades-bug-bounty-slogan": "Программы вознаграждения за найденные ошибки Eth2", + "page-upgrades-bug-bounty-shard-chains": "цепочки осколков", + "page-upgrades-bug-bounty-slogan": "Вознаграждения за обнаружение ошибок уровня консенсуса", "page-upgrades-bug-bounty-specs": "Читать полную спецификацию", "page-upgrades-bug-bounty-specs-docs": "Документы спецификации", "page-upgrades-bug-bounty-submit": "Сообщить об ошибке", - "page-upgrades-bug-bounty-submit-desc": "За каждую найденную ошибку вы будете награждены баллами. Количество баллов определяется серьезностью ошибки. Фонд Ethereum определяет серьезность ошибки с помощью метода OWASP.", - "page-upgrades-bug-bounty-subtitle": "Заработайте до 50 000 долларов США и войдите в список лидеров, найдя ошибки в клиенте и протоколе Eth2.", - "page-upgrades-bug-bounty-title": "Открыто для публикации", + "page-upgrades-bug-bounty-submit-desc": "За каждую найденную вами ошибку вы будете вознаграждены баллами. Количество баллов, которые вы заработаете, зависит от степени серьезности ошибки. В настоящее время ошибки Lodestar награждаются на уровне 10% от баллов, перечисленных ниже, так как дополнительные проверки находятся на стадии завершения. Фонд Ethereum (EF) определяет степень серьезности ошибки, используя метод OWASP.", + "page-upgrades-bug-bounty-subtitle": "Найдите ошибки в клиенте и протоколе консенсуса, чтобы заработать до 50 000 долл. США и место в таблице лидеров.", + "page-upgrades-bug-bounty-title": "Открыто для сообщений", "page-upgrades-bug-bounty-title-1": "Beacon Chain", "page-upgrades-bug-bounty-title-2": "Выбор ответвления", "page-upgrades-bug-bounty-title-3": "Контракт на депозит Solidity", "page-upgrades-bug-bounty-title-4": "Пиринговая сеть", - "page-upgrades-bug-bounty-type-1": "ошибки безопасности/окончания.", - "page-upgrades-bug-bounty-type-2": "векторы отказов в обслуживании (DOS)", - "page-upgrades-bug-bounty-type-3": "несоответствие предположений, например, ситуации, когда честные валидаторы могут быть слэшированы.", - "page-upgrades-bug-bounty-type-4": "вычисление или несовпадение параметров.", + "page-upgrades-bug-bounty-type-1": "Ошибки безопасности и окончания", + "page-upgrades-bug-bounty-type-2": "Векторы отказов в обслуживании (DOS)", + "page-upgrades-bug-bounty-type-3": "Несоответствие предположений, например ситуации, когда честные валидаторы могут пострадать", + "page-upgrades-bug-bounty-type-4": "Вычисление или несовпадение параметров", "page-upgrades-bug-bounty-types": "Типы ошибок", - "page-upgrades-bug-bounty-validity": "Действительные ошибки", - "page-upgrades-bug-bounty-validity-desc": "Это программа поощрения за найденные ошибки концентрируется на поиске ошибок в основной спецификации Eth2 Beacon Chain и реализациях клиентов Prysm, Lighthouse и Teku.", + "page-upgrades-bug-bounty-validity": "Подходящие ошибки", + "page-upgrades-bug-bounty-validity-desc": "Эта программа вознаграждений Bug Bounty направлена на поиск ошибок в ядре консенсусного слоя спецификации cети Beacon Chain и реализациях клиентов Lighthouse, Nimbus, Teku, Prysm и Lodestar.", "page-upgrades-bug-bounty-card-critical": "Критический", "page-upgrades-bug-bounty-card-critical-risk": "Отправить ошибку с критическим уровнем риска", "page-upgrades-bug-bounty-card-h2": "Средний", @@ -82,10 +82,11 @@ "page-upgrades-bug-bounty-card-li-5": "Низкое воздействие, высокая вероятность", "page-upgrades-bug-bounty-card-li-6": "Высокое воздействие, средняя вероятность", "page-upgrades-bug-bounty-card-li-7": "Среднее воздействие, высокая вероятность", + "page-upgrades-bug-bounty-card-li-8": "Высокое воздействие, высокая вероятность", "page-upgrades-bug-bounty-card-low": "Низкий", "page-upgrades-bug-bounty-card-low-risk": "Отправить ошибку с низким уровнем риска", "page-upgrades-bug-bounty-card-medium-risk": "Отправить ошибку со средним уровнем риска", - "page-upgrades-bug-bounty-card-subheader": "Серьезность", + "page-upgrades-bug-bounty-card-subheader": "Уровень серьезности", "page-upgrades-bug-bounty-card-subheader-2": "Пример", "page-upgrades-bug-bounty-card-text": "Иногда злоумышленник может поместить узел в состояние, которое заставит его выбрасывать по одной из каждой сотни аттестаций, сделанных валидатором", "page-upgrades-bug-bounty-card-text-1": "Злоумышленник может успешно провести атаки затмения на узлы с идентификаторами пиров с четырьмя ведущими нулевыми байтами", diff --git a/src/intl/ru/page-upgrades-get-involved.json b/src/intl/ru/page-upgrades-get-involved.json index 19f3773a50a..f837f952c49 100644 --- a/src/intl/ru/page-upgrades-get-involved.json +++ b/src/intl/ru/page-upgrades-get-involved.json @@ -1,44 +1,47 @@ { - "page-upgrades-get-involved-btn-1": "Смотреть клиенты", + "page-upgrades-get-involved-btn-1": "Посмотреть клиенты", "page-upgrades-get-involved-btn-2": "Подробнее о стейкинге", - "page-upgrades-get-involved-btn-3": "Найти ошибки", + "page-upgrades-get-involved-btn-3": "Поиск ошибок", "page-upgrades-get-involved-bug": "Возможные ошибки:", "page-upgrades-get-involved-bug-hunting": "Искать ошибки", - "page-upgrades-get-involved-bug-hunting-desc": "Находите и сообщайте об ошибках в спецификации обновления Eth2 или в самих клиентах. Вы можете заработать до 50 000 долларов США и занять место в списке лидеров.", + "page-upgrades-get-involved-bug-hunting-desc": "Находите и сообщайте об ошибках в спецификации обновления уровня консенсуса или самих клиентах. Вы можете заработать до 50 000 долларов США и занять место в списке лидеров.", "page-upgrades-get-involved-bug-li": "вопросы, связанные с несоблюдением спецификации", - "page-upgrades-get-involved-bug-li-2": "ошибки окончания", + "page-upgrades-get-involved-bug-li-2": "ошибки с финальностью", "page-upgrades-get-involved-bug-li-3": "векторы отказов в обслуживании (DOS)", "page-upgrades-get-involved-bug-li-4": "и многое другое...", "page-upgrades-get-involved-date": "Дата окончания: 23 декабря 2020 года", "page-upgrades-get-involved-desc-1": "Запуск клиента означает, что вы будете активным участником Ethereum. Ваш клиент будет помогать отслеживать транзакции и проверять новые блоки.", "page-upgrades-get-involved-desc-2": "Если у вас есть ETH, вы можете вложить их, чтобы стать валидатором и помочь защитить сеть. В качестве валидатора вы cможете зарабатывать награды в ETH.", - "page-upgrades-get-involved-desc-3": "Присоединяйтесь к тестированию! Помогите проверить обновления Eth2, прежде чем они будут запущены, находите ошибки и получайте награды.", + "page-upgrades-get-involved-desc-3": "Присоединяйтесь к усилиям сообщества по тестированию! Помогите протестировать обновления Ethereum перед их запуском, находите ошибки и получайте награды.", "page-upgrades-get-involved-ethresearch-1": "Шардинг", - "page-upgrades-get-involved-ethresearch-2": "Переход от Eth1 к Eth2", - "page-upgrades-get-involved-ethresearch-3": "Осколки и выполнение состояния", + "page-upgrades-get-involved-ethresearch-2": "Слияние", + "page-upgrades-get-involved-ethresearch-3": "Сегментированное выполнение", "page-upgrades-get-involved-ethresearch-4": "Все темы исследований", "page-upgrades-get-involved-grants": "Гранты для сообщества стейкеров", "page-upgrades-get-involved-grants-desc": "Помогите создать инструментарий и образовательные материалы для сообщества стейкеров", "page-upgrades-get-involved-how": "Как вы хотите принять участие?", "page-upgrades-get-involved-how-desc": "Сообщество Ethereum всегда будет получать выгоду от большего количества людей, запускающих клиенты, занимающихся стейкингом и ищущих ошибки.", "page-upgrades-get-involved-join": "Присоединиться к исследованию", - "page-upgrades-get-involved-join-desc": " Как и большая часть всего, что связано с Ethereum, многие исследования являются публичными. Это означает, что вы можете принять участие в обсуждениях или просто прочитать то, что исследователи Ethereum могут сказать. ethresear.ch охватывает не только улучшения Eth2, но все же основной контент именно о Eth2.", - "page-upgrades-get-involved-meta-description": "Как участвовать в Eth2: запускать узлы, вкладывать свои средства, искать ошибки и многое другое.", + "page-upgrades-get-involved-join-desc": "Как и большинство вещей, связанных с Ethereum, многие исследования являются общедоступными. Это означает, что вы можете принять участие в обсуждениях или просто прочитать, о чем говорят исследователи Ethereum. ethresearch.ch охватывает ряд тем, включая обновления консенсуса, шардинг, свертки и многое другое.", + "page-upgrades-get-involved-meta-description": "Как участвовать в обновлениях Ethereum: запускать узлы, вкладывать средства, искать ошибки и делать многое другое.", "page-upgrades-get-involved-more": "Подробнее", - "page-upgrades-get-involved-run-clients": "Запуск клиентов Beacon Chain", - "page-upgrades-get-involved-run-clients-desc": "Ключ к долгосрочной безопасности Ethereum – это умное распределение клиентов. Клиент — это программное обеспечение, которое запускает блокчейн, проверяет транзакции и создает новые блоки. У каждого клиента есть свои особенности, поэтому выберите один из них на основе того, с чем вам удобно работать.", + "page-upgrades-get-involved-run-clients": "Запуск консенсус-клиентов", + "page-upgrades-get-involved-run-clients-desc": "Ключ к долгосрочной безопасности Ethereum — это умное распределение клиентов. Клиент — это программное обеспечение, которое запускает блокчейн, проверяет транзакции и создает новые блоки. У каждого клиента есть свои особенности, поэтому выберите один из них на основе того, с чем вам удобно работать.", + "page-upgrades-get-involved-run-clients-desc-2": "Эти клиенты ранее назывались «клиентами Eth2», но этот термин заменен «клиентами слоя консесуса».", + "page-upgrades-get-involved-run-clients-production": "Производство консенсус-клиентов", + "page-upgrades-get-involved-run-clients-experimental": "Экспериментальные консенсус-клиенты", "page-upgrades-get-involved-stake": "Вкладывайте свои ETH", "page-upgrades-get-involved-stake-desc": "Теперь вы можете вложить свои ETH, чтобы обеспечить безопасность Beacon Chain.", - "page-upgrades-get-involved-stake-eth": "Вложите ETH", - "page-upgrades-get-involved-subtitle": "Здесь представлены варианты того, как вы можете помочь Ethereum и будущим проектам, связанным с Eth2.", + "page-upgrades-get-involved-stake-eth": "Вложить ETH", + "page-upgrades-get-involved-subtitle": "Вот все способы, которыми вы можете помочь Ethereum и будущим движениям, связанным с обновлениями.", "page-upgrades-get-involved-title-1": "Запустите клиент", - "page-upgrades-get-involved-title-2": "Вложите свои ETH", + "page-upgrades-get-involved-title-2": "Вкладывайте свои ETH", "page-upgrades-get-involved-title-3": "Ищите ошибки", - "page-upgrades-get-involved-written-go": "Написан на Go", - "page-upgrades-get-involved-written-java": "Написан на Java", - "page-upgrades-get-involved-written-javascript": "Написан на JavaScript", - "page-upgrades-get-involved-written-net": "Написан на .NET", - "page-upgrades-get-involved-written-nim": "Написан на Nim", - "page-upgrades-get-involved-written-python": "Написан на Python", - "page-upgrades-get-involved-written-rust": "Написан на Rust" + "page-upgrades-get-involved-written-go": "Написано на Go", + "page-upgrades-get-involved-written-java": "Написано на Java", + "page-upgrades-get-involved-written-javascript": "Написано на JavaScript", + "page-upgrades-get-involved-written-net": "Написано на .NET", + "page-upgrades-get-involved-written-nim": "Написано на Nim", + "page-upgrades-get-involved-written-python": "Написано на Python", + "page-upgrades-get-involved-written-rust": "Написано на Rust" } diff --git a/src/intl/ru/page-upgrades-index.json b/src/intl/ru/page-upgrades-index.json index f1895cf4d4a..ffc3972fb5b 100644 --- a/src/intl/ru/page-upgrades-index.json +++ b/src/intl/ru/page-upgrades-index.json @@ -4,99 +4,106 @@ "consensus-client-nimbus-logo-alt": "Логотип Nimbus", "consensus-client-prysm-logo-alt": "Логотип Prysm", "consensus-client-teku-logo-alt": "Логотип Teku", - "page-upgrades-answer-1": "Думайте об Eth2 как о наборе обновлений, добавляемых для улучшения Ethereum, который мы используем сегодня. Эти обновления включают в себя создание новой цепочки, называемой Beacon Chain, и до 64 цепочек, известных как осколки.", - "page-upgrades-answer-2": "Они отделены от основной сети Ethereum, которую мы используем сегодня, но не заменят ее. Вместо этого основная сеть стыкуется или объединяется с этой параллельной системой, которая добавляется с течением времени.", - "page-upgrades-answer-4": "Другими словами, Ethereum, который мы используем сегодня, в конечном итоге будет воплощать все функции, к которым мы стремимся в концепции Eth2.", + "consensus-client-under-review": "Проверка и аудит в процессе", + "page-upgrades-answer-1": "Думайте об изменениях как о наборе обновлений, добавляемых для улучшения Ethereum, который мы используем сегодня. Эти обновления включают создание новой цепочки под названием Beacon Chain. В будущем будут представлены и другие цепочки, известные как «осколки» (shards).", + "page-upgrades-answer-2": "Некоторые обновления отделены от основной сети Ethereum, которую мы используем сегодня, но не заменят ее. Вместо этого основная сеть будет «объединяться» с этой параллельной системой, которую добавят со временем.", + "page-upgrades-answer-4": "Другими словами, Ethereum, который мы используем сегодня, в конечном итоге будет воплощать все функции, к которым мы стремимся в концепции Ethereum.", + "page-upgrade-article-title-two-point-oh": "Beacon Chain: версия 2.0", + "page-upgrade-article-title-beacon-chain-explainer": "Главное, что нужно знать о Beacon Chain Ethereum 2.0", + "page-upgrade-article-title-sharding-consensus": "Консенсус шардинга", + "page-upgrade-article-author-ethereum-foundation": "Фонд Ethereum", + "page-upgrade-article-title-sharding-is-great": "Преимущества шардинга: факты о технических качествах", + "page-upgrade-article-title-rollup-roadmap": "Дорожная карта, ориентированная на свертки", "page-upgrades-beacon-chain-btn": "Подробнее о Beacon Chain", - "page-upgrades-beacon-chain-date": "Beacon Chain была запущена 1 декабря 2020 года.", - "page-upgrades-beacon-chain-desc": "Первое добавление Eth2 к экосистеме. Beacon Chain вводит стейкинг в Ethereum, закладывает основу для будущих обновлений и в конечном итоге будет координировать новую систему.", - "page-upgrades-beacon-chain-estimate": "Beacon Chain активен", + "page-upgrades-beacon-chain-date": "Сеть Beacon Chain была запущена 1 декабря 2020 года.", + "page-upgrades-beacon-chain-desc": "Сеть Beacon Chain привнесла ставки в Ethereum, заложила основу для будущих обновлений и в конечном итоге будет координировать новую систему.", + "page-upgrades-beacon-chain-estimate": "Сеть Beacon Chain в действии", "page-upgrades-beacon-chain-title": "Beacon Chain", - "page-upgrades-bug-bounty": "Посмотреть программу bug bounty", - "page-upgrades-clients": "Ознакомьтесь с клиентами Eth2", - "page-staking-deposit-contract-title": "Проверить адрес контакта на депозит", + "page-upgrades-bug-bounty": "Посмотреть программу вознаграждения за поиск ошибок", + "page-upgrades-clients": "Познакомьтесь с консенсус-клиентами (в прошлом — клиенты Eth2)", + "page-staking-deposit-contract-title": "Проверьте адрес контракта на депозит", "page-upgrades-diagram-ethereum-mainnet": "Основная сеть Ethereum", "page-upgrades-diagram-h2": "Как обновления сочетаются друг с другом", "page-upgrades-diagram-link-1": "Подробнее о доказательстве работы", "page-upgrades-diagram-link-2": "Подробнее о цепочках-осколках", "page-upgrades-diagram-mainnet": "Основная сеть", - "page-upgrades-diagram-p": "Основная сеть Ethereum какое-то время будет существовать в нынешнем виде. Это означает, что обновления Beacon Chain и осколков не нарушат работу сети.", - "page-upgrades-diagram-p-1": "Основная сеть в конечном итоге объединится с новой системой, представленной обновлениями Eth2.", - "page-upgrades-diagram-p-2": "Beacon Chain станет проводником Ethereum, координирующим валидаторов и определяющим темп создания блоков.", - "page-upgrades-diagram-p-3": "Сначала она будет существовать отдельно от основной сети и управлять валидаторами – не будет иметь никакого отношения к смарт-контрактам, сделкам или счетам.", + "page-upgrades-diagram-p": "Основная сеть Ethereum еще некоторое время будет существовать в своем нынешнем виде. Это означает, что Beacon Chain и обновления с осколками не нарушат работу сети.", + "page-upgrades-diagram-p-1": "Основная сеть в конечном итоге объединится с новой системой, представленной Beacon Chain.", + "page-upgrades-diagram-p-2": "Сеть Beacon Chain станет проводником Ethereum, координирующим валидаторов и определяющим темп создания блоков.", + "page-upgrades-diagram-p-3": "Сначала она будет существовать отдельно от основной сети и управлять валидаторами, не имея никакого отношения к смарт-контрактам, сделкам и аккаунтам.", "page-upgrades-diagram-p-4": "Осколки предоставят много дополнительных данных, которые помогут увеличить количество транзакций в основной сети. Их будет координировать Beacon Chain.", - "page-upgrades-diagram-p-5": "Но все операции все равно будут полагаться на основную сеть, которая будет продолжать существовать в сегодняшнем виде – защищенная проверкой работы и майнерами.", + "page-upgrades-diagram-p-5": "Но все операции все равно будут полагаться на основную сеть, которая будет продолжать существовать в сегодняшнем виде — защищенная проверкой работы и майнерами.", "page-upgrades-diagram-p-6": "Основная сеть объединится с системой доказательства владения, координируемой Beacon Chain.", "page-upgrades-diagram-p-8": "Это превратит основную сеть в осколок в рамках новой системы. Майнеры больше не будут нужны, так как весь Ethereum будет защищен валидаторами.", - "page-upgrades-diagram-p10": "Eth2 - это не миграция и не что-то одно. Он описывает набор обновлений, над которыми сейчас работают, чтобы раскрыть истинный потенциал Ethereum. Вот как они все сочетаются друг с другом.", - "page-upgrades-diagram-scroll": "Прокрутите для раскрытия – нажмите для получения дополнительной информации.", + "page-upgrades-diagram-p10": "Масштабирование Ethereum — это не миграция и не что-то одно. Он описывает набор обновлений, над которыми сейчас работают, чтобы раскрыть истинный потенциал Ethereum. Вот как они все сочетаются друг с другом.", + "page-upgrades-diagram-scroll": "Прокрутите для раскрытия — нажмите для получения дополнительной информации.", "page-upgrades-diagram-shard": "Осколок (1)", "page-upgrades-diagram-shard-1": "Осколок (...)", "page-upgrades-diagram-shard-2": "Осколок (2)", "page-upgrades-diagram-shard-3": "Осколок (...)", "page-upgrades-diagram-validators": "Подробнее о валидаторах", - "page-upgrades-dive": "Погрузитесь в видение", + "page-upgrades-dive": "Узнайте о концепции больше", "page-upgrades-dive-desc": "Как мы собираемся сделать Ethereum более масштабируемым, безопасным и устойчивым? И все это при сохранении основного идеала децентрализации Ethereum.", - "page-upgrades-docking": "Стыковка", - "page-upgrades-merge-answer-1": "Стыковка произойдет, когда основная сеть превратится в осколок. Это произойдет после успешного внедрения цепочек-осколков.", - "page-upgrades-merge-btn": "Подробнее про слияние", - "page-upgrades-merge-desc": "В какой-то момент основную сеть Ethereum потребуется состыковать или объединить с Beacon Chain. Это включит стейкинг для всей сети и просигнализирует об окончании энергоемкого майнинга.", - "page-upgrades-merge-estimate": "Приблизительно: в 2022 году", - "page-upgrades-merge-mainnet": "Что такое основная сеть?", - "page-upgrades-merge-mainnet-eth2": "Стыковка основной сети с Eth2", - "page-upgrades-eth-blog": "блог ethereum.org", + "page-upgrades-docking": "Слияние", + "page-upgrades-merge-answer-1": "Слияние происходит, когда основная часть блокчейна начинает использовать сеть Beacon Chain для достижения консенсуса, а доказательство работы отключается. Это произойдет в течение 2022 года.", + "page-upgrades-merge-btn": "Подробнее о слиянии", + "page-upgrades-merge-desc": "В какой-то момент основная сеть Etherium должна будет слиться с сетью Beacon Chain. Это сделает доступными ставки для всей сети и станет сигналом окончания энергоемкого майнинга.", + "page-upgrades-merge-estimate": "Оценка: 2022 год", + "page-upgrades-merge-mainnet": "Что такое основная сеть (Mainnet)?", + "page-upgrades-merge-mainnet-eth2": "Слияние основной сети и Beacon Chain", + "page-upgrades-eth-blog": "Блог ethereum.org", "page-upgrades-explore-btn": "Просмотреть обновления", - "page-upgrades-get-involved": "Примите участие в Eth2", - "page-upgrades-get-involved-2": "Присоединитесь", - "page-upgrades-head-to": "Посмотрите", - "page-upgrades-help": "Хотите помочь с Eth2?", - "page-upgrades-help-desc": "Есть много возможностей оценить обновления Eth2, помочь с тестированием и даже получить награды.", - "page-upgrades-index-staking": "Стейкинг здесь", - "page-upgrades-index-staking-desc": "Ключевым обновлением Eth2 является введение стейкинга. Если вы хотите использовать свои ETH для защиты сети Ethereum, обязательно выполните следующие действия.", + "page-upgrades-get-involved": "Примите участие в улучшении Ethereum", + "page-upgrades-get-involved-2": "Участвовать", + "page-upgrades-head-to": "Переход:", + "page-upgrades-help": "Хотите помочь с обновлениями Ethereum?", + "page-upgrades-help-desc": "Есть много возможностей оценить обновления Ethereum, помочь с тестированием и даже получить вознаграждение.", + "page-upgrades-index-staking": "Стейкинг уже в деле", + "page-upgrades-index-staking-desc": "Ключевым обновлением Ethereum является введение стейкинга. Если вы хотите использовать свои ETH для защиты сети Ethereum, обязательно выполните следующие действия.", "page-upgrades-index-staking-learn": "Узнайте о стейкинге", "page-upgrades-index-staking-learn-desc": "Beacon Chain вводит стейкинг в Ethereum. Это означает, что если у вас есть ETH, вы можете делать общественное благо, защищая сеть и зарабатывая больше ETH в процессе.", "page-upgrades-index-staking-step-1": "1. Выполните настройку с помощью панели запуска", "page-upgrades-index-staking-step-1-btn": "Посетить панель запуска для стейкинга", - "page-upgrades-index-staking-step-1-desc": "Чтобы вложить свои средства в Eth2, вам нужно воспользоваться панелью запуска – это поможет вам пройти этот процесс.", + "page-upgrades-index-staking-step-1-desc": "Чтобы вложить свои средства в Ethereum, вам нужно воспользоваться панелью запуска. Это поможет вам пройти этот процесс.", "page-upgrades-index-staking-step-2": "2. Подтвердите адрес стейкинга", - "page-upgrades-index-staking-step-2-btn": "Подтвердите адрес контакта на депозит", + "page-upgrades-index-staking-step-2-btn": "Подтвердить адрес контракта на депозит", "page-upgrades-index-staking-step-2-desc": "Перед вложением своих ETH убедитесь, что у вас правильный адрес. Перед этим вы должны были пройти через панель запуска.", - "page-upgrades-index-staking-sustainability": "Более экологичный", - "page-upgrades-just-docking": "Подробнее о стыковке", - "page-upgrades-meta-desc": "Обзор обновлений Ethereum 2.0 и видение, которое они должны воплотить в реальность.", - "page-upgrades-meta-title": "Обновления Eth2", + "page-upgrades-index-staking-sustainability": "Большая экологичность", + "page-upgrades-just-docking": "Подробнее о слиянии", + "page-upgrades-meta-desc": "Обзор обновлений Ethereum и концепция того, что они реализуют.", + "page-upgrades-meta-title": "Обновления Ethereum (в прошлом — Eth2)", "page-upgrades-miners": "Подробнее о майнерах", - "page-upgrades-more-on-upgrades": "Подробнее об обновлениях Eth2", + "page-upgrades-more-on-upgrades": "Подробнее о обновлениях Ethereum", "page-upgrades-proof-of-stake": "доказательство владения", "page-upgrades-proof-of-work": "доказательство работы", "page-upgrades-proof-stake-link": "Подробнее о доказательстве владения", - "page-upgrades-question-1-desc": "Eth2 - набор отдельных обновлений с различными датами запуска.", - "page-upgrades-question-1-title": "Когда будет запущен Eth2?", - "page-upgrades-question-2-desc": "Неправильно считать Eth2 отдельным блокчейном.", - "page-upgrades-question-2-title": "Eth2 - это отдельный блокчейн?", - "page-upgrades-question-3-answer-2": "Обновления с цепочками-осколками и стыковкой могут затронуть разработчиков децентрализованных приложений. Но спецификации еще не закончены, поэтому никаких незамедлительных действий не требуется.", - "page-upgrades-question-3-answer-3": "Поговорите с командой исследователей и разработчиков Eth2 на ethresearch.ch.", + "page-upgrades-question-1-title": "Когда будут отправлены обновления?", + "page-upgrades-question-1-desc": "Ethereum обновляется постепенно; обновления отличаются друг от друга разными датами отправки.", + "page-upgrades-question-2-title": "Является ли Beacon Chain отдельным блокчейном?", + "page-upgrades-question-2-desc": "Неправильно думать об этих обновлениях как об отдельном блокчейне.", + "page-upgrades-question-3-answer-2": "Обновления с цепочками-осколками и слияние могут затронуть разработчиков децентрализованных приложений. Но спецификации еще не закончены, поэтому никаких незамедлительных действий не требуется.", + "page-upgrades-question-3-answer-3": "Поговорите с командой исследователей и разработчиков Ethereum на ethresearch.ch.", "page-upgrades-question-3-answer-3-link": "Посетить ethresear.ch", - "page-upgrades-question-3-desc": "Сейчас вам не нужно ничего делать, чтобы подготовиться к Eth2.", - "page-upgrades-question-3-title": "Как мне подготовиться к Eth2?", - "page-upgrades-question-4-answer-1": "Каждый раз, когда вы отправляете транзакцию или пользуетесь приложением dapp сегодня, вы используете Eth1. Это Ethereum, защищенный майнерами.", - "page-upgrades-question-4-answer-2": "Eth1, или основная сеть, будет работать в обычном режиме до стыковки.", - "page-upgrades-question-4-answer-3": "После стыковки валидаторы будут обеспечивать безопасность всей сети через доказательство доли владения.", + "page-upgrades-question-3-desc": "Сейчас вам не нужно ничего делать, чтобы подготовиться к обновлениям.", + "page-upgrades-question-3-title": "Как подготовиться к обновлениям?", + "page-upgrades-question-4-answer-1": "На данный момент каждый раз, когда вы отправляете транзакцию или используете децентрализованное приложение, вы используете слой исполнения или основную сеть. Это Ethereum, защищаемый майнерами.", + "page-upgrades-question-4-answer-2": "До слияния основная сеть будет продолжать работать в обычном режиме.", + "page-upgrades-question-4-answer-3": "После слияния валидаторы будут защищать всю сеть с помощью доказательства владения.", "page-upgrades-question-4-answer-6": "Каждый может стать валидатором, вложив свои ETH.", "page-upgrades-question-4-answer-7": "Подробнее о стейкинге", - "page-upgrades-question-4-answer-8": "Обновления с Beacon Chain и цепочками-осколками не нарушат Eth1, поскольку они строятся отдельно.", - "page-upgrades-question-4-desc": "Eth1 относится к основной сети Ethereum, в которой вы совершаете транзакции сегодня.", - "page-upgrades-question-4-title": "Что такое Eth1?", - "page-upgrades-question-5-answer-1": "Чтобы стать полноценным валидатором в сети, вам нужно вложить 32 ETH. Если у вас не так много средств или вы не готовы так много вкладывать, вы можете присоединиться к пулу стейкеров. Эти пулы позволят вам вкладывать меньше и зарабатывать доли от общей суммы вознаграждения.", + "page-upgrades-question-4-answer-8": "Обновления Beacon Chain и цепочки осколков не нарушат слой исполнения (основная сеть), поскольку они строятся отдельно.", + "page-upgrades-question-4-title": "Что такое слой исполнения?", + "page-upgrades-question-4-desc": "Основная сеть Ethereum, в которой вы совершаете транзакции сегодня, ранее называлась Eth1. Этот термин постепенно упраздняется в пользу «слоя исполнения».", + "page-upgrades-question-5-answer-1": "Чтобы стать полноценным валидатором в сети, вам нужно вложить 32 ETH. Если у вас не столько средств или вы не готовы так много вкладывать, вы можете присоединиться к пулу стейкеров. Эти пулы позволят вам вкладывать меньше и зарабатывать доли от общей суммы вознаграждения.", "page-upgrades-question-5-desc": "Вам нужно будет воспользоваться панелью запуска стейкинга или присоединиться к пулу стейкеров.", "page-upgrades-question-5-title": "Как мне начать заниматься стейкингом?", - "page-upgrades-question-6-answer-1": "На данный момент никаких действий предпринимать не нужно. Но мы рекомендуем вам быть в курсе событий, связанных с обновлениями с цепочками-осколками и стыковкой.", - "page-upgrades-question-6-answer-3": "Дэнни Райан из фонда Ethereum регулярно обновляет сообщество:", - "page-upgrades-question-6-answer-4": "Бен Эджингтон из ConsenSys выпускает еженедельную информационную новостную рассылку на тему Eth2:", - "page-upgrades-question-6-answer-5": "Вы также можете присоединиться к обсуждению исследований и разработок Eth2 на ethresear.ch.", - "page-upgrades-question-6-desc": "Предстоящие обновления не повлияют на ваше приложение dapp. Однако будущие обновления могут потребовать некоторых изменений.", + "page-upgrades-question-6-answer-1": "На данный момент никаких доступных действий нет. Рекомендуем следить за новостями о ходе слияния и обновлениях цепочек-осколков.", + "page-upgrades-question-6-answer-3": "Дэнни Райан из фонда Ethereum регулярно делится новостями с сообществом.", + "page-upgrades-question-6-answer-4": "Бен Эджингтон из ConsenSys еженедельно выпускает информацию об обновлениях Ethereum:", + "page-upgrades-question-6-answer-5": "Вы также можете присоединиться к обсуждению исследований и разработок Ethereum на ethresearch.ch.", + "page-upgrades-question-6-desc": "На ваше децентрализованное приложение никакие ближайшие обновления не повлияют. Однако обновления в будущем могут потребовать некоторых изменений.", "page-upgrades-question-6-title": "Что мне нужно делать с моим децентрализованным приложением?", - "page-upgrades-question-7-desc": "Много разных команд со всего сообщества работают над различными обновлениями Eth2.", + "page-upgrades-question-7-desc": "Много разных команд со всего сообщества работают над различными обновлениями Ethereum.", "page-upgrades-question-7-lighthouse": "Lighthouse", "page-upgrades-question-7-lighthouse-lang": "(реализация на Rust)", "page-upgrades-question-7-lodestar": "Lodestar", @@ -105,70 +112,97 @@ "page-upgrades-question-7-nimbus-lang": "(реализация на Nim)", "page-upgrades-question-7-prysm": "Prysm", "page-upgrades-question-7-prysm-lang": "(реализация на Go)", - "page-upgrades-question-7-teams": "Команды клиентов Eth2:", + "page-upgrades-question-7-teams": "Команды консенсус-клиентов Ethereum:", "page-upgrades-question-7-teku": "Teku", "page-upgrades-question-7-teku-lang": "(реализация на Java)", - "page-upgrades-question-7-title": "Кто создает Eth2?", - "page-upgrades-question-8-answer-1": "Обновления Eth2 помогут Ethereum масштабироваться децентрализованно, сохраняя при этом безопасность и повышая устойчивость.", - "page-upgrades-question-8-answer-2": "Возможно, наиболее очевидная проблема заключается в том, что Ethereum должен обрабатывать более 15-45 транзакций в секунду. Но обновления Eth2 также решают некоторые другие проблемы с Ethereum сегодня.", + "page-upgrades-question-7-title": "Кто создает обновления Ethereum?", + "page-upgrades-question-7-clients": "Подробнее о клиентах Ethereum", + "page-upgrades-question-8-answer-1": "Обновления Ethereum помогут Ethereum масштабироваться децентрализованно, сохраняя при этом безопасность и повышая устойчивость.", + "page-upgrades-question-8-answer-2": "Возможно, самая очевидная проблема заключается в том, что Ethereum должен обрабатывать более 15–45 транзакций в секунду. Но сегодня обновления также решают некоторые другие проблемы Ethereum.", "page-upgrades-question-8-answer-3": "Сеть пользуется таким высоким спросом, что делает использование Ethereum дорогим. Узлы в сети испытывают трудности с размером Ethereum и объемом данных, которые их компьютеры должны обрабатывать. А базовый алгоритм, обеспечивающий безопасность и децентрализацию Ethereum, энергоемок и должен быть более экологичным.", "page-upgrades-question-8-answer-4": "Многое из того, что менялось, всегда входило в план развития Ethereum, даже с 2015 года. Но текущие условия делают необходимость обновлений еще больше.", - "page-upgrades-question-8-answer-6": "Изучите концепцию Eth2", + "page-upgrades-question-8-answer-6": "Познакомьтесь с концепцией Ethereum", "page-upgrades-question-8-desc": "Сегодняшний Ethereum должен стать более удобным в работе для конечных пользователей и участников сети.", - "page-upgrades-question-8-title": "Зачем нужен Eth2?", - "page-upgrades-question-9-answer-1": "Самая активная роль, которую вы можете сыграть, это вложить свои ETH.", + "page-upgrades-question-8-title": "Зачем нужны обновления?", + "page-upgrades-question-9-answer-1": "Самая активная роль, которую вы можете сыграть, — вложение ваших ETH.", "page-upgrades-question-9-answer-2": "Вы также можете запустить второй клиент, чтобы повысить разнообразие клиентов.", "page-upgrades-question-9-answer-3": "Если у вас есть технический опыт, вы можете помочь выявить ошибки в новых клиентах.", "page-upgrades-question-9-answer-4": "Вы также можете принять участие в технических обсуждениях с исследователями Ethereum на ethresear.ch.", - "page-upgrades-question-9-desc": "Чтобы внести свой вклад, необязательно быть техническим специалистом. Наше cообщество ждет вклада от людей с самыми разными навыками.", - "page-upgrades-question-9-stake-eth": "Вложите ETH", - "page-upgrades-question-9-title": "Как я могу внести свой вклад в Eth2?", + "page-upgrades-question-9-desc": "Чтобы внести свой вклад, необязательно быть техническим специалистом. Наше сообщество примет вклад от людей с самыми разными навыками.", + "page-upgrades-question-9-stake-eth": "Вложить ETH", + "page-upgrades-question-9-title": "Как я могу помочь с обновлениями Ethereum?", + "page-upgrades-question-9-more": "Найдите более простые способы помочь развитию Ethereum", + "page-upgrades-question-10-title": "Что такое «фазы Eth2»?", + "page-upgrades-question-10-desc": "Некоторые вещи здесь изменились.", + "page-upgrades-question-10-answer-0": "Сам термин Eth2 постепенно упраздняется, так как он не представляет собой отдельное обновление или новую сеть. Будет точнее сказать, что это набор обновлений, каждое из которых вносит свой вклад, чтобы сделать Ethereum более масштабируемым, безопасным и устойчивым. Сеть, которую вы знаете и любите, будет называться просто Ethereum.", "page-upgrades-question-10-answer-1": "Мы не хотим слишком много говорить о технической дорожной карте, потому что это программное обеспечение: все может измениться. Мы думаем, что легче понять, что происходит, когда вы читаете о результатах.", "page-upgrades-question-10-answer-1-link": "Просмотреть обновления", - "page-upgrades-question-10-answer-2": "Но если вы следили за обсуждениями, вот как обновления вписываются в технические дорожные карты.", - "page-upgrades-question-10-answer-3": "Фаза 0 описывает работу по запуску Beacon Chain в реальном времени.", - "page-upgrades-question-10-answer-5": "Фаза 1 технических дорожных карт сосредоточена на реализации цепочек-осколков.", - "page-upgrades-question-10-answer-6": "Стыковка основной сети с Eth2 - это расширение работы, проделанной для реализации цепочек-осколков, которая получила название фаза 1.5. Но это важный момент, так как сегодняшний Ethereum сливается с другими обновлениями Eth2. Также в этот момент Ethereum полностью переходит на доказательство владения.", - "page-upgrades-question-10-answer-7": "В настоящее время неясно, что будет происходить вокруг фазы 2. Это все еще предмет интенсивных исследований и дискуссий. Первоначальный план состоял в том, чтобы добавить дополнительную функциональность к цепочкам-осколкам, но это могло не потребоваться с дорожной картой, ориентированной на свертки.", + "page-upgrades-question-10-answer-2": "Но если вы следили за обсуждениями, вот немного о том, как обновления вписываются в технические дорожные карты и как они меняются.", + "page-upgrades-question-10-answer-3": "Фаза 0 описывает работу по запуску Beacon Chain.", + "page-upgrades-question-10-answer-5": "Фаза 1 изначально была направлена на внедрение цепочек осколков, но приоритеты сместились в сторону «слияния», которое является следующим запланированным обновлением.", + "page-upgrades-question-10-answer-6": "Фаза 1.5 первоначально планировалась после внедрения осколков, когда основная сеть будет добавлена в качестве последнего осколка к Beacon Chain. Чтобы ускорить переход от майнинга на основе доказательства работы, основная сеть вместо этого станет первым осколком, который подключится к Beacon Chain. Это событие теперь известно как «слияние» и станет важным шагом на пути к более экологичному Ethereum.", + "page-upgrades-question-10-answer-7": "Планы, связанные с фазой 2, подвергались интенсивным исследованиям и обсуждениям, но планирование слияния до цепочек-осколков позволит осуществить непрерывную перепроверку нужд для развития Ethereum с целью продвигаться дальше. Учитывая дорожную карту, ориентированную на свертки, немедленная необходимость цепочек-осколков подвержена сомнению.", "page-upgrades-question-10-answer-8": "Подробнее о дорожной карте, ориентированной на свертки", - "page-upgrades-question-10-desc": "Фазы связаны с фазами работы и фокусом технической дорожной карты Eth2.", - "page-upgrades-question-10-title": "Что такое фазы Eth2?", + "page-upgrades-question-11-title": "Могу ли я купить Eth2?", + "page-upgrades-question-11-desc": "Нет. Токена Eth2 нет, и ваши ETH не будут изменены после слияния.", + "page-upgrades-question-11-answer-1": "Одним из стимулов для ребрендинга Eth2 стало распространенное заблуждение о том, что держателям ETH якобы понадобилось бы выполнять миграцию своих ETH после перехода на Ethereum 2.0. Таких планов никогда не было. Это", + "page-upgrades-question-11-answer-2": "распространенная техника, используемая мошенниками.", "page-upgrades-question-title": "Часто задаваемые вопросы", - "page-upgrades-question3-answer-1": "Держателям ETH, конечно, не требуется ничего делать. Вашим ETH не понадобятся изменения или улучшения. Почти наверняка будут мошенники, говорящие прямо противоположное, так что будьте бдительны.", - "page-upgrades-scalable": "Более масштабируемый", + "page-upgrades-question3-answer-1": "Владельцам ETH не нужно ничего делать. Ваш ETH не нужно будет менять или обновлять. Почти наверняка мошенники скажут вам обратное, так что будьте осторожны.", + "page-upgrades-scalable": "Большая масштабируемость", "page-upgrades-scalable-desc": "Ethereum должен поддерживать тысячи транзакций в секунду, чтобы сделать приложения быстрее и дешевле в использовании.", - "page-upgrades-secure": "Более безопасный", + "page-upgrades-secure": "Большая безопасность", "page-upgrades-secure-desc": "Ethereum должен быть более безопасным. Протокол должен быть более защищенным от всех форм атак, поскольку сферы применения Ethereum расширяются.", "page-upgrades-shard-button": "Подробнее о цепочках-осколках", - "page-upgrades-shard-date": "Введение цепочек-осколков, второе обновление, ожидается где-то в 2023 году.", + "page-upgrades-shard-date": "Цепочки-осколки должны последовать за слиянием где-то в 2023 году.", "page-upgrades-shard-desc": "Цепочки-осколки расширят возможности Ethereum для обработки транзакций и хранения данных. Сами осколки со временем получат больше функций, запускаемых в несколько этапов.", - "page-upgrades-shard-estimate": "Приблизительно: в 2023 году", + "page-upgrades-shard-estimate": "Оценка: 2023 год", "page-upgrades-shard-lower": "Подробнее о цепочках-осколках", - "page-upgrades-shard-title": "Цепочки-осколки", + "page-upgrades-shard-title": "Цепочки осколков", "page-upgrades-stay-up-to-date": "Будьте в курсе", - "page-upgrades-stay-up-to-date-desc": "Получите последнюю информацию от исследователей и разработчиков, работающих над обновлениями Eth2.", - "page-upgrades-sustainable-desc": "Ethereum должен быть лучше для окружающей среды. Сегодняшняя технология требует слишком много вычислительной мощности и энергии.", + "page-upgrades-stay-up-to-date-desc": "Получайте последние новости от исследователей и разработчиков, работающих над обновлениями Ethereum.", + "page-upgrades-sustainable-desc": "Ethereum должен быть более бережным к окружающей среде. Сегодняшняя технология требует слишком много вычислительной мощности и энергии.", "page-upgrades-take-part": "Примите участие в исследовании", - "page-upgrades-take-part-desc": "Здесь встречаются исследователи и энтузиасты Ethereum, чтобы обсудить исследовательские усилия, включая все, что касается Eth2.", - "page-upgrades-the-upgrades": "Обновления Eth2", - "page-upgrades-the-upgrades-desc": "Eth2 - это набор обновлений, которые улучшают масштабируемость, безопасность и устойчивость Ethereum. Хотя над каждым из них работают параллельно с другими, у них есть определенные зависимости, которые определяют, когда они будут развернуты.", - "page-upgrades-unofficial-roadmap": "Это не официальная дорожная карта. Вот как мы видим, что происходит на основе имеющейся в ней информации. Но эта технология может измениться мгновенно. Поэтому не считайте это обязательством.", + "page-upgrades-take-part-desc": "Исследователи и энтузиасты Ethereum встречаются здесь, чтобы обсудить результаты исследований, включая те, которые связаны с обновлениями Ethereum.", + "page-upgrades-the-upgrades": "Обновления Ethereum", + "page-upgrades-the-upgrades-desc": "Ethereum состоит из набора обновлений, улучшающих масштабируемость, безопасность и устойчивость сети. Хотя над каждым из них ведется отдельная, но параллельная работа, у них есть определенные зависимости, которые определяют, когда они будут развернуты.", + "page-upgrades-unofficial-roadmap": "Это не официальная дорожная карта. Это то, как мы видим происходящее на основе имеющейся информации. Но это технологии, и все может измениться в одно мгновение. Поэтому не воспринимайте это как обязательство.", "page-upgrades-upgrade-desc": "Ethereum, который мы знаем и любим, просто более масштабируемый, более безопасный и более устойчивый...", - "page-upgrades-upgrades": "Обновления Eth2", - "page-upgrades-upgrades-aria-label": "Меню обновлений Eth2", + "page-upgrades-upgrades": "Обновления Ethereum", + "page-upgrades-upgrades-aria-label": "Меню обновлений Ethereum", "page-upgrades-upgrades-beacon-chain": "Beacon Chain", - "page-upgrades-upgrades-docking": "Стыковка основной сети и Eth2", - "page-upgrades-upgrades-guide": "Руководство по обновлениям Eth2", - "page-upgrades-upgrades-shard-chains": "Цепочки-осколки", + "page-upgrades-upgrades-docking": "Слияние", + "page-upgrades-upgrades-guide": "Руководство по обновлениям Ethereum", + "page-upgrades-upgrades-shard-chains": "Цепочки осколков", "page-upgrades-upgrading": "Обновление Ethereum до радикально новых высот", "page-upgrades-vision": "Наша концепция", - "page-upgrades-vision-btn": "Подробнее о концепции Eth2", + "page-upgrades-vision-btn": "Подробнее о концепции Ethereum", "page-upgrades-vision-desc": "Чтобы Ethereum стал популярным и служил всему человечеству, мы должны сделать Ethereum более масштабируемым, безопасным и устойчивым.", - "page-upgrades-vision-upper": "Концепция Eth2", + "page-upgrades-vision-upper": "Концепция Etherium", + "page-upgrades-what-happened-to-eth2-title": "Что случилось с Eth2?", + "page-upgrades-what-happened-to-eth2-1": "Термин Eth2 постепенно упраздняется в рамках подготовки к слиянию.", + "page-upgrades-what-happened-to-eth2-1-more": "Подробнее о слиянии.", + "page-upgrades-what-happened-to-eth2-2": "После объединения Eth1 и Eth2 в единую цепочку больше не будет двух отдельных сетей Ethereum; Ethereum станет единым.", + "page-upgrades-what-happened-to-eth2-3": "Чтобы избежать путаницы, сообщество обновило эти термины.", + "page-upgrades-what-happened-to-eth2-3-1": "Eth1 теперь является слоем исполнения, который обрабатывает и выполняет транзакции.", + "page-upgrades-what-happened-to-eth2-3-2": "Eth2 теперь является «уровнем консенсуса», который обрабатывает консенсус доказательства владения.", + "page-upgrades-what-happened-to-eth2-4": "Эти обновления терминологии влияют только на принятые названия; цели и дорожная карта Ethereum не меняются.", + "page-upgrades-what-happened-to-eth2-5": "Подробнее о переименовании Eth2", + "page-upgrades-why-cant-we-just-use-eth2-title": "Почему мы просто не можем использовать Eth2?", + "page-upgrades-why-cant-we-just-use-eth2-mental-models-title": "Ментальные модели", + "page-upgrades-why-cant-we-just-use-eth2-mental-models-description": "Одна из главных проблем брендинга Eth2 заключается в том, что он создает неверную ментальную модель для новых пользователей Etherium. Они интуитивно думают, что сначала появляется Eth1, а Eth2 идет после. Или, что Eth1 перестает существовать, когда появится Eth2. Ничто из этого не верно. Удаляя термин Eth2, мы избавляем всех будущих пользователей от этой запутанной ментальной модели.", + "page-upgrades-why-cant-we-just-use-eth2-inclusivity-title": "Инклюзивность", + "page-upgrades-why-cant-we-just-use-eth2-inclusivity-description": "По мере развития дорожной карты Etherium термин Etherium 2.0 стал неточно ее представлять. Внимательность и точность в выборе слов позволяет сути Etherium быть понятой самой широкой аудиторией.", + "page-upgrades-why-cant-we-just-use-eth2-scam-prevention-title": "Профилактика мошенничества", + "page-upgrades-why-cant-we-just-use-eth2-scam-prevention-description": "К сожалению, злонамеренные субъекты пытаются использовать неточный термин Eth2 для обмана пользователей, предлагая им поменять свои токены ETH на ETH2 или говоря, что они должны почему-то переместить их ETH до того, как произойдет обновление до ETH2. Мы надеемся, что обновленная терминология добавит ясности, устранит это направление мошенничества и поможет сделать экосистему безопаснее.", + "page-upgrades-why-cant-we-just-use-eth2-staking-clarity-title": "Прозрачность стейкинга", + "page-upgrades-why-cant-we-just-use-eth2-staking-clarity-description": "Некоторые операторы стейкинга также представляли стейкинг ETH в сети Beacon Chain с тикером ETH2. Это создает потенциальную путаницу, учитывая, что пользователи этих сервисов фактически не получают токен ETH2. Токенов ETH2 не существует; это лишь доля пользователей в ставке конкретных поставщиков.", "page-upgrades-what-to-do": "Что вам нужно сделать?", - "page-upgrades-what-to-do-desc": "Если вы являетесь пользователем приложений dapp или держателем ETH, вам не нужно ничего делать. Если вы разработчик или хотите начать заниматься стейкингом, вы можете принять участие уже сегодня.", - "page-upgrades-whats-next": "Что такое Eth2?", - "page-upgrades-whats-next-desc": "Eth2 - это набор взаимосвязанных обновлений, которые сделают Ethereum более масштабируемым, безопасным и устойчивым. Эти обновления создаются несколькими командами из экосистемы Ethereum.", + "page-upgrades-what-to-do-desc": "Если вы являетесь пользователем децентрализованных приложений (dapp) или держателем ETH, вам не нужно ничего делать. Если вы разработчик или хотите начать заниматься стейкингом, вы можете принять участие уже сегодня.", + "page-upgrades-whats-next": "Что такое обновления Ethereum?", + "page-upgrades-whats-next-desc": "Дорожная карта Ethereum включает взаимосвязанные обновления протоколов, которые сделают сеть более масштабируемой, безопасной и устойчивой. Эти обновления создаются несколькими командами из экосистемы Ethereum.", + "page-upgrades-whats-next-history": "Узнайте о предыдущих улучшениях Ethereum", "page-upgrades-whats-ethereum": "Погодите, что такое Ethereum?", - "page-upgrades-whats-new": "Что нового в Eth2?" + "page-upgrades-whats-new": "Что ждет Ethererum дальше?", + "page-upgrades-security-link": "Подробнее о безопасности и предотвращении мошенничества" } diff --git a/src/intl/ru/page-upgrades-vision.json b/src/intl/ru/page-upgrades-vision.json index f05768978e3..fa359827574 100644 --- a/src/intl/ru/page-upgrades-vision.json +++ b/src/intl/ru/page-upgrades-vision.json @@ -1,76 +1,77 @@ { - "page-upgrades-vision-2014": "Просмотрите сообщение в блоге 2014 года, подробно описывающее доказательство владения", + "page-upgrades-vision-2014": "Посмотреть запись в блоге от 2014 года, которая подробно описывает доказательство владения (Proof of Stake)", + "page-upgrades-vision-2021": "Посмотреть запись в блоге от 2021 года об эволюции Ethereum в виде дорожной карты", + "page-upgrades-vision-2021-updates": "Посмотреть запись в блоге от 2021 года об обновлениях протокола Ethereum", "page-upgrades-vision-beacon-chain": "Beacon Chain", "page-upgrades-vision-beacon-chain-btn": "Подробнее о Beacon Chain", - "page-upgrades-vision-beacon-chain-date": "The Beacon Chain активен", - "page-upgrades-vision-beacon-chain-desc": "Первое дополнение Eth2 к экосистеме. Beacon Chain добавляет вложения в Ethereum, закладывает основу для будущих обновлений и в конечном итоге будет координировать новую систему.", + "page-upgrades-vision-beacon-chain-date": "Beacon Chain в действии", + "page-upgrades-vision-beacon-chain-desc": "Сеть Beacon Chain перевела Ethereum на стейкинг, заложила основу для будущих обновлений и в конечном итоге будет координировать новую систему.", "page-upgrades-vision-beacon-chain-upper": "Beacon Chain", "page-upgrades-vision-desc-1": "Ethereum необходимо снизить перегруженность сети и повысить скорость, чтобы лучше обслуживать глобальную пользовательскую базу.", "page-upgrades-vision-desc-2": "С ростом сети управлять узлом становится труднее. Это будет только усложняться усилиями по масштабированию сети.", "page-upgrades-vision-desc-3": "Ethereum использует слишком много электричества. Технология, обеспечивающая безопасность сети, должна быть более устойчивой.", "page-upgrades-vision-merge-date": "Приблизительно: в 2022 году", - "page-upgrades-vision-merge-desc": "В какой-то момент основную сеть Ethereum потребуется состыковать с Beacon Chain. Это включит стейкинг для всей сети и просигнализирует об окончании энергоемкого майнинга.", + "page-upgrades-vision-merge-desc": "В какой-то момент основная сеть Ethereum должна будет слиться с Beacon Chain. Это включит ставки для всей сети и станет сигналом об окончании энергоемкого майнинга.", "page-upgrades-vision-ethereum-node": "Подробнее об узлах", "page-upgrades-vision-explore-upgrades": "Просмотреть обновления", "page-upgrades-vision-future": "Цифровое будущее в глобальном масштабе", - "page-upgrades-vision-meta-desc": "Обзор влияния обновлений Eth2 на Ethereum и проблем, которые они должны решить.", - "page-upgrades-vision-meta-title": "Концепция Ethereum 2.0 (Eth2)", + "page-upgrades-vision-meta-desc": "Обзор влияния обновлений на Ethereum и проблемы, которые они должны преодолеть.", + "page-upgrades-vision-meta-title": "Концепция Etherium", "page-upgrades-vision-mining": "Подробнее о майнинге", - "page-upgrades-vision-problems": "Текущие задачи", + "page-upgrades-vision-problems": "Современные проблемы", "page-upgrades-vision-scalability": "Масштабируемость", - "page-upgrades-vision-scalability-desc": "Ethereum должен иметь возможность обрабатывать больше транзакций в секунду без увеличения размера узлов сети. Узлы - это жизненно важные участники сети, которые сохраняют и запускают блокчейн. Увеличение размера узла не является практичным, потому что это могут сделать только мощные и дорогостоящие компьютеры. Для масштабирования Ethereum требуется больше транзакций в секунду, а также больше узлов. Больше узлов означает большую безопасность.", - "page-upgrades-vision-scalability-desc-3": "Обновление с цепочками-осколками распространит нагрузку сети на 64 новые цепочки. Это облегчит работу Ethereum за счет сокращения перегруженности и повышения скорости, превышающей текущий лимит в 15-45 транзакций в секунду.", - "page-upgrades-vision-scalability-desc-4": "И даже несмотря на то, что будет больше цепочек, это на самом деле потребует меньше работы от валидаторов - сопровождающих сети. Валидаторам придется запускать только свои цепочки-осколки, а не всю цепочку Ethereum. Это сделает узлы более легкими и позволит Ethereum масштабироваться и оставаться децентрализованным.", + "page-upgrades-vision-scalability-desc": "Ethereum должен иметь возможность обрабатывать больше транзакций в секунду без увеличения размера узлов сети. Узлы — это жизненно важные участники сети, которые сохраняют и запускают блокчейн. Увеличение размера узла не является практичным, потому что это могут сделать только мощные и дорогостоящие компьютеры. Для масштабирования Ethereum требуется больше транзакций в секунду, а также больше узлов. Больше узлов — больше безопасность.", + "page-upgrades-vision-scalability-desc-3": "Обновление с цепочками осколков распределит нагрузку сети по 64 новым цепочкам. Это облегчит работу Ethereum за счет сокращения перегруженности и повышения скорости, превышающей текущий лимит в 15–45 транзакций в секунду.", + "page-upgrades-vision-scalability-desc-4": "И хотя цепочек будет больше, это потребует меньше работы от валидаторов — тех, кто поддерживает сеть. Валидаторам нужно будет «управлять» только своим осколком, а не всей цепочкой Ethereum. Это делает узлы более легкими, позволяя Ethereum масштабироваться и оставаться децентрализованным.", "page-upgrades-vision-security": "Безопасность", - "page-upgrades-vision-security-desc": "Обновления Eth2 улучшают защиту Ethereum от скоординированных атак, таких как атака 51 %. Это тип атаки, при которой, если кто-то контролирует большую часть сети, он может принудительно внести мошеннические изменения.", + "page-upgrades-vision-security-desc": "Запланированные обновления повышают безопасность Ethereum против скоординированных атак, таких как атака 51 %. Это тип атаки, при которой контролирующий большую часть сети может провести мошеннические изменения.", "page-upgrades-vision-security-desc-3": "Переход на систему доказательства владения означает, что протокол Ethereum имеет больше сдерживающих факторов против атак. Это связано с тем, что в системе доказательства владения валидаторы, которые защищают сеть, должны вкладывать значительные суммы ETH в протокол. Если они попытаются атаковать сеть, протокол может автоматически уничтожить их ETH.", "page-upgrades-vision-security-desc-5": "Это невозможно в системе доказательства работы, где лучшее, что может сделать протокол, это заставить объекты, которые защищают сеть (майнеры), терять вознаграждение за майнинг, которое они в противном случае заработали бы. Чтобы добиться аналогичного эффекта в системе доказательства работы, протокол должен иметь возможность уничтожить все оборудование майнера, если он попытается жульничать.", "page-upgrades-vision-security-desc-5-link": "Подробнее о доказательстве работы", - "page-upgrades-vision-security-desc-8": "Модель безопасности Ethereum также нуждается в изменении из-за введения", - "page-upgrades-vision-security-desc-9": "позволяет нам случайным образом назначать валидаторов разным осколкам - это делает практически невозможным сговор валидаторов для атаки определенного осколка. Шардинг не так безопасен в блокчейне с подтверждением работы, потому что протокол не может управлять майнерами таким образом.", - "page-upgrades-vision-security-desc-10": "Стейкинг также означает, что вам не нужно вкладывать деньги в элитное оборудование для запуска узла Ethereum. Это должно побудить больше людей становиться валидаторами, увеличивая децентрализацию сети и уменьшая площадь поверхности атаки.", - "page-upgrades-vision-security-staking": "Вложение ETH", + "page-upgrades-vision-security-desc-8": "В связи с внедрением цепочек осколков модель безопасности Ethereum также нуждается в изменениях. The Beacon Chain будет распределять валидаторов случайным образом по разным осколкам, что позволит сделать атаку в случае сговора валидаторов практически невозможным. Шардинг, основывающийся на доказательстве работы, не так безопасен: в случае с этим протоколом майнеры не могут быть управляемы.", + "page-upgrades-vision-security-desc-10": "Стейкинг также означает, что для «запуска» узла Ethereum не нужно инвестировать в элитное оборудование. Это должно побудить больше людей стать валидаторами, повышая децентрализацию сети и уменьшая площадь атаки.", + "page-upgrades-vision-security-staking": "Вложить ETH", "page-upgrades-vision-security-validator": "Вы можете стать валидатором, вложив свои ETH.", - "page-upgrades-vision-shard-chains": "цепочки-осколки", - "page-upgrades-vision-shard-date": "Приблизительно: в 2021 году", - "page-upgrades-vision-shard-desc-4": "Цепочки-осколки распределяют нагрузку на сеть на 64 новые цепочки. Осколки могут значительно повысить скорость транзакций - до 100 000 в секунду.", - "page-upgrades-vision-shard-upgrade": "Подробнее о цепочках-осколках", + "page-upgrades-vision-shard-chains": "цепочки осколков", + "page-upgrades-vision-shard-date": "Приблизительно: в 2023 году", + "page-upgrades-vision-shard-desc-4": "Цепочки осколков распределят нагрузку сети по 64 новых блокчейнам. Осколки способны значительно повысить скорость транзакций — до 100 000 в секунду.", + "page-upgrades-vision-shard-upgrade": "Подробнее о цепочках осколков", "page-upgrades-vision-staking-lower": "Подробнее о стейкинге", - "page-upgrades-vision-subtitle": "Развивайте Ethereum, пока он не станет достаточно мощным, чтобы помочь всему человечеству.", + "page-upgrades-vision-subtitle": "Стремление развивать Ethereum, пока он не станет достаточно мощным, чтобы помочь всему человечеству.", "page-upgrades-vision-sustainability": "Устойчивость", "page-upgrades-vision-sustainability-desc-1": "Ни для кого не секрет, что Ethereum и другие блокчейны, такие как Bitcoin, энергоемки из-за майнинга.", - "page-upgrades-vision-sustainability-desc-2": "Но Ethereum движется к тому, чтобы быть защищенным с помощью ETH, а не вычислительной мощности - через стейкинг.", - "page-upgrades-vision-sustainability-desc-3": "Хотя стейкинг будет введен с Beacon Chain, сегодняшний Ethereum будет работать параллельно в течение определенного периода времени, прежде чем он «сольется» или «состыкуется» с обновлениями Eth2. Одна система защищена ETH, другая - вычислительной мощностью. Это связано с тем, что сначала цепочки-осколки не смогут обрабатывать такие вещи, как наши учетные записи или децентрализованные приложения. Так что мы не можем просто забыть о майнинге и основной сети.", - "page-upgrades-vision-sustainability-desc-8": "Как только будут запущены обновления с Beacon Chain и цепочками-осколками, начнется работа по стыковке основной сети с новой системой. Это превратит основную сеть в осколок, так что она будет защищена ETH и станет менее энергоемкой.", + "page-upgrades-vision-sustainability-desc-2": "Но Ethereum движется к тому, чтобы быть обеспеченным ETH, а не вычислительной мощностью, за счет стейкинга.", + "page-upgrades-vision-sustainability-desc-3": "Хотя стейкинг уже был введен сетью Beacon Chain, Ethereum, который мы используем сегодня, будет работать параллельно определенный период времени. Одна система защищена ETH, другая — вычислительной мощностью. Так будет до слияния.", + "page-upgrades-vision-sustainability-desc-8": "После запуска Beacon Chain началась работа по объединению основной сети с новым уровнем консенсуса. После окончания основная сеть будет защищена стекингом ETH и станет гораздо менее энергоемкой.", "page-upgrades-vision-sustainability-subtitle": "Ethereum должен быть экологичнее.", - "page-upgrades-vision-title": "Концепция Eth2", + "page-upgrades-vision-title": "Концепция Etherium", "page-upgrades-vision-title-1": "Забитая сеть", "page-upgrades-vision-title-2": "Дисковое пространство", "page-upgrades-vision-title-3": "Слишком много энергии", - "page-upgrades-vision-trilemma-cardtext-1": "Обновления Eth2 сделают Ethereum масштабируемым, безопасным и децентрализованным. Шардинг сделает Ethereum более масштабируемым за счет увеличения количества транзакций в секунду при одновременном снижении мощности, необходимой для запуска узла и проверки цепочки. Beacon Chain обеспечит безопасность Ethereum за счет распределения валидаторов по осколкам. А стейкинг снизит барьер для участия, создав большую и более децентрализованную сеть.", - "page-upgrades-vision-trilemma-cardtext-2": "Безопасные и децентрализованные сети блокчейнов требуют, чтобы каждый узел проверял каждую транзакцию, обрабатываемую цепочкой. Этот объем работы ограничивает количество транзакций, которые могут произойти в любой момент времени. Децентрализация и безопасность отражает сегодняшнюю цепочку Ethereum.", - "page-upgrades-vision-trilemma-cardtext-3": "Децентрализованные сети работают, отправляя информацию о транзакциях между узлами - вся сеть должна знать о любом изменении состояния. Масштабирование транзакций в секунду в децентрализованной сети создает риски для безопасности, потому что чем больше транзакций, тем дольше задержка, тем выше вероятность атаки во время передачи информации.", - "page-upgrades-vision-trilemma-cardtext-4": "Увеличение размера и мощности узлов Ethereum может увеличить количество транзакций в секунду безопасным способом, но требования к оборудованию ограничат круг лиц, которые могут это сделать - это угрожает децентрализации. Есть надежда, что шардинг и доказательство доли владения позволят Ethereum масштабироваться за счет увеличения количества узлов, а не их размера.", + "page-upgrades-vision-trilemma-cardtext-1": "Модернизация Ethereum сделает Ethereum более масштабируемым, безопасным и децентрализованным. Шардинг сделает Ethereum более масштабируемым за счет увеличения количества транзакций в секунду при одновременном снижении мощности, необходимой для работы узла и валидации цепочки. Beacon Chain сделает Ethereum безопасным благодаря координации валидаторов на разных осколках. А стейкинг снизит барьер для участия, создавая более крупную и более децентрализованную сеть.", + "page-upgrades-vision-trilemma-cardtext-2": "Безопасные и децентрализованные сети блокчейнов требуют, чтобы каждый узел проверял каждую транзакцию, обрабатываемую цепочкой. Этот объем работы ограничивает количество транзакций, которые могут произойти в любой момент времени. Децентрализация и безопасность отражают сегодняшнюю цепочку Ethereum.", + "page-upgrades-vision-trilemma-cardtext-3": "Децентрализованные сети работают путем передачи информации о транзакциях между узлами — вся сеть должна знать о любом изменении состояния. Масштабирование транзакций в секунду в децентрализованной сети создает риски для безопасности, поскольку чем больше транзакций, тем больше задержка, тем выше вероятность атаки, пока информация находится в пути.", + "page-upgrades-vision-trilemma-cardtext-4": "Увеличение размера и мощности узлов Ethereum могло бы повысить скорость транзакций в секунду безопасным способом, но аппаратные требования ограничат тех, кто может это сделать — это угрожает децентрализации. Есть надежда, что шардинг и доказательство владения позволят Ethereum масштабироваться за счет увеличения количества узлов, а не их размера.", "page-upgrades-vision-trilemma-h2": "Проблема децентрализованного масштабирования", "page-upgrades-vision-trilemma-modal-tip": "Коснитесь кружков ниже, чтобы лучше понять проблемы децентрализованного масштабирования", - "page-upgrades-vision-trilemma-p": "Наивный способ решить проблемы Ethereum - сделать его более централизованным. Но децентрализация слишком важна. Именно децентрализация обеспечивает устойчивость Ethereum к цензуре, открытость, конфиденциальность данных и практически нерушимую безопасность.", - "page-upgrades-vision-trilemma-p-1": "Видение Ethereum - быть более масштабируемым и безопасным, но при этом оставаться децентрализованным. Достижение этих трех качеств - проблема, известная как трилемма масштабируемости.", - "page-upgrades-vision-trilemma-p-2": "Обновления Eth2 направлены на решение этой трилеммы, но при этом возникают серьезные проблемы.", + "page-upgrades-vision-trilemma-p": "Наивным способом решения проблем Ethereum было бы сделать его более централизованным. Но децентрализация слишком важна. Именно децентрализация обеспечивает Ethereum устойчивость к цензуре, открытость, конфиденциальность данных и практически непробиваемую безопасность.", + "page-upgrades-vision-trilemma-p-1": "Концепция Ethereum заключается в том, чтобы быть более масштабируемой и безопасной сетью, но при этом оставаться децентрализованной. Достижение этих трех качеств представляет собой проблему, известную как трилемма масштабируемости.", + "page-upgrades-vision-trilemma-p-2": "Обновления Ethereum направлены ​​на решение этой трилеммы, но есть серьезные проблемы.", "page-upgrades-vision-trilemma-press-button": "Нажмите кнопки на треугольнике, чтобы лучше понять проблемы децентрализованного масштабирования.", "page-upgrades-vision-trilemma-text-1": "Децентрализация", "page-upgrades-vision-trilemma-text-2": "Безопасность", "page-upgrades-vision-trilemma-text-3": "Масштабируемость", "page-upgrades-vision-trilemma-title-1": "Изучите трилемму возможности масштабирования", - "page-upgrades-vision-trilemma-title-2": "Обновления Eth2 и децентрализованное масштабирование", - "page-upgrades-vision-trilemma-title-3": "Безопасный и децентрализованный", - "page-upgrades-vision-trilemma-title-4": "Децентрализованный и масштабируемый", - "page-upgrades-vision-trilemma-title-5": "Масштабируемый и безопасный", - "page-upgrades-vision-understanding": "Понимание концепции Eth2", - "page-upgrades-vision-upgrade-needs": "Необходимость в обновлениях Eth2", + "page-upgrades-vision-trilemma-title-2": "Обновления Ethereum и децентрализованное масштабирование", + "page-upgrades-vision-trilemma-title-3": "Безопасность и децентрализованность", + "page-upgrades-vision-trilemma-title-4": "Децентрализованность и масштабируемость", + "page-upgrades-vision-trilemma-title-5": "Масштабируемость и безопасность", + "page-upgrades-vision-understanding": "Понимание концепции Ethereum", + "page-upgrades-vision-upgrade-needs": "Необходимость обновлений", "page-upgrades-vision-upgrade-needs-desc": "Протокол Ethereum, запущенный в 2015 году, имел невероятный успех. Но сообщество Ethereum всегда ожидало, что для полного раскрытия потенциала Ethereum потребуется несколько ключевых обновлений.", "page-upgrades-vision-upgrade-needs-desc-2": "Высокий спрос повышает комиссию за транзакции, которые делают Ethereum дорогим для обычного пользователя. Дисковое пространство, необходимое для запуска клиента Ethereum, растет быстрыми темпами. А лежащий в основе алгоритм консенсуса, который обеспечивает безопасность и децентрализованность Ethereum, имеет большое воздействие на окружающую среду.", - "page-upgrades-vision-upgrade-needs-desc-3": "То, что обычно называют Eth2, представляет собой набор обновлений, которые решают эти и многие другие проблемы. Этот набор обновлений изначально назывался Serenity, и с 2014 года он являются активной областью исследований и разработок.", - "page-upgrades-vision-upgrade-needs-desc-6": " Это значит, что Eth2 невозможно включить. Улучшения будут появляться постепенно.", - "page-upgrades-vision-upgrade-needs-serenity": "Посмотрите запись в блоге 2015 года о Serenity", - "page-upgrades-vision-upgrade-needs-desc-5": "Теперь, когда технология готова к использованию, эти обновления перепроектируют архитектуру программного обеспечения Ethereum, чтобы сделать его более масштабируемым, безопасным и экологичным и улучшить работу для существующих пользователей и привлечь новых. Все это при сохранении основной ценности Ethereum - децентрализации." + "page-upgrades-vision-upgrade-needs-desc-3": "Ethereum имеет набор обновлений, которые решают эти и другие проблемы. Эти обновления изначально назывались Serenity и Eth2, и с 2014 года они являются областью для активных исследований и разработок.", + "page-upgrades-vision-upgrade-needs-desc-5": "Теперь, когда технология готова, эти обновления изменят архитектуру Ethereum, чтобы сделать его более масштабируемым, безопасным и устойчивым, чтобы улучшить жизнь существующих пользователей и привлечь новых. И все это при сохранении основной ценности Ethereum — децентрализации.", + "page-upgrades-vision-upgrade-needs-desc-6": "Это означает, что масштабируемости нельзя добиться одномоментно. Улучшения будут вводиться постепенно.", + "page-upgrades-vision-upgrade-needs-serenity": "Посмотреть запись в блоге от 2015 года о Serenity" } diff --git a/src/intl/ru/page-upgrades.json b/src/intl/ru/page-upgrades.json index e904527d85f..1aa783b3649 100644 --- a/src/intl/ru/page-upgrades.json +++ b/src/intl/ru/page-upgrades.json @@ -1,3 +1,5 @@ { - "page-upgrades-beacon-date": "Отправленный!" + "page-upgrades-beacon-date": "Отправлено!", + "page-upgrades-merge-date": "Примерно 3/4 квартал 2022 г.", + "page-upgrades-shards-date": "Примерно 2023 г." } From b361e7dfc12f51c52409b325990e73764a7b5b0f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 12 May 2022 16:58:39 -0600 Subject: [PATCH 130/167] rename variables and add some documentation --- src/pages/stablecoins.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/pages/stablecoins.js b/src/pages/stablecoins.js index ea3dfa1b518..460e64c5943 100644 --- a/src/pages/stablecoins.js +++ b/src/pages/stablecoins.js @@ -320,23 +320,25 @@ const StablecoinsPage = ({ data }) => { useEffect(() => { ;(async () => { try { - // No option to filter by stablecoins, so fetching the top tokens by market cap - + // Fetch token data in the Ethereum ecosystem const ethereumData = await getData( "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&category=ethereum-ecosystem&order=market_cap_desc&per_page=100&page=1&sparkline=false" ) + // Fetch token data for stablecoins const stablecoinData = await getData( "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&category=stablecoins&order=market_cap_desc&per_page=100&page=1&sparkline=false" ) - const filteredData = stablecoinData.filter( + // Get the intersection of stablecoins and Ethereum tokens to only have a list of data for stablecoins in the Ethereum ecosystem + const ethereumStablecoinData = stablecoinData.filter( (stablecoin) => ethereumData.findIndex( (etherToken) => stablecoin.id == etherToken.id ) > -1 ) - const markets = filteredData + // Filter stablecoins that aren't in stablecoins useMemo above, and then map the type of stablecoin and url for the filtered stablecoins + const markets = ethereumStablecoinData .filter((token) => { return stablecoins[token.symbol.toUpperCase()] }) From da33e2d59b5ac77fbcac1b62a166998250ae1c55 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 12 May 2022 16:41:29 -0700 Subject: [PATCH 131/167] sw Upgrades import latest from Crowdin --- src/content/translations/sw/eips/index.md | 67 ++++++ .../sw/upgrades/beacon-chain/index.md | 68 ++++++ .../translations/sw/upgrades/merge/index.md | 68 ++++++ .../sw/upgrades/shard-chains/index.md | 112 ++++++++++ .../sw/page-staking-deposit-contract.json | 27 +++ src/intl/sw/page-staking.json | 63 ++++++ ...page-upgrades-get-involved-bug-bounty.json | 95 ++++++++ src/intl/sw/page-upgrades-get-involved.json | 47 ++++ src/intl/sw/page-upgrades-index.json | 208 ++++++++++++++++++ src/intl/sw/page-upgrades-vision.json | 77 +++++++ src/intl/sw/page-upgrades.json | 5 + 11 files changed, 837 insertions(+) create mode 100644 src/content/translations/sw/eips/index.md create mode 100644 src/content/translations/sw/upgrades/beacon-chain/index.md create mode 100644 src/content/translations/sw/upgrades/merge/index.md create mode 100644 src/content/translations/sw/upgrades/shard-chains/index.md create mode 100644 src/intl/sw/page-staking-deposit-contract.json create mode 100644 src/intl/sw/page-staking.json create mode 100644 src/intl/sw/page-upgrades-get-involved-bug-bounty.json create mode 100644 src/intl/sw/page-upgrades-get-involved.json create mode 100644 src/intl/sw/page-upgrades-index.json create mode 100644 src/intl/sw/page-upgrades-vision.json create mode 100644 src/intl/sw/page-upgrades.json diff --git a/src/content/translations/sw/eips/index.md b/src/content/translations/sw/eips/index.md new file mode 100644 index 00000000000..4328c953088 --- /dev/null +++ b/src/content/translations/sw/eips/index.md @@ -0,0 +1,67 @@ +--- +title: Pendekezo la Uboreshaji wa Ethereum(EIPs) +description: Maelezo ya msingi unayohitaji kuelewa Mapendekezo ya Uboreshaji wa Ethereum (EIPs). +lang: sw +sidebar: true +--- + +# Utangulizi wa Mapendekezo ya Uboreshaji wa Ethereum (EIPs) {#introduction-to-ethereum-improvement-proposals-eips} + +## EIPs ni nini? {#what-are-eips} + +[Mapendekezp ya Uboreshajhi wa Ethereum (EIPs)](https://eips.ethereum.org/) ni viwango vinavyobainisha vipengele vipya vinavyowezekana au michakato ya Ethereum. EIPs zina maelezo ya kiufundi ya mabadiliko yanayopendekezwa na hufanya kama "chanzo cha ukweli" kwa jumuiya. Visasisho vya mtandao na viwango vya matumizi ya Ethereum vinajadiliwa na kuendelezwa kupitia mchakato wa EIP. + +Mtu yeyote ndani ya jumuiya ya Ethereum ana uwezo wa kuunda EIP. Miongozo ya kuandika EIP imejumuishwa kwenye [EIP1](https://eips.ethereum.org/EIPS/eip-1). EIP inapaswa kutoa maelezo mafupi ya kiufundi ya kipengele na mantiki yake. Mwandishi wa EIP anawajibu wa kujenga maelewano ndani ya jumuiya na kuandika maoni yanayopingana. Kwa kuzingatia upau wa juu wa kiufundi wa kuwasilisha EIP iliyoundwa vizuri, kihistoria, waandishi wengi wa EIP wamekuwa wasanidi programu au itifaki. + +## Kwa nini EIPs ni muhimu? {#why-do-eips-matter} + +EIPs huchukua jukumu kuu katika mabadiliko yanavyotokea na kurekodiwa kwenye Ethereum. Ndio njia ya watu kupendekeza, kujadili na kupitsha mabadiliko. Kuna [aina tofauti za EIPs ](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md#eip-types)ikijumuisha EIP za msingi kwa ajili ya mabadiliko ya itifaki ya kiwango cha chini ambayo yanaathiri makubaliano na kuhitaji usasishaji wa mtandao pamoja na ERCs kwa viwango vya maombi. Kwa mfano, viwango vya kutengeneza tokeni, kama [ERC20](https://eips.ethereum.org/EIPS/eip-20)ama[ERC721](https://eips.ethereum.org/EIPS/eip-721) hurusu programu zinazoingiliana na hizi tokeni kushughulikia tokeni zotye kwa kutumia masharti yaleyale, ambayo hurahisisha uundaji wa programu zinazoingiliana. + +Kila boresha/sasisho la mtandao hujumuisha na seti ya EIPs amabazo zinahitaji utekelezaji kwa kila [ mteja/programu ya Ethereum](/learn/#clients-and-nodes) ilioko kwenye mtandao. Hii inamaana kwamba ili kuwa na makubaliano na programu zingine juu ya Mtandao mkuu wa Ethereum, wasanidi programu wanatakiwa kuhakikisha kua wametekeleza EIPs zote zinazohitajika. + +Pamaoja na kutoa maelezo ya kiufundi kwa ajili ya mabadiliko, EIPs ni kitengo amabacho usimamizi wake hufanyika ndani ya Ethereum: mtu yeyote yuko huru kutoa pendekezo, na kisha wadau mbalimbali katika jamii watajadiliana ili kubaini kama inafaa kupitishwa kama kiwango au kujumuishwa katika uboreshaji wa mtandao. Kwa kua EIPs ambazo sio za msingi hazihitaji kuwekwa kwenye kila programu (kwa mfano, unaweza kuunada tokeni isyo-[ERC20](https://eips.ethereum.org/EIPS/eip-20)), lakini EIP za msingi lazima zipitishwe kw upana (maana nodi zote lazima zisasishwe ili ziwe sehemu ya mtandao mmoja), EIPs za msingi huzingatia mipaka ya makubaliano ndani ya jamii kuliko zile ambazo sii za msingi. + +## Historia ya EIPs {#history-of-eips} + +[Hazina ya Mapendekezo ya Uboreshwaji wa Ethereum (EIPs)yalioko Github](https://github.com/ethereum/EIPs)yaliundwa mwezi Oktoba, 2015. Mchakato wa EIP unategemea/ kuangalia [ Mapendekezo ya Uboreshwaji wa Bitcoin (BIPs)](https://github.com/bitcoin/bips), ambayo yenyewe inajilinganisha /kutegemea mabadiliko yanayoendelea kwenye mchakato wa [ Mapendekezo ya Uboreshwaji wa Python (PEPs)](https://www.python.org/dev/peps/). + +Wahariri wa EIP wanapewa jukumu la kufanya mchakato wa uhakiki wa kiufundi, sarufi/tahjia, na aina ya msimbo sahihi. Martin Becze, Vitalik Buterin, Gavin Wood na wengine wachache ndio wahariri waanzilishi wa EIP kutoka mwaka 2015 kwenda mwishoni mwa mwaka 2016. Wahariri wa sasa wa EIP ni: + +- Alex Beregszaszi (EWASM/Msingi wa Ethereum) +- Greg Colvin (Jamii) +- Caseu Detrio (EWASM Msingi wa Ethereum) +- Matt Garnett (Mto) +- Hudson James (Msingi wa Ethereum) +- Nick Johnson (ENS) +- Nick Savers (Jamii) +- Micah Zoltu (Jamii) + +Wahariri wa EIP pamoja na wanachama wa jamii ya [Ethereum Cat Herders](https://ethereumcatherders.com/) na [Ethereum Magicians](https://ethereum-magicians.org/) wataamua EIP zipi zifanyiwe kazi, wanawajibu wa uwezeshaji wa EIPs pamoja na kuhamisha EIPs kwenda kwenye hatua ya "Mwisho" ama "Iliyotolewa". + +Mchakato kamili wa usanifishaji pamoja na chati umeelezewa ndani ya [EIP-1](https://eips.ethereum.org/EIPS/eip-1) + +## Jifunze zaidi {#learn-more} + +Kama ungependa kusoma zaidi juu ya EIPs, nenda kwenye [tovuti ya EIPs ](https://eips.ethereum.org/)unaweza kupata taarifa zaidi, pamoja na: + +- [Aina tofauti za EIPs](https://eips.ethereum.org/) +- [Orodha ya kila EIPs iliyokwisha tengenezwa](https://eips.ethereum.org/all) +- [Takwimu za EIP na maana zake](https://eips.ethereum.org/) + +## Shiriki {#participate} + +Mtu yeyote anaweza kuunda EIP ama ERC japo wanapaswa kusoma [EIP-1](https://eips.ethereum.org/EIPS/eip-1)inayotoa muhtasari wa mchakato wa EIP, EIP ni nini, aina za EIP, nini kinapaswa kuewepo kwenye hati ya EIP, muundfo wa EIP na kielezo, orodha ya Wahariri wa EIp na yote unayohitaji kujua kuhusu EIP kabla ya kutenegeza ya kwako. EIP yako mpya inapaswa kufafanua kipengele kipya ambacho si changamani sana bado si nafasi kuu na kinaweza kutumiwa na miradi katika mfumo ikolojia wa Ethereum. Sehemu ngumu zaidi ni uwezeshaji, wewe kama mwandishi unahitaji kuwezesha watu karibu na EIP yako, kukusanya maoni, kuandika makala kuelezea matatizo ambayo EIP yako inasuluhisha na ushirikiane na miradi ili kutekeleza EIP yako. + +Kama umevutiwa fuata mjadala au toa mawazo juu ya EIP, angalia [Ethereum Magicians Forums](https://ethereum-magicians.org/), sehemu EIPs zinapojadiliwa na jamii. + +Pia tazama: + +- [Jinsi ya kuunda EIP](https://eips.ethereum.org/EIPS/eip-1) + +## Kumbukumbu {#references} + + + +Maudhui ya ukurasa yaliyotolewa kwa sehemu kutoka [Utawala wa Maendeleo ya Itifaki ya Ethereum na Uratibu wa Uboreshaji wa Mtandao](https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) ulioandikwa na Hudson Jameson + + diff --git a/src/content/translations/sw/upgrades/beacon-chain/index.md b/src/content/translations/sw/upgrades/beacon-chain/index.md new file mode 100644 index 00000000000..5e19bfe212a --- /dev/null +++ b/src/content/translations/sw/upgrades/beacon-chain/index.md @@ -0,0 +1,68 @@ +--- +title: Mnyororo Kioleza +description: Jifunze juu ya Mnyororo Kioleza - Kisasisho kilichoanzishwa na Ethereum ya uthibitisho-wa-hisa. +lang: sw +template: upgrade +sidebar: true +image: ../../../../../assets/upgrades/core.png +summaryPoint1: Mnyororo Kioleza haitabadili kitu chochote katika Ethereum ya leo. +summaryPoint2: Itaratibu mtandao, na kutumikia kama safu ya makubaliano. +summaryPoint3: Inatoa muhtasari wa uthibitisho-wa-hisa kwenyeikolojia ya Ethereum. +summaryPoint4: Unaweza kua unaitambua hii kama "Awamu 0" kwenye mipango ya kitaalamu. +--- + + + Mnyororo wa Kioleza ulisafirishwa Disemba 1 saa sita mchana wakati wa ulimwengu ulioratibiwa. Kujifunza zaidi, chunguza taarifa. Kama unataka kuhalalisha mnyororo, unaweza kuweka ETH yako kama hisa. + + +## Myororo wa Kioleza ni nini? {#what-does-the-beacon-chain-do} + +Mnyororo wa Beacon utaendeleza mwenendo wa kutanua mtandao wake wa [shards](/upgrades/shard-chains/) na [wanahisa](/staking/). Lakini haitakua kama [mtandao mkuu wa Ethereum](/glossary/#mainnet) wa leo. Inaweza kuhimili akaunti au mikataba mahiri. + +Jukumu ya mnyororo wa Kioleza litabadilika baada ya mda ila sehemu ya msingi ya [usalama, kuendeleza na ubadilikaji wa Ethereum tunayoijenga](/upgrades/vision/). + +## Sura za mnyororo wa Kioleza {#beacon-chain-features} + +### Kuanzisha hisa {#introducing-staking} + +Mnyororo wa Kioleza utaingiza [uthibitisho-wa-hisa](/developers/docs/consensus-mechanisms/pos/) kwenye Ethereum. Hii ndio njia mpya ya wewe kusaidia Ethereum kua salama. Ifikirie kama faida kw jamii ambayo itafanya Ethereum kua na afya na kukutenegenezea hela zaidi wakati wa mchakato. Kiuhalisia, itahusisha wewe kuweka hisa za ETH ili kuamsha programu. Kama mthibitishaji utafanya mchakato wa shughuli za pesa na utaunda vitalu vipya kwenye mnyororo. + +Kuweka hisa na kua mt hibitishaji ni rahisi kuliko [kuchimba](/developers/docs/mining/)(jinsi ambavyo mtandao ni saklama kwa sasa). Mwishowe hii inamatumaini itasaidia Ethereum kua salama zaidi. Jinsi watu wengi wanavyoshiriki katika mtandao, ndivyo unavyozodi kujitegemea na salama kutoka kwa shambulio litakalokuja. + + +Kama ungependa kua mthibitishaji na kusaidia kulinda mnyororo wa Kioleza, jifunze zaidi jinsi ya kuweka hisa. + + +Hili pia ni badiliko muhumu kwa ajili ya uboreshaji wa Eth2:[minyororo ya vigae](/upgrades/shard-chains/). + +### Maandalizi ya minyororo ya shards {#setting-up-for-shard-chains} + +Baada ya mtandao mkuu kuungana na mnyororo wa Kioleza, Uboreshaji utakaofuata utaanzisha minyororo ya shard kwenda kwenye mtandao wa uthibitisho-wa-hisa. Hizi "shards" zitaongeza nafasi kwenye mtandao na kuendeleza kasi za shughuli kwa kutanua mtandao kufikia minyororo ya vitalu 64. Mnyororo Kioleza ni hatua ya kwanza muhimu katika uanzilishi wa minyororo ya shard, hii ni kwasababu inahitaji hisa ili kufanya kazi kwa usalama. + +Mwishowe mnyororo Kioleza utakua na wajibu wa kugawa ruhusa kwa wanahisa bila mpangilio ili kuthibitisha minyororo ya vigae. Hii ni funguo ya kuweka ugumu kwa wanahisa ili wasiungane na kuteka nyara shard. Vizuri basi, hii inamaanisha [wanachini ya 1 katika nafasi trilioni](https://medium.com/@chihchengliang/minimum-committee-size-explained-67047111fa20). + +## Mahusiano kati ya visasisho {#relationship-between-upgrades} + +Visasisho vyote vya Eth2 vinahusiana kwa kiasi fulani. Basi hebu tukumbushe jinsi mnyororo wa Beacon(Kioleza) unavyoathiri visasisho vingine. + +### Mtandao mkuu na mnyororo Kioleza {#mainnet-and-beacon-chain} + +Mnyororo Kioleza, mwanzoni, itakuwa imetengana na Mtandao mkuu wa Ethereum tunaotumia leo hii. Lakini mwishowe vitaunganishwa. Mpango ni "kuunganisha" Mtandao Mkuu kwenye mfumo wa uthibitisho-wa-hisa amabao Mnyororo Kioleza unaudhibiti na kuuratibu. + + + Unganisha + + +### Vigae na Mnyororo Kioleza {#shards-and-beacon-chain} + +Minyororo ya Vigae itakua salama kuingia katika ikolojia ya Ethereum pale tu utaratibu wa makubaliano kwenye uthibitisho-wa-hisa utakapochukua nafasi. Mnyororo Kioleza utaanzisha hisa, ikitengeneza njia ili uboreshwaji wa mnyororo-kigae ufuate. + + + Minyororo ya Kigae + + + + +## Ingiliana na Mnyororo Kioleza {#interact-with-beacon-chain} + + diff --git a/src/content/translations/sw/upgrades/merge/index.md b/src/content/translations/sw/upgrades/merge/index.md new file mode 100644 index 00000000000..b189f270d6c --- /dev/null +++ b/src/content/translations/sw/upgrades/merge/index.md @@ -0,0 +1,68 @@ +--- +title: Muungano +description: Jifunze kuhusu muunganiko - ambapo mtandao mkuu wa Etheream utakapoungana na Mnyororo Kioleza ulioratibu mfumo wa uthibitisho-wa-hisa. +lang: sw +template: upgrade +sidebar: true +image: ../../../../../assets/upgrades/merge.png +summaryPoint1: Hatimaye Ethereum ya sasa itafanya "muungano" na mfumo wa uthibitisho-wa-hisa wa mnyororo kioleza. +summaryPoint2: Hii itaweka alama ya kuhitumu kwa ethereum ya uthibitisho-wa-kazi, na mpito mzima kwenda kwenye uthibitisho-wa-hisa. +summaryPoint3: Hii imepangwa kutangulia utolewaji wa minyororo ya vigae. +summaryPoint4: Kabla tuliita hii hatua kama "utiaji nanga" +--- + + + Sasisho hili linawakilisha mabadiliko rasmi kuwa makubaliano ya uthibitisho-wa-hisa. Hii inaondoa mahitaji ya umeme wenye nguvu wakati wa uchimbaji, na badala yake italinda mtandao kwa kutumia ether iliopo. Hatua ya kusisimua kweli katika kutambua maono ya Eth2 - inayoweza kubadilika zaidi, yenye usalama na endelevu. + + +## Muunganisho ni nini? {#what-is-the-docking} + +Ni muhimu kukumbuka kwamba mwanzoni, [Mnyororo Kioleza](/upgrades/beacon-chain/)ulitenganishwa na [Mtandao Mkuu](/glossary/#mainnet) wakati wa usafirishaji - mtandao tunaoutumia leo hii. Mtandao mkuu wa Ethereum utaendelea kulindwa na [uthibitisho-wa-kazi](/developers/docs/consensus-mechanisms/pow/), hata pale Myororo Kioleza utakapofanya kazi sambamba uklitumia [uthibitisho-wa-hisa](/developers/docs/consensus-mechanisms/pos/). Muunganisho ni pale mifumo hii miwili itakapokuwa pamoja. + +Fikiria kwamba Ethereum ni chombo cha anga kilichotayari kusafiri katikati ya nyota mablimbali. Pamoja na Mnyororo wa Kioleza jamii imeunda injini mpya na ganda ngumu. Wakati ukifika, meli ya sasa itapanda gati na mfumo huu mpya, ikiungana kuwa meli moja, tayari kuweka miaka mingine mizito na kuchukua ulimwengu. + +## Kuunganika na Mtandao Mkuu {#docking-mainnet} + +Wkati iko tayari, Mtandao Mkuu wa Ethereum "itaungana" na Mnyororo Kioleza, kisha kitakuwa kipande chake kinachojitegemea kinachotumia uthibitisho-wa-hisa bala ya [uthibitisho-wa-kazi](/developers/docs/consensus-mechanisms/pow/). + +Mtandao Mkuu utaleta uwezo wa kuendesha mikataba mahiri kwenye mfumo wa uthibitisho-wa-hisa, pamoja na historia kamili na hali ya sasa ya Ethereum, kuhakikisha kuwa mabadiliko ni laini kwa wamiliki na watumiaji wote wa ETH. + +## Baada ya muunganisho {#after-the-merge} + +Hii itaashiria kumalizika kwa uthibitisho-wa-kazi kwa Ethereum na kuanza enzi ya Ethereum endelevu zaidi, rafiki kwa ikolojia ya mazingira. Kwa wakati huu Ethereum itakuwa hatua moja karibu na kufikia kiwango kamili, usalama na uendelevu ulioainishwa katika [Maono ya Ethereum](/upgrades/vision/). + +Ni muhimu kutambua kuwa lengo la utekelezaji wa unganisho ni urahisishaji ili kuharakisha mabadiliko kutoka kwa uthibitisho-wa-kazi hadi uthibitisho-wa-hisa. Waendelezaji wanazingatia juhudi zao kwenye mpito huu, na kupunguza huduma zingine ambazo zinaweza kuchelewesha lengo hili. + +** Hii inamaanisha huduma chache, kama vile uwezo wa kutoa ETH iliyodumu, italazimika kusubiri kwa muda mrefu baada ya muunganiko kukamilika. ** Mipango ni pamoja na "usafishaji" wa baada ya kuungana sasisha kushughulikia huduma hizi, ambazo zinatarajiwa kutokea mapema sana baada ya unganisho kukamilika. + +## Mahusiano kati ya visasisho {#relationship-between-upgrades} + +Visasisho vyote vya Eth2 vinahusiana kwa kiasi fulani. Kwahio tukumbushie jinsi muungano huu unavyohusiana na visasisho vingine. + +### Muungano na Mnyororo Kioleza {#docking-and-beacon-chain} + +Pale tu muungano utakapotokea, wamililiki wa hisa watapewa mamlaka ya kuthibitisha Mtandao Mkuu wa Ethereum. [Uchimbaji](/developers/docs/consensus-mechanisms/pow/mining/)hautahitajika tena kwa hivyo wachimbaji watawekeza mapato yao kwa kusimama katika mfumo mpya wa uthibitisho-wa-hisa. + + + Beacon chain + + +### Muungano na usafi wa baada ya kuungana {#merge-and-post-merge-cleanup} + +Mara tu baada ya muungano, baadhi ya huduma kama vile kutoa ETH iliyodumu, hazitakua zinafanya kazi. Hizi zimepangwa kwa sasisho tofauti kufuata muda mfupi baada ya kuungana. + +Pata habari mpya katika [Kurasa za Utafiti na Maendeleo EF](https://blog.ethereum.org/category/research-and-development/). Kwa wale wanaotamani kujua, jifunze zaidi kuhusu [Nini Kitatokea Baada Ya Muungano](https://youtu.be/7ggwLccuN5s?t=101), iliyowasilishwa na Vitalik katika hafla ya Aprili 2021 ETH-Ulimwenguni. + +### Muungano na minyororo ya vigae {#docking-and-shard-chains} + +Hapo awali, mpango huo ulikuwa ukifanya kazi kwenye minyororo iliyokatwa kabla ya kuungana - kushughulikia hali ya ubadilikaji. Walakini, na kuongezeka kwa [suluhisho la kuongeza safu ya 2](/developers/docs/scaling/#layer-2-scaling), kipaumbele kimehamia kwenye kubadilisha uthibitisho-wa-kazi kuwa uthibitisho-wa-hisa kupitia muungano. + +Hii itakuwa tathmini inayoendelea kutoka kwa jamii juu ya hitaji la raundi nyingi za vipande vya minyororo ili kuruhusu uendelevu usio na mwisho. + + + Vipande vya minyororo + + +## Soma zaidi {#read-more} + + diff --git a/src/content/translations/sw/upgrades/shard-chains/index.md b/src/content/translations/sw/upgrades/shard-chains/index.md new file mode 100644 index 00000000000..421d6857b6e --- /dev/null +++ b/src/content/translations/sw/upgrades/shard-chains/index.md @@ -0,0 +1,112 @@ +--- +title: Minyororo ya Vigae +description: Jifunze juu ya minyororo ya shard - sehemu za mtandao ambazo zinampa Ethereum uwezo zaidi wa shughuli na iwe rahisi kukimbia. +lang: sw +template: upgrade +sidebar: true +image: ../../../../../assets/upgrades/newrings.png +summaryPoint1: Ugawanyaji wa vigae ni kazi ya usasishaji yenye awamu nyingi ili kuboresha utanukaji wa Ethereum na ujazo wake. +summaryPoint2: Minyororo ya vigae hutoa huduma nafuu zaidi kwa ajili ya safu za kuhifadhi programu na sehemu za kutunza data. +summaryPoint3: Zinawezesha suluhisho la safu ya 2 kupunguza ada ya muamala huku ikiinua usalama wa Ethereum. +summaryPoint4: Maboresho haya yanatarajiwa kufuata muungano wa mtandao mkuu na Mnyororo Kioleza. +--- + + + Vipande vya minyororo vitasafisrishwa muda fulani mwaka 2023, hii itategemea kasi ya kazi itakavyoenda baada ya muungano. Vipande hivi vitaipa Ethereum uwezo zaodo kutunza na upatikanaji wa taarifa, ila hautatumika kwenye utekelezaji wa msimbo. + + +## Kuvunja nin nini? {#what-is-sharding} + +Kuvunja ni mchakato wa kutenganisha hifadhidata kwa usawa ili kusamabaza uzito -- ni dhana ya kawaida kaika sayansi ya tarakinishi. Katika muktadha wa Ethereum, kukata itapunguza msongamano wa mtandao na kuongeza shughuli kwa sekunde kwa kuunda minyororo mipya, ijulikanayo kama "vipande". + +Hii ni muhimu kwa sababu zingine isipokuwa utanukaji. + +## Vipengele vya vigae {#features-of-sharding} + +### Kila mtu anaweza kuendesha nodi {#everyone-can-run-a-node} + +Ugawanyaji ni njia nzuri ya uboreshaji kama unataka kuweka nguvu nje ya wamiliki wa madaraka kama njia mbadala ni kutanua wigo kwa kuongeza ujazo wa hifadhidta iliopo. Hii itafanya Ethereum isipatikane kwa wathibitishaji wa mtandao kwa sababu watahitaji tanakirishi zenye nguvu na za gharama kubwa. Kukiwa na vipand vya minyororo, wathibitishaji watahitaji kuhifadhi/kuendesha data ya vigae wanavyothibitisha, sio mtandao mzima(kama kinachotokea leo hii). Hii itaongeza kasi na itapunguza sana mahitaji ya vifaa. + +### Ushiriki zaidi wa mtandao {#more-network-participation} + +Mwishowe ugawannyaji huu utaruhusu Ethereum kuendeshwa kwenye tarakinishi(kompyuta) ndogo au simu. Kwahio watu wengi zaidi wnatakiwa kuweza kushiriki, au kuendesha[wateja](/developers/docs/nodes-and-clients/), ndani ya Ethereum iliogawanywa. Hii itaongeza usalama zaidi kwasababu jinsi mtandao unavyojitegemea, ndivyo nafasi ya uvamizi inapungua. + +Na mahitaji ya chini ya vifaa, ugawanyaji utafanya iwe rahisi kuendesha [wateja](/developers/docs/nodes-and-clients/)wewe mwenyewe, bila kutegemea huduma za mpatanishi. Na ikiwa unaweza, fikiria kuendesha wateja wengi. Hii inaweza kusaidia afya ya mtandao kwa kupunguza zaidi alama za kutofaulu. [Endesha programu ya Mnyororo Kioleza](/upgrades/get-involved/) + +
+ + + Mara ya kwanza, utahitaji kuendesha programu ya mtandao mkuu (mainnet) kwa wakati mmoja na programu yako ya Eth2. Uzinduzi wa pediitakuelekeza mahitaji ya vifaa na mchakato. Vinginevyo unaweza kutumia mawasiliano ya nyuma ya programu(backend API). + + +## Minyororo ya vugae toleo 1: Upatikanaji wa data {#data-availability} + +Minyororo ya vigae itakaposafirishwa itatoa huduma ya kuupa mtandao data zaidi tu. Haitagusa mwenendo wa pesa wala mikataba erevu. Lakini bado watatoa maboresho ya ajabu kwa miamala kwa kila sekunde yakiunganishwa na uboreshaji. + +Uboreshwaji ni teknolojia ya "safu 2" ambayo ipo leo. Zinaruhusu programu zilizogatuliwa kuunda kifungu cha miamala mabali mbali kuwa muamala mmoja ulioko nje ya mnyororo, kuzalisha uthibitisho wa kriptografia na kisha kuwasilisha kwenye mnyororo. Hii inapunguza data inayohitajika kwwenye muamala. Changanya hii na upatikanaji wote wa ziada wa data unaotolewa na vigae na unapata miamala 100,000 kwa sekunde. + + + Kwa kuzingatia maendeleo ya hivi majuzi katika utafiti na ukuzaji wa suluhisho la safu ya 2, hii imesababisha kipaumbele cha uboreshwaji wa muunganiko kabla ya minyororo kigae. Haya ndio yatakua malengo yanayofuata mtandao mkuu kwenda kuwa uthibitisho-wa-hisa. + +[Zaidi juu ya mafungu](/wasanidiprogramu/docs/ukuaji/safu--mafungu) + + +## Minyororo ya vipande toleo 2: utekelezaji wa msimbo {#code-execution} + +Mpango ulikuwa daima kuongeza utendaji wa ziada kwenye vipande, ili kuvifanya zaidi kama[Mtandao Mkuu wa Ethereum](/glossary/#mainnet)wa leo. Hii itawaruhusu kutunza na kuendesha msimbo na kusimamia miamala, kwa kua kila kigae kina seti tofauti ya mkataba erevu na salio la akaunti. Mawasliano kati ya vigae ingeweza kuruhusu miamala kati ya kigae na kigae. + +Lakini kwa kuzingatia miamala kwa sekunde ilioongezeka ambayo toleo la 1 la vigae hutoa, hii bado inahitaji kutokea? Hili bado linajadiliwa kwenye jumuiya na inaonekana kuna chaguzi kadhaa. + +### Je vigae vinahitaji utekelezaji wa msimbo? {#do-shards-need-code-execution} + +Vitalik Buterin, alipokua anaongea na podikasti ya bila benki "Bankless podcast", aliwasilisha chaguzi 3 zilizokua na uzito wa kujadili. + + + +#### 1. Utekelexaji wa hali hauhitajiki {#state-execution-not-needed} + +Hii inamaana hatuvupi vigae uwezo wa kusimamia mikataba erevu na kuviacha kama bohari ya data. + +#### 2. Pata utekelezaji wa vigae {#some-execution-shards} + +Wenda kuna maelewano ambapo hatutahitaji vigae vyote(64 ilivopangwa sasa) to be smater. Tungeweza kuongezea utendakazi huu kwa vichache tu na kuacha vingine. Hii ingeongeza kasi ya utoaji. + +#### 3. Subiri mpaka tutakapoweza kufanya utambuzi sifurio (ZK) kwa nyoka {#wait-for-zk-snarks} + +Hatimaye, wenda tunatakiwa kupitia upya mjadala huu ZK zitakaposimamishwa. Hii ni teknolojia ambayo ingesaidia kuleta miamala ya kweli iliobinafsi kwenye mtandao. Kuna uwezekano zitahitaji vigae erevu zaidi, lakini bado ziko kwenye uchungizi na uundaji. + +#### Rasilimali zingine {#other-sources} + +Fikra zinaoingia kwenye mstari huo huo: + +- [Fezi ya kwanza na Imeisha: Eth2 kama injini ya upatikanaji wa data](https://ethresear.ch/t/phase-one-and-done-eth2-as-a-data-availability-engine/5269/8) -_cdetrio, ethresear.ch_ + +Huu ni mjadala unaoendelea kwa sasa. Tutasasihsha kurasa hizi mara moja tutakapojua zaidi. + +## Mahusiano kati ya visasisho {#relationship-between-upgrades} + +Visasisho vyote vya Eth2 vinahusiana kwa kiasi fulani. Basi hebu tukumbushe jinsi mnyororo wa Beacon(Kioleza) unavyoathiri visasisho vingine. + +### Vigae na Mnyororo Kioleza {#shards-and-beacon-chain} + +Mnyororo Kioleza ina mantiki yote ya kulinda vigae na kuhakikisha vimesawazishwa. Mnyororo Kioleza utaratibu wanahisa kwenye mtandao, kuwagawia viage wanavyohitaji kufanyia kazi. Na pia itawezwesha mawasiliano kati ya vigae kwa kupokea na kutunza data ya muamala wa kigae amabao utakua unapatikana kama vigae vingine vitahitaji kuutumia. Hii itaipa vigae picha ya hali ya Ethereum ili kusasisha kila kitu. + + + Mnyororo Kioleza + + +### Vigae na Muungano {#shards-and-docking} + +Mda ukifika vigae vya ziada vitakapoongezwa, Mtandao Mkuu wa Ethereum utakua umeshawekwa salama na Mnyororo Kioleza ukitumia uthibotisho wa kazi. Hii inawezesha mtandao mkuu wenye rutuba ili ujenge minyororo ya viagae kwa kuutumia, ukipewa nguvu na ufumbuzi safu namba 2 ambayo utakimbiza ukuaji. + +Itabaki ili ionekane kama mtandao mkuu utabaki kama kigae "erevu" kitakachoshughulikia utekelezaji wa msimbo -- lakini, maamuzi ya utanuzi wa vigae utaarudiwa kadiri ya mahitaji. + + + Muungano + + + + +### Soma zaidi {#read-more} + + diff --git a/src/intl/sw/page-staking-deposit-contract.json b/src/intl/sw/page-staking-deposit-contract.json new file mode 100644 index 00000000000..a91b7d6bb3b --- /dev/null +++ b/src/intl/sw/page-staking-deposit-contract.json @@ -0,0 +1,27 @@ +{ + "page-staking-deposit-contract-address": "Anwani ya mkataba wa amana ya hisa", + "page-staking-deposit-contract-address-caption": "Tumeongeza nafasi ili kurahisisha usomaji wa anwani", + "page-staking-deposit-contract-address-check-btn": "Kagua anwani ya amana ya mkataba", + "page-staking-deposit-contract-checkbox1": "Nimeshatumia pedi ya uzinduzi kutayarisha mthibitishaji wangu wa Ethereum.", + "page-staking-deposit-contract-checkbox2": "Naelewa kuwa nahitaji kutumia pedi ya uzinduzi kuweka hisa. Uhamisho mrahisi hautafanya kazi kwenda kwenye anwani hii.", + "page-staking-deposit-contract-checkbox3": "Nitakagua anwani ya kataba wa amana kwenye vyanzo vingine.", + "page-staking-deposit-contract-confirm-address": "Thibitisha ili kuweka anwani wazi", + "page-staking-deposit-contract-copied": "Anwani ilionakiliwa", + "page-staking-deposit-contract-copy": "Nakili Anwani", + "page-staking-deposit-contract-etherscan": "Angalia mkataba kwenye Etherscan", + "page-staking-deposit-contract-h2": "Hapa sipo unapoweka hisa", + "page-staking-deposit-contract-launchpad": "Weka hisa kwa kutumia pedi ya uzinduzi", + "page-staking-deposit-contract-launchpad-2": "Tumia pedi ya uzinduzi", + "page-staking-deposit-contract-meta-desc": "Thibitisha amana ya anwani ya mkataba kwa ajili ya kuweka hisa za Ethereum.", + "page-staking-deposit-contract-meta-title": "Anwani ya mkataba wa amana ya hisa ya Ethereum", + "page-staking-deposit-contract-read-aloud": "Soma anwani kwa kuongea", + "page-staking-deposit-contract-reveal-address-btn": "Dhihirisha anwani", + "page-staking-deposit-contract-staking": "Kuweka hisa zako za ETH lazima utumie pedi ya uzinduzi ilioundwa kwa ajilio hio na fuata maelekezo. Kutuma ETH kwenye anwani ilioko kwenye ukurasa huu, haitakufanya wewe kuwa mwanahisa na italeta tokeo la muamala ulioshindwa.", + "page-staking-deposit-contract-staking-check": "Anagalia vyanzo hivi", + "page-staking-deposit-contract-staking-check-desc": "Tunategemea kuwa na anwani batili nyingi na matapeli. Ili uwe salama, kagua anwani ya mkataba wa hisa unayotumia kuweka hisa dhidi ya anwani ilioko kwenye ukurasa huu. Tunashauri uikagua na vyanzo vingine vinavoaminika.", + "page-staking-deposit-contract-staking-more-link": "Zaidi juu ya kusimamisha hisa", + "page-staking-deposit-contract-stop-reading": "Acha kusoma", + "page-staking-deposit-contract-subtitle": "Hii ndio anuani ya kuweka mkataba wa hisa kwenye Ethereum. Tumia ukurasa huu kuhakikisha unatuma fedha kweye anwani sahihi unaposimamisha hisa zako.", + "page-staking-deposit-contract-warning": "Kagua kila herufi au namba kwa makini.", + "page-staking-deposit-contract-warning-2": "Kutuma hela kweye anwani hii haitafanya kazi na haitakufanya wewe mwanhisa. Lazima ufuate maelekezo ya pedi ya uzinduzi." +} diff --git a/src/intl/sw/page-staking.json b/src/intl/sw/page-staking.json new file mode 100644 index 00000000000..8c3fe9a9617 --- /dev/null +++ b/src/intl/sw/page-staking.json @@ -0,0 +1,63 @@ +{ + "page-staking-just-staking": "Kusimamisha", + "page-staking-image-alt": "Picha ya kifaru wa haiba wa pedi ya uzinduzi ya usimamishaji wa hisa.", + "page-staking-51-desc-1": "Kujiunga na mtandao kama mthibitishaji kunawezeshwa na uwekaji wa hisa na kufanywa kuwa rahisi zaidi kwahiyo kunauwezekano mkubwa wa wathibitishaji wengi kuongezeka kwenye mtandao kuliko wale waliopo leo. Hii itafanya aina za uvamizi kama hizi kuwa ngumu zaidi maana gharama itaogezeka maradufu.", + "page-staking-accessibility": "Inayopatikana zaidi", + "page-staking-accessibility-desc": "Na mahitaji rahisi ya maunzi na kupata nafasi ya kujiunga na kundi kama hauna ETH 32, watu wengi wataweza kujiunga na mtandao. Hii itafanya Ethereum kuwa iliogatuliwa zaidi na salama kwa kupunguza eneo la mashabulizi au udukuzi.", + "page-staking-at-stake": "Umeweka hisa yako ya ETH", + "page-staking-at-stake-desc": "Kwasababu lazima uweke hisa zako za ETH ili kuthibitisha miamala na kuunda bloku mpya, unaweza kuipoteza ukijaribu kudanganya mfumo.", + "page-staking-benefits": "Faida za kuweka hisa kwenye Ethereum", + "page-staking-check-address": "Kagua anwani ya amana", + "page-staking-consensus": "Zaidi juu ya utaratibu wa makubaliano", + "page-staking-deposit-address": "Kagua anwani ya amana", + "page-staking-deposit-address-desc": "Kama umeshafuata maelekezo ya kuandaa mfumo wako kwenye pedi ya uzinduzi, utajua unahitaji kufanya muamala kwenda kwenye mkataba wa amana wa hisa. Tunashauri ukaguae anwani kwa umakini sana. Unaweza kupata anwani rasmi kwenye ethereum.org na tovuti zingine zinazoaminika.", + "page-staking-desc-1": "Zawadi zinatolewa kwa vitendo vinavyosaidia mtandao kufikia makubaliano. Utapata zawadi kwa kugonga miamala kwenye bloku mpya au kwa kukagua kazi ya wathibitishaji wengine kwasababu hio inafanya mtandao uendelee kufanya kazi kwa usalama zaidi.", + "page-staking-desc-2": "Japo unaweza kupata zawadi kwa kufanya kazi zinazosaidia mtandao, unaweza kupoteza ETH kwa shughuli hasidi, kwenda nje ya mtandao, na kushindwa kuthibitisha.", + "page-staking-desc-3": "Utahitaji ETH 32 kuwa mthibitishaji kamili au baadhi ya ETH ili kujiunga na kundi la wanahisa. Pia utahitaji kuendesha 'Eth1' au mteja wa Mtandao Mkuu. Pedi ya uzinduzi itakuelekeza mchakato wote na mahitaji ya maunzi. Kwa njia nyingine unaweza kutumia programu za nyuma ili kuingiliana.", + "page-staking-description": "Usimamishaji wa hisa ni tendo la kuweka ETH 32 kama amana ili kuamilisha programu ya uthibitishaji. Kama mthibitishaji utakua na jukumu la kutunza data, kuchakata miamala, na kuongeza bloku mpya kwenye mnyororo. Hii itafanya Etherereum kuwa salama kwa kila mtu na wewe kujipatia ETH mpya wakati wa mchakato huo. Mchakato huu unajulikana kama uthibitishaji-wa-hisa, unaotambulishwa na Mnyororo Kioleza.", + "page-staking-docked": "Zaidi juu ya muungano", + "page-staking-dyor": "Fanya utafiti wako mwenyewe", + "page-staking-dyor-desc": "Hakuna huduma ya uwekaji wa hisa ulioorodheshwa ulio uthibitisho rasmi. Hakikisha unafanya utafiti kidogo ili kutambua huduma gani itakayo kufaa wewe zaidi.", + "page-staking-header-1": "Simamisha hisa zako za ETH kuwa mthibitishaji wa Ethereum", + "page-staking-how-much": "Uko tayari kuweka kiasi gani cha hisa?", + "page-staking-how-to-stake": "Jinsi ya kusimamisha hisa", + "page-staking-how-to-stake-desc": "Yote inategemea ni kiasi gani uko tayari kuweka kama hisa. Utahitaji Eth 32 kuwa mthibitishaji kamaili, lakini unaweza kuweka hisa chache.", + "page-staking-join": "Jiunge", + "page-staking-join-community": "Jiunge na jamii ya wanahisa", + "page-staking-join-community-desc": "EthStaker is a community for everyone to discuss and learn about staking on Ethereum. Join tens of thousands of members from around the globe for advice, support, and to talk all thing staking.", + "page-staking-less-than": "Chini ya", + "page-staking-link-1": "Angalia programu za nyuma za kukuunganisha", + "page-staking-meta-description": "Muhtasari wa jinsi ya kusimamisha hisa za Ethereum: hatari, zawadi, mahitaji, na wapi pa kuifanyia.", + "page-staking-meta-title": "Usimamishaji wa hisa za Ethereum", + "page-staking-more-sharding": "Zaidi juu ya vigae", + "page-staking-pool": "Simamisha hisa kwenye kundi", + "page-staking-pool-desc": "Kama unapungufu ya ETH 32, unaweza kuongeza hisa ndogo kwenye makundi ya wanahisa. Baadhi ya makampuni yanaweza kufanya yote hayo badala yako kwahiyo hautajali kuhusu kuwa mtandaoni mda wote. Kampuni kadhaa za kuangalia hizi hapa.", + "page-staking-rocket-pool": "Unaweza kuweka hisa kwenye bwawa-la-roketi kwa kubadilisha ETH kwenda kwenye tokeni ya bwawa-la-roketi kwanzia ETH 0.01. Unataka kuendesha nodi? unaweza kuendesha nodi ya hisa kwenye bwawa-la-roketi kwanzia ETH 16. ETH inayobaki inapelekwa kwenye itifaki ya bwawa-la-roketi, kwa kutmia ETH walizoweka watumiaji.", + "page-staking-pos-explained": "Maelezo ya uthibitishaji-wa-hisa", + "page-staking-pos-explained-desc": "Usimamishaji wa hisa ndicho unachohitaji kuwa mthibitishaji juu ya mfumo wa uthibitishaji-wa-hisa. Huu ni utaratibu wa makubaliano ambao utachukua nafasi ya mfumo wa uthibitishaji-wa-kazi ulioko hivi sasa. Utaratibu wa makubaliano ndio unaweka minyororo ya bloku kama Ethereum salama na iliogatuliwa.", + "page-staking-pos-explained-desc-1": "Uthibitushaji-wa-hisa unasaidia kuweka mtandao salama kwa njia kadha wa kadha:", + "page-staking-services": "Anagalia huduma zote za usimamishaji wa hisa", + "page-staking-sharding": "Inafungua ugawanyaji wa vigae", + "page-staking-sharding-desc": "Ugawanyaji unawezekana na mfumo wa uthibitisho-wa-hisa tu. Ugawanyaji wa uthibitisho-wa-kazi utapunguza wingi w a nguvu za kompyuta utakaohitajika kufanya ufisadi mtandaoni, kurahisisha wachimbaji hasidi kuchukua udhibiti wa vigae. Hili sio tatizo na uchaguaji wa nasibu wa walioweka hisa kwenye uthibitisho-wa-hisa.", + "page-staking-solo": "Weka hisa peke yako na endesha mfumo wa uthibitishaji", + "page-staking-solo-desc": "Kuanza mchakato wa usimamishaji wa hisa utahitaji kutumia pedi ya uzinduzi ya usimamishaji wa hisa. Hii itakuelekeza jinsi ya kuandaa mazingira. Sehemu ya kuweka hisa ni kuendesha programu ya makubaliano, amabayo ni nakala ya mnyororo wa bloku wa Ethereum. Hii inaweza ikachukua mda kupakua kwenye kompyuta yako.", + "page-staking-start": "Anza kuweka hisa", + "page-staking-subtitle": "Kuweka hisa ni faida kwa umma kwa ikolojia ya Ethereum. Unaweza kusaidia kulinda mtandao na ukapata zawadi wakati wa mchakato.", + "page-staking-sustainability": "Endelevu zaidi", + "page-staking-sustainability-desc": "Wathibitishaji hawaitaji kompyuta zinazotumia umeme mwingi ili kushiriki katika mfumo wa uthibitishaiji-wa-hisa - kompyuta mpakato au simu inafaa. Hii itafanya Ethereum kuwa bora kwa mazingira.", + "page-staking-the-beacon-chain": "Zaidi juu ya Mnyororo Kioleza", + "page-staking-title-1": "Zawadi", + "page-staking-title-2": "Hatari", + "page-staking-title-3": "Mahitaji", + "page-staking-title-4": "Jinsi ya kusimamisha hisa zako za ETH", + "page-staking-upgrades-li": "Uthibitisho-wa-hisa unasimamiwa na Mnyororo Kioleza.", + "page-staking-upgrades-li-2": "Ethereum itakua na uthibitisho-wa-hisa wa Mnyororo Kioleza na uthibitisho-wa-kazi wa Mtandao Mkuu inayoonekana siku zijazo. Mtandao Mkuu ndio Ethereum tuliokuwa tukitumia kwa miaka sasa.", + "page-staking-upgrades-li-3": "Wakati huu, wawekaji wa hisa watakua wanaongeza bloku mpya kwenye Mnyororo Kioleza lakini haichakati miamala ya Mtandao Mkuu.", + "page-staking-upgrades-li-4": "Ethreum itafnya mpito kamili kwenda kwenye uthibitisho-wa-hisa pale ambapo Mtandao Mkuu wa ethereum utaungana na Mnyororo Kioleza.", + "page-staking-upgrades-li-5": "Kisasisho kisicho cha msingi kitafuata ili kuwezesha utoaji wa hisa zilizoshawekwa.", + "page-staking-upgrades-title": "Uthibitisho-wa-hisa na maboresho ya makubaliano", + "page-staking-validators": "Wathibitishaji zaidi, usalama zaidi", + "page-staking-validators-desc": "Kwenye mnyororo wa bloku kama Ethereum unaweza kukagua na kupanga upya miamala inayokufaa kama unaudhibiti mkubwa wa mtandao. Lakini, kuwa na udhibit mkubwa wa mtandao, unahitaji wathibitishaji walio wengi, na kwa hili utahitaji kudhibiti ETH nyingi kwenye mfumo - hio nyingi sana! Kiasi cha ETH kinakua kila mthibitishaji mpya anapoingia kwenye mfumo, kuimarisha usalama wa mtandao. Uthibitisho-wa-kazi, usalama wa uthibitisho-wa-hisa- utachukua nafasi yake, inahitaji wathibitishaji (wachimbaji) wawe na vifaa vya maunzi na eneo la kutosha - kuingia kwenye mfumo kama mchimbaji ni ngumu ili usalama dhidi ya mashambulizi hayaongezeki sana. Uthibitisho-wa-hisa hauna mahitaji haya, amabayo itakuza mtandao (na upinzani wake dhidi ya mashambulizi mengi) kwenda kwenye ukubwa amabao hautawezekana kwa uthibitsho-wa-kazi.", + "page-staking-withdrawals": "Utoaji wa fedha hautakua hai mara moja", + "page-staking-withdrawals-desc": "Hautaweza kutoa hisa zako mpaka maboresho ya hapo badae yatakapokua hai. Utoaji wa hisa utakuepo kwa kiwango kidogo ikifuatiwa na muungano kati ya mtandao mkuu na Mnyororo Kioleza." +} diff --git a/src/intl/sw/page-upgrades-get-involved-bug-bounty.json b/src/intl/sw/page-upgrades-get-involved-bug-bounty.json new file mode 100644 index 00000000000..9a2e7b4adc5 --- /dev/null +++ b/src/intl/sw/page-upgrades-get-involved-bug-bounty.json @@ -0,0 +1,95 @@ +{ + "page-upgrades-bug-bounty-annotated-specs": "maaelezo maalum", + "page-upgrades-bug-bounty-annotations": "Itakuwa vizuri kuangalia maelezo yafuatayo:", + "page-upgrades-bug-bounty-client-bugs": "Wadudu wa programu ya safu ya makubaliano", + "page-upgrades-bug-bounty-client-bugs-desc": "Wateja wataendesha mnyororo kioleza mara maboresho yatakapozinduliwa. Wateja watafuata mantiki iliyowekwa mahususi na kua salama dhidi ya mashambulizi. wadudu tunaotaka kupata ni wale wanaohusiana na utekelezaji wa itifaki.", + "page-upgrades-bug-bounty-client-bugs-desc-2": "Kwa sasa Lighthouse, Nimbus, Teku, na Prysm weanastahiki zawadi. Lodestar i8nastaahiki zawadi pia, lakini mpaka ukaguzi wa kina utakapofanyika pointi zao na zawadi zitakuwa asilimia kumi tu. ( malipo ya juu ni DAI 5,000). Wateja/Programu zingine zitaogezwa iwapo ukaguzi utafanyika na kuwa tayari kwa uzalishaji.", + "page-upgrades-bug-bounty-clients": "Wateja walioangaziwa kwenye zawadi", + "page-upgrades-bug-bounty-clients-type-1": "Vipimo na masuala yasiyo ya kufuata", + "page-upgrades-bug-bounty-clients-type-2": "Ajali zisizotarajiwa au kunyimwa kwa udhaifu wa huduma", + "page-upgrades-bug-bounty-clients-type-3": "Masuala yoyote yanayosababisha makubaliano yasiyoweza kurekebishwa hugawanyika kutoka kwa mtandao wote", + "page-upgrades-bug-bounty-docking": "ungana", + "page-upgrades-bug-bounty-email-us": "Tuma barua pepe:", + "page-upgrades-bug-bounty-help-links": "Viungo vya kusaidia", + "page-upgrades-bug-bounty-hunting": "Sheria za utafutaji wadudu", + "page-upgrades-bug-bounty-hunting-desc": "Mpango wa zawadi za hitilafu ni mpango wa siri wa majaribio na wa hiari kwa jumuiya yetu inayotumika ya Ethereum ili kuwatia moyo na kuwatuza wale wanaosaidia kuboresha jukwaa. Sio mashindano.Unapaswa kujua kwamba tunaweza kuondoa programu wakati wowote, na tuzo ni kwa uamuzi wa kidirisha cha fadhila jukwaa la Ethereum.Kwa kuongezea, hatuwezi kutoa tuzo kwa watu ambao wako kwenye orodha ya vikwazo au ambao wako katika nchi zilizo kwenye orodha ya vikwazo. Mfano( Korea kaskazini, Iran, na nyingine). Unawajibika kwa ushuru wote. Tuzo zote ziko chini ya sheria inayotumika. Hatimaye, jaribio lako lazima lisikiuke sheria yoyote au kuathiri data yoyote ambayo si yako.", + "page-upgrades-bug-bounty-hunting-leaderboard": "Ubao wa wanaoongoza wa uwindaji wa mende", + "page-upgrades-bug-bounty-hunting-leaderboard-subtitle": "Tafuta hitilafu za safu ya makubaliano ili uongezwe kwenye ubao huu wa wanaoongoza", + "page-upgrades-bug-bounty-hunting-li-1": "Masuala ambayo tayari yamewasilishwa na mtumiaji mwingine au tayari yanajulikana na wasimamizi wa mteja hayastahiki zawadi.", + "page-upgrades-bug-bounty-hunting-li-2": "Ufichuaji hadharani wa athari huifanya isistahiki kupata faida.", + "page-upgrades-bug-bounty-hunting-li-3": "Watafiti na wafanyakazi wa Msingi Ethereum na timu za programu za makubaliano hawastahiki zawadi.", + "page-upgrades-bug-bounty-hunting-li-4": "Mpango wa fadhila wa Ethereum huzingatia idadi ya vigezo katika kuamua zawadi. Maamuzi ya kustahiki, alama na masharti yote yanayohusiana na tuzo ni kwa uamuzi wa mwisho wa Msingi wa jukwaa la Ethereum.", + "page-upgrades-bug-bounty-leaderboard": "Tazama ubao kamili wa wanaoongoza", + "page-upgrades-bug-bounty-leaderboard-points": "pointi", + "page-upgrades-bug-bounty-ledger-desc": "Mnyororo Kioleza hutoa maelezo ya vipimo vyenye mantiki ya uundaji na mabadiliko pendekezwa kwenye Ethreum kupitia maboresho ya mnyororo kioleza.", + "page-upgrades-bug-bounty-ledger-title": "Hitilafu za ubainishaji wa mnyororo kioleza", + "page-upgrades-bug-bounty-meta-description": "Muhtasari wa mpango wa uwindaji wa wadudu wa programu: jinsi ya kuhusika na kutoa taarifa.", + "page-upgrades-bug-bounty-meta-title": "Programu ya utafiti wa hitilafu za safu ya makubaliano", + "page-upgrades-bug-bounty-not-included": "Haijajumuishwa", + "page-upgrades-bug-bounty-not-included-desc": "Muungano na maboresho ya mnyororo wa kigae viko kwenye hatua ya uundwaji na bado havijajumuishwa kama sehemu ya programu ya fadhila.", + "page-upgrades-bug-bounty-owasp": "Angalia njia ya OWASP", + "page-upgrades-bug-bounty-points": "EF itatoa alama kulingana na:", + "page-upgrades-bug-bounty-points-error": "Hitilafu katika kupakia data... tafadhali onyesha upya.", + "page-upgrades-bug-bounty-points-exchange": "Badiliko la point", + "page-upgrades-bug-bounty-points-loading": "Data inapakia...", + "page-upgrades-bug-bounty-points-payout-desc": "Msingi wa Ethereum italipa thamani ya USD katika ETH au DAI.", + "page-upgrades-bug-bounty-points-point": "Pointi 1", + "page-upgrades-bug-bounty-points-rights-desc": "Msingi wa Ethereum utatunza haki ya kufanya mabadilko bila utoaji wa taarifa.", + "page-upgrades-bug-bounty-points-usd": "USD 2", + "page-upgrades-bug-bounty-quality": "Ubora wa maelezo", + "page-upgrades-bug-bounty-quality-desc": ": Zawadi za juu hulipwa kwa mawasilisho yaliyo wazi na yaliyoandikwa vizuri.", + "page-upgrades-bug-bounty-quality-fix": "Ubora wa kurekebisha, kama umejumuishwa: Zawadi kubwa hulipwa kwa waliotoa maelezo yanayoeleweka juu ya kutatua tatizo.", + "page-upgrades-bug-bounty-quality-repro": "Ubora wa kuzaliana", + "page-upgrades-bug-bounty-quality-repro-desc": ": Tafadhali jumuisha nambari ya jaribio, hati na maagizo ya kina. Kadiri inavyokuwa rahisi kwetu kuzaliana na kuthibitisha uwezekano wa kuathiriwa, ndivyo zawadi inavyoongezeka.", + "page-upgrades-bug-bounty-questions": "Maswali?", + "page-upgrades-bug-bounty-rules": "Soma maelekezo", + "page-upgrades-bug-bounty-shard-chains": "minyororo ya Vigae", + "page-upgrades-bug-bounty-slogan": "Safu ya makubaliano na zawadi za wadudu", + "page-upgrades-bug-bounty-specs": "Soma vipimo kamili", + "page-upgrades-bug-bounty-specs-docs": "Nyaraka za vipimo", + "page-upgrades-bug-bounty-submit": "Wasilisha mdudu", + "page-upgrades-bug-bounty-submit-desc": "Kwa kila hitilafu utakaoipata utapata pointi. Kwa kila pointi utakayopata itategemea ukali wa hitilafu. Hitilafu za Lodestar zinazawadiwa asilimia 10 ya pointi zilizoorodheshwa hapo chini, mpaka ukaguzi wa ziada utakapokamilika. Msingi wa Ethereum (EF) utaamua ukali wa hitilafu kwa kutmia mbinu ya OWASP.", + "page-upgrades-bug-bounty-subtitle": "Jishindie mpaka USD 50,0000 na nafasi katika ubao wa viongozi kwa kutafuta hitalafu za safu ya makubaliano na programu.", + "page-upgrades-bug-bounty-title": "Wazi kwa mawasilisho", + "page-upgrades-bug-bounty-title-1": "Mlolongo wa beacon", + "page-upgrades-bug-bounty-title-2": "Chaguzi la njia panda", + "page-upgrades-bug-bounty-title-3": "Mkataba wa amana wa Solidity", + "page-upgrades-bug-bounty-title-4": "Mtandao wa rika-kwa-rika", + "page-upgrades-bug-bounty-type-1": "Hitimisho kuvunja wadudu", + "page-upgrades-bug-bounty-type-2": "Visababishi vya kunyimwa huduma (DOS)", + "page-upgrades-bug-bounty-type-3": "Kutofautiana kwa dhana, kama vile hali ambapo wathibitishaji waaminifu wanaweza kupunguzwa", + "page-upgrades-bug-bounty-type-4": "Hesabu au kutofautiana kwa uthabiti", + "page-upgrades-bug-bounty-types": "Aina za hitalafu", + "page-upgrades-bug-bounty-validity": "Wadudu waliokubaliwa", + "page-upgrades-bug-bounty-validity-desc": "Mpango huu wa fadhila za hitilafu unalenga kutafuta hitilafu katika vipimo vya msingi safu ya makubaliano ya Mnyororo Kioleza na utekelezaji wa mteja wa Lighthouse, Nimbus, Teku na Prysm.", + "page-upgrades-bug-bounty-card-critical": "Muhimu", + "page-upgrades-bug-bounty-card-critical-risk": "Wasilisha hitilafu muhimu ya hatari", + "page-upgrades-bug-bounty-card-h2": "Wastani", + "page-upgrades-bug-bounty-card-high": "Juu", + "page-upgrades-bug-bounty-card-high-risk": "Wasilisha hitilafu muhimu ya hatari", + "page-upgrades-bug-bounty-card-label-1": "Mpaka pointi 1,000", + "page-upgrades-bug-bounty-card-label-2": "Mpaka DAI 2,000", + "page-upgrades-bug-bounty-card-label-3": "Mpaka pointi 5,000", + "page-upgrades-bug-bounty-card-label-4": "Mpaka DAI 10,000", + "page-upgrades-bug-bounty-card-label-5": "Mpaka pointi 10,000", + "page-upgrades-bug-bounty-card-label-6": "Mpaka DAI 20,000", + "page-upgrades-bug-bounty-card-label-7": "Mpaka pointi 25,000", + "page-upgrades-bug-bounty-card-label-8": "Mpaka DAI 50,000", + "page-upgrades-bug-bounty-card-li-1": "Athari ya chini, uwezekano wa kati", + "page-upgrades-bug-bounty-card-li-2": "Athari ya wastani, uwezekano mdogo", + "page-upgrades-bug-bounty-card-li-3": "Athari ya juu, uwezekano mdogo", + "page-upgrades-bug-bounty-card-li-4": "Athari ya wastani, uwezekano wa kati", + "page-upgrades-bug-bounty-card-li-5": "Athari ya chini, uwezekano wa juu", + "page-upgrades-bug-bounty-card-li-6": "Athari ya juu, uwezekano wa kati", + "page-upgrades-bug-bounty-card-li-7": "Athari ya wastani, uwezekano wa juu", + "page-upgrades-bug-bounty-card-li-8": "Athari ya juu, uwezekano wa juu", + "page-upgrades-bug-bounty-card-low": "Chini", + "page-upgrades-bug-bounty-card-low-risk": "Wasilisha hitilafu yenye hatari ndogo", + "page-upgrades-bug-bounty-card-medium-risk": "Wasilisha hitilafu ya hatari ya wastani", + "page-upgrades-bug-bounty-card-subheader": "Ukali", + "page-upgrades-bug-bounty-card-subheader-2": "Mfano", + "page-upgrades-bug-bounty-card-text": "Mshambulizi wakati mwingine anaweza kuweka nodi katika hali inayosababisha kuacha uthibitisho mmoja kati ya kila mia moja unaotolewa na kiidhinisha", + "page-upgrades-bug-bounty-card-text-1": "Mshambulizi anaweza kufanya mashambulizi ya kupatwa kwa jua kwenye nodi kwa vitambulisho rika na baiti 4 zinazoongoza kwa sufuri", + "page-upgrades-bug-bounty-card-text-2": "Kuna hitilafu ya makubaliano kati ya wateja wawili, lakini ni vigumu au haiwezekani kwa mshambuliaji kuanzisha tukio.", + "page-upgrades-bug-bounty-card-text-3": "Kuna hitilafu ya makubaliano kati ya wateja wawili, lakini ni vigumu au haiwezekani kwa mshambuliaji kuanzisha tukio." +} diff --git a/src/intl/sw/page-upgrades-get-involved.json b/src/intl/sw/page-upgrades-get-involved.json new file mode 100644 index 00000000000..932333a7ee1 --- /dev/null +++ b/src/intl/sw/page-upgrades-get-involved.json @@ -0,0 +1,47 @@ +{ + "page-upgrades-get-involved-btn-1": "Onana na wateja", + "page-upgrades-get-involved-btn-2": "Zaidi juu ya kusimamisha hisa", + "page-upgrades-get-involved-btn-3": "Tafuta wadudu", + "page-upgrades-get-involved-bug": "Mdudu anaweza kua:", + "page-upgrades-get-involved-bug-hunting": "Nenda kawinde mdudu", + "page-upgrades-get-involved-bug-hunting-desc": "Tafuta na toa taarifa za wadudu walioko kwenye visasisho maalumu vya safu ya makubaliano au programu/wateja wenyewe. Unaweza kujipatia mpaka dola $50,000 na kujipa nafasi katika bodi ya viongozi.", + "page-upgrades-get-involved-bug-li": "vipimo na masuala yasiyo ya kufuata", + "page-upgrades-get-involved-bug-li-2": "hitimisho kuvunja wadudu", + "page-upgrades-get-involved-bug-li-3": "visababishi vya kunyimwa huduma (DOS)", + "page-upgrades-get-involved-bug-li-4": "na zaidi...", + "page-upgrades-get-involved-date": "Tarehe ya kufunga: Disemba 23, 2020", + "page-upgrades-get-involved-desc-1": "Kuendesha mteja inamaana utakua mshiriki hai kwenye Ethereum. Mteja wako atasaidia kufuatilia miamala na kukagua bloku mpya.", + "page-upgrades-get-involved-desc-2": "Kama una ETH, unaweza kusimamisha hisa ili kua mthibitishaji na usaidie kulinda mtandao. Kama mthibitishaji unaweza kupata zawadi ya ETH.", + "page-upgrades-get-involved-desc-3": "Jiuinge na jamii kwenye juhudi za majaribio! Saidia kujaribisha visasisho vya Eth2 kabla havijatumwa, tafuta wadudu, na pata zawadi.", + "page-upgrades-get-involved-ethresearch-1": "Ugawanyaji", + "page-upgrades-get-involved-ethresearch-2": "Muungano", + "page-upgrades-get-involved-ethresearch-3": "Utekelezaji uliogawanywa", + "page-upgrades-get-involved-ethresearch-4": "Mada zote za utafiti", + "page-upgrades-get-involved-grants": "Kusimamia ruzuku za jamii", + "page-upgrades-get-involved-grants-desc": "Saidi kuunda vifaa na elimisha watu juu ya jamii ya wanahisa", + "page-upgrades-get-involved-how": "Unataka kujihusisha vipi?", + "page-upgrades-get-involved-how-desc": "Jamii ya wana-ethereum itanufaika siku zote kutoka kwa watu wanaoendesha wateja, uwekaji wa hisa, na kuondoa wadudu kwenye msimbo.", + "page-upgrades-get-involved-join": "Jiunge na utafiti", + "page-upgrades-get-involved-join-desc": "Kama ilivyo na vitu vingi kwenye Ethereum, utafiti mwingi uko wazi kw umma. Hii inamaana kwamba unaweza kushiriki katika mijadala au ukasoma ni nini watafiti wa Etherteum wanacho cha kusema. ethresear.ch inabeba mengi zaidi ya maboresho ya safu ya makubaliano, ugawanyaji, na uundaji mpya wa programu, na mengine mengi.", + "page-upgrades-get-involved-meta-description": "Jinsi ya kushiriki kwenye maboresho ya Ethereum: endesha nodi, weka hisa, toa wadudu kwenye msimbo na mengine mengi.", + "page-upgrades-get-involved-more": "Habari zaidi", + "page-upgrades-get-involved-run-clients": "Endesha programu ya makubaliano", + "page-upgrades-get-involved-run-clients-desc": "Ufungua wa kudumu wa usalama wa Ethereum ni usambazji wa nguvu wa wateja. Mteja ni programu inayoendesha mnyororo wa Ethereum, kukagua miamala, na kuunda bloku mpya kwenye mnyororo. Kila mteja ana huduma zake, kwahiyo chagua moja kulingana na kile unachoona ni rahisi kwako.", + "page-upgrades-get-involved-run-clients-desc-2": "Programu/wateja hawa walijukana kama 'Eth2' hapo mwanzo, lakini neno hili linaondolewa taratibu na nafasi hio ikichukuliwa na \"safu ya programu ya makubaliano.\"", + "page-upgrades-get-involved-run-clients-production": "Uzaklishaji wa programu za makubaliano", + "page-upgrades-get-involved-run-clients-experimental": "Majaribio ya programu za makubaliano", + "page-upgrades-get-involved-stake": "Weka hisa za ETH", + "page-upgrades-get-involved-stake-desc": "Unaweza kuweka hisa zakpo za ETH ili kuongeza usalama kwenye mnyororo kioleza.", + "page-upgrades-get-involved-stake-eth": "Weka ETH", + "page-upgrades-get-involved-subtitle": "Njia zote za kuisaidia Ethereum na malengo ya badaye yanayohusiana na juhudi za maboresho.", + "page-upgrades-get-involved-title-1": "Endesha mteja", + "page-upgrades-get-involved-title-2": "Weka hisa za ETH", + "page-upgrades-get-involved-title-3": "Tafuta wadudu", + "page-upgrades-get-involved-written-go": "Imeendikwa kwa msimbo wa Go", + "page-upgrades-get-involved-written-java": "Imeendikwa kwa msimbo wa Java", + "page-upgrades-get-involved-written-javascript": "Imeendikwa kwa msimbo wa JavaScript", + "page-upgrades-get-involved-written-net": "Imeendikwa kwa msimbo wa .NET", + "page-upgrades-get-involved-written-nim": "Imeendikwa kwa msimbo wa Nim", + "page-upgrades-get-involved-written-python": "Imeendikwa kwa msimbo wa Python", + "page-upgrades-get-involved-written-rust": "Imeendikwa kwa msimbo wa Rust" +} diff --git a/src/intl/sw/page-upgrades-index.json b/src/intl/sw/page-upgrades-index.json new file mode 100644 index 00000000000..fb8bae08b2b --- /dev/null +++ b/src/intl/sw/page-upgrades-index.json @@ -0,0 +1,208 @@ +{ + "consensus-client-lighthouse-logo-alt": "Nembo ya Lighthouse", + "consensus-client-lodestar-logo-alt": "Nembo ya Lodestar", + "consensus-client-nimbus-logo-alt": "Nembo ya Nimbus", + "consensus-client-prysm-logo-alt": "Nembo ya Prysm", + "consensus-client-teku-logo-alt": "Nembo ya Teku", + "consensus-client-under-review": "Hakiki na kagaua maendeleo", + "page-upgrades-answer-1": "Fikiria kuhusu mabadiliko yanayofanywa kama seti ya visasisho vinavyoongezwa ili kuboresha Ethereum tunayotumia leo. Visasisho hivi ni pamoja na uundaji wa mnyororo mpya uitwao Mnyororo Kioleza na utaanzisha mnyororo mpya unaojulikana kama 'shards' siku zijazo.", + "page-upgrades-answer-2": "Hizi ni tofauti na Ethereum Mainnet tunayotumia leo lakini haitachukua nafasi yake. badala yake Mtandao Mkuu \"utaungana\" sambamba na mfumo huu unaoongezwa baada ya muda.", + "page-upgrades-answer-4": "Kwa maneno mengine Ethereum tunayotumia leo hatimaye itajumuisha sifa zote ambazo tunalenga katika maono ya Ethereum.", + "page-upgrade-article-title-two-point-oh": "Nukta mbili Oh: Mnyororo Kioleza", + "page-upgrade-article-title-beacon-chain-explainer": "Maelezo ya Ethereum ya mnyororo Kioleza unayohitaji kuyasoma kwanza", + "page-upgrade-article-title-sharding-consensus": "Ugawanywaji wa makubaliano", + "page-upgrade-article-author-ethereum-foundation": "Msingi wa Ethereum", + "page-upgrade-article-title-sharding-is-great": "Kwanini ugawanyaji ni bora: kurahisisha sifa za kiufundi", + "page-upgrade-article-title-rollup-roadmap": "Ramani ya kati ya uundaji", + "page-upgrades-beacon-chain-btn": "Zaidi juu ya Mnyororo Kioleza", + "page-upgrades-beacon-chain-date": "Mnyororo Kioleza ulikua hai Disemba 1, 2020.", + "page-upgrades-beacon-chain-desc": "Mnyororo Kioleza ulileta usimamishaji wa hisa katika Ethereum, ikaweka msingi kwa ajili ya visasisho vijavyo, na hatimaye utaratibu mfumo mpya.", + "page-upgrades-beacon-chain-estimate": "Mnyororo Kioleza uko hai", + "page-upgrades-beacon-chain-title": "Mnyororo Kioleza", + "page-upgrades-bug-bounty": "Tazama mpango wa fadhila ya mdudu", + "page-upgrades-clients": "Tupa jicho juu ya programu za makubaliano (hapo mwanzo zilijulikana kama wateja/programu za 'Eth2')", + "page-staking-deposit-contract-title": "Angalia anwani ya mkataba wa amana", + "page-upgrades-diagram-ethereum-mainnet": "Mtandao Mkuu wa Ethereum", + "page-upgrades-diagram-h2": "Jinsi visasisho vinavyofaa kwa pamoja", + "page-upgrades-diagram-link-1": "Zaidi juu ya uthibitisho wa kazi", + "page-upgrades-diagram-link-2": "Zaidi juu ya minyororo ya vigae", + "page-upgrades-diagram-mainnet": "Mtandao Mkuu", + "page-upgrades-diagram-p": "Mtandao Mkuu wa Ethereum utaendelea kuwepo katika muundo wake wa sasa kwa muda. Hii inamaana kwamba Mnyororo Kioleza na visasissho vya vigae havitakorofisha mtandao.", + "page-upgrades-diagram-p-1": "Hatimaye Mtandao Mkuu utaungana na mfumo mpya ulioletwa na visasisho vya Mnyororo Kioleza.", + "page-upgrades-diagram-p-2": "Mnyororo Kioleza utakua kondakta wa Ethereum, ukiratibu wathibitishaji na kusimamia kasi ya uumbaji wa tofali.", + "page-upgrades-diagram-p-3": "Mwanzoni, itakuwa kando ya Mtandao Mkuu na kudhibiti wathibitishaji - haitakuwa na chochote kuhusiana na mikataba erevu, miamala, au akaunti.", + "page-upgrades-diagram-p-4": "Vigae vitatoa data nyingi za ziada ili kusaidia ongezeko lka kasi za miamala itakayobebwa na Mtandao Mkuu. Itaratibiwa na Mnyororo Kioleza.", + "page-upgrades-diagram-p-5": "Lakini miamala yote itategemea Mtandao Mkuu, ambao utaendele kuwepo kama tunavyoujua leo hii - ukilindwa kwa uthibitisho-wa-kazi na wachimbaji.", + "page-upgrades-diagram-p-6": "Mtandao Mkuu utaungana na mfumo wa uthibitisho-wa-hisa, ukiratibiwa na Mnyororo Kioleza.", + "page-upgrades-diagram-p-8": "Hii itageuza mtandao mkuu kua kigae ndani ya mfumo huu mpya. Wachibaji hawatahitajika tena pale ambapo Ethereum yote itakua inalindwa na wamiliki wa hisa(wathibitishaji).", + "page-upgrades-diagram-p10": "Ethereum sio uhamaji au kitu kimoja. Inaelezea kundi la visasisho vinavyofanyiwa kazi ili kufungua uwezo wa kweli wa Ethereum. Hivi ndivyo jinsi vyote vinapatana kwa pamoja.", + "page-upgrades-diagram-scroll": "Tembeza Kuchunguza - bonyeza kwa taarifa zaidi.", + "page-upgrades-diagram-shard": "Kigae(2)", + "page-upgrades-diagram-shard-1": "Kigae(...)", + "page-upgrades-diagram-shard-2": "Kigae(2)", + "page-upgrades-diagram-shard-3": "Kigae(...)", + "page-upgrades-diagram-validators": "Zaidi juu ya wathibitishaji", + "page-upgrades-dive": "Tumbukia kwenye maono", + "page-upgrades-dive-desc": "Tutawezaje kuifanya Ethereum itanuke zaidi, salama, na endelevu? Vyote hivi huku tukitunza misisingi mikuu ya pesa zinazojitegemea.", + "page-upgrades-docking": "Muungano", + "page-upgrades-merge-answer-1": "Muungano ni pale Mtandao Mkuu utakapoanza kutumia Mnyororo Kioleza kwenye mapatano, na uthibitisho-wa-kazi kuzimwa, wakati fulani mwaka 2022.", + "page-upgrades-merge-btn": "Zaidi juu ya muungano", + "page-upgrades-merge-desc": "Mtandao Mkuu wa Ethereum utahiatji \"muungano\" huu na Mnyororo Kioleza wakati fulani. Hii itawezesha uwekaji wa hisa kwenye mtandao mzima na ishara ya mwisho wa uchimbaji utumiao nguvu/umeme mkubwa.", + "page-upgrades-merge-estimate": "Kadirio: 2022", + "page-upgrades-merge-mainnet": "Mtandao Mkuu ni nini?", + "page-upgrades-merge-mainnet-eth2": "Muunganow wa Mtandao Mkuu na Mnyororo Kioleza", + "page-upgrades-eth-blog": "kurasa za ethereum.org", + "page-upgrades-explore-btn": "Chunguza visasisho", + "page-upgrades-get-involved": "Jihusishe na visasisho vya Ethereum", + "page-upgrades-get-involved-2": "Jihusishe", + "page-upgrades-head-to": "Nenda kwa", + "page-upgrades-help": "Unataka kusaidia na visasisho vya Ethereum?", + "page-upgrades-help-desc": "Kuna nafasi nyigi za kupima usasishaji wa Ethereum, toa msaada katika majaribio, na hata kupata zawadi.", + "page-upgrades-index-staking": "Hisa ziko hapa", + "page-upgrades-index-staking-desc": "Ufunguo kwenda kwenye usasishaji wa Etheereum ni uanzilishi wa kusimama kwa hisa. Kama unataka kutumia ETH yako ili kuusaidia ulinzi wa mtandao wa Ethereum, hakikisha umefuata hatua zifuatazo.", + "page-upgrades-index-staking-learn": "Jifunze kuhusu kusimamishs hisa", + "page-upgrades-index-staking-learn-desc": "Mnyororo Kioleza utaleta usimamishaji wa hisa kwenye Ethereum. Hii inamaana kama una ETH, unaweza kufanya wema kwa umma kwa kulinda mtandao na kupata ETH zaidi wakati wa mchakato huo.", + "page-upgrades-index-staking-step-1": "1. Sanidi na pedi ya uzinduzi", + "page-upgrades-index-staking-step-1-btn": "Tembelea pedi ya uzinduzi wa hisa simamishwa", + "page-upgrades-index-staking-step-1-desc": "Ili usimamishe hisa juu ya Ethereum utahitaji kutumia pedi ya uzinduzi - hii itakutembeza katika mchakato.", + "page-upgrades-index-staking-step-2": "2. Thibitish anwani ya hisa simamishwa", + "page-upgrades-index-staking-step-2-btn": "Thibitisha anwani ya mkataba wa amana", + "page-upgrades-index-staking-step-2-desc": "Kabla ya kuweka ETH yako, hakikisha una anwani sahihi. Lazima uwe umepitia pedi ya uzinduzi kabla ya kufanya hivyo.", + "page-upgrades-index-staking-sustainability": "Endelevu zaidi", + "page-upgrades-just-docking": "Zaidi juu ya muungano", + "page-upgrades-meta-desc": "Muhtasari wa visasisho vya Ethereum na maono wanayotegemea kuyafanya halisi.", + "page-upgrades-meta-title": "Maboresho/ Visasisho vya Ethereum (zamani 'Eth2')", + "page-upgrades-miners": "Zaidi juu ya wachimbaji", + "page-upgrades-more-on-upgrades": "Zaidi juu ya visasisho vya Ethereum", + "page-upgrades-proof-of-stake": "uthibitisho-wa-hisa", + "page-upgrades-proof-of-work": "uthibitisho-wa-kazi", + "page-upgrades-proof-stake-link": "Zaidi juu ya uthibitisho-wa-hisa", + "page-upgrades-question-1-title": "Maboresho haya yatatumwa lini?", + "page-upgrades-question-1-desc": "Ethereum inaboreshwa hatua kwa hatua; visasisho viko tofauti na tarehe za utumaji.", + "page-upgrades-question-2-title": "Je Mnyororo Kioleza ni mnyororo wa bloku unaojitegemea?", + "page-upgrades-question-2-desc": "Sio sahihi kufikiria visasisho hivi kama mnyororo tofauti.", + "page-upgrades-question-3-answer-2": "Muungano na visasisho vya mnyororo wa kigae inaweza vikaathiri wasanidi programu wa dapp. Lakini vipimo bado havijahitimishwa, kwahiyo hamna hatua yoyote inayohitjika.", + "page-upgrades-question-3-answer-3": "Ongea na timu ya wachunguzi na watengenezaji wa Ethereum kwenye ethersear.ch.", + "page-upgrades-question-3-answer-3-link": "Tembelea ethersear.ch", + "page-upgrades-question-3-desc": "Hauhitji kufanya chochote hivi sasa kujiandaa na maboresho.", + "page-upgrades-question-3-title": "Najiandaaje na maboresho?", + "page-upgrades-question-4-answer-1": "Unapofanya muamala au kutumia dapp leo, unatumia safu ya utekelezaji au mtandao mkuu. Hii ni Ethereum inayolindwa na wachimbaji.", + "page-upgrades-question-4-answer-2": "Mtandao Mkuu utaendelea kufanya kazi kama kawaida mpaka muungano utakapotokea.", + "page-upgrades-question-4-answer-3": "Baada ya muungano, wathibitishaji watalinda mtandao mzima kupitia uthibitisho-wa-hisa.", + "page-upgrades-question-4-answer-6": "Mtu yeyote anaweza kuwa mthibitishaji kwa kuweka(kusimamisha) hisa zake za ETH.", + "page-upgrades-question-4-answer-7": "Zaidi juu ya kusimamisha hisa", + "page-upgrades-question-4-answer-8": "Mnyororo Kioleza na visasisho vya mnyororo wa kigae hautakorofisha safu ya utekelezaji ( Mtandao Mkuu) kwa jinsi unavyojengwa mbali nao.", + "page-upgrades-question-4-title": "Safu ya itekelezaji ni nini?", + "page-upgrades-question-4-desc": "Mtandao mkuu wa Ethereum unaofanyia miamala leo umewahi kuitwa 'Eth1'. Neno hili linatolewa kwenye mfumo na kupendekezwa 'safu ya utekelezaji' badala yake.", + "page-upgrades-question-5-answer-1": "Kuwa mthibitishaji kamili kwenye mtandao, utahitaji kusimsmisha ETH 32. Kama hauna hicho kiwango, au hauko tayari kusimamisha kiwango chote hichp, unaweza kujiunga na mabwawa la yanayoweka hisa za ETH. Mabwawa haya yatakuruhusu kuweka hisa za kima cha chini na kuzawadiwa sehemu ya zawadi kamili.", + "page-upgrades-question-5-desc": "Utahitaji kutumia pedi ya uzinduzi ya hisa au jiunge na bwawa la wanahisa.", + "page-upgrades-question-5-title": "Ni jinsi gani naweza kusimamisha hisa?", + "page-upgrades-question-6-answer-1": "Kwa sasa hamna hatua ya kuchukua. Ila tunashauri uwe unapata taarifa za maendeleo ya muungano na visasisho vya mnyororo wa kigae.", + "page-upgrades-question-6-answer-3": "Danny Ryan wa misingi ya Ethereum hua anasasisha jamii mara kwa mara:", + "page-upgrades-question-6-answer-4": "Ben Edgington wa ConsenSys ana majarida ya kila wiki juu ya visasisho vya Ethereum:", + "page-upgrades-question-6-answer-5": "Unaweza kujiunga kwenye mijadala ya Uchunguzi na maendeleo ya Ethereum kwenye ethersear.ch.", + "page-upgrades-question-6-desc": "Dapp yako haitaathiriwa na visasisho vyovyote vilivyo karibu. Walakini sasisho za siku zijazo zinaweza kuhitaji mabadiliko.", + "page-upgrades-question-6-title": "Ninahitaji kufanya nini na dapp yangu?", + "page-upgrades-question-7-desc": "Timu tofauti tofauti kutoka kwenye jamii zinafanya kazi juu ya visasisho anuwai vya Ethereum.", + "page-upgrades-question-7-lighthouse": "Taa ya taa", + "page-upgrades-question-7-lighthouse-lang": "(Utekelezaji wa Rust)", + "page-upgrades-question-7-lodestar": "Mwangaza", + "page-upgrades-question-7-lodestar-lang": "(Utekelezaji wa JavaScript)", + "page-upgrades-question-7-nimbus": "Nimbus", + "page-upgrades-question-7-nimbus-lang": "(Utekelezaji wa Nim)", + "page-upgrades-question-7-prysm": "Prysm", + "page-upgrades-question-7-prysm-lang": "(Utekelezaji wa Go)", + "page-upgrades-question-7-teams": "Timu za programu za makubaliano ya Ethereum:", + "page-upgrades-question-7-teku": "Teku", + "page-upgrades-question-7-teku-lang": "(Utekelezaji wa JavaScript)", + "page-upgrades-question-7-title": "Nani anaunda visasisho vya Ethereum? au nani anafanya maboresho ya Ethereum?", + "page-upgrades-question-7-clients": "Jifunze zaidi juu ya programu/wateja wa Ethereum", + "page-upgrades-question-8-answer-1": "Uboreshaji wa Ethereum utasaidia kiwango cha Ethereum kwa njia ya kutotegemea serikali, wakati ikudumisha usalama, na kuongeza uendelevu.", + "page-upgrades-question-8-answer-2": "Labda shida iliyo wazi zaidi ni kwamba Ethereum inahitaji kuweza kushughulikia zaidi ya miamala 15-45 kwa sekunde. Pia visasisho vya Ethereum hushughulikia shida zingine na Ethereum leo.", + "page-upgrades-question-8-answer-3": "Mtandao uko katika mahitaji makubwa hadi inafanya Ethereum kuwa ghali kutumia. Nodi kwenye mtandao zinajitahidi zikiwa chini ya saizi ya Ethereum na wingi wa data tarakilishi(kompyuta) zao zinahitaji kuchakata. Na programu ya msingi inayoilinda na kuiweka Ethereum nje ya madaraka ya serikali ni umeme mwingi na ambao unahitaji kua rafiki kwa mazingira.", + "page-upgrades-question-8-answer-4": "Mambo mengi yanayobadilka sasa yalishawekwa kwenye mkakati wa Ethereum, hata tangu 2015. Ila hali za sasa zinafanya uhitaji wa usasishaji(uboreshwaji) kuwa mkubwa zaidi.", + "page-upgrades-question-8-answer-6": "Chunguza maono ya Ethereum", + "page-upgrades-question-8-desc": "Ethereum tunayotunia leo inahaitaji kutoa urahisi wa matumizi kwa mtumiaji wa mwisho na wanaoshiriki kwenye mtandao.", + "page-upgrades-question-8-title": "Kwanini visasisho vinahitajika?", + "page-upgrades-question-9-answer-1": "Jukumu kubwa zaidi unaloweza kucheza ni kuweka ETH yako.", + "page-upgrades-question-9-answer-2": "Unaweza kuhitaji mteja wa pili ili kusaidia kuboresha utofauti wa mteja.", + "page-upgrades-question-9-answer-3": "Ikiwa wewe ni mtaalam zaidi, unaweza kusaidia kupata mdudu kwa wateja wapya.", + "page-upgrades-question-9-answer-4": "Unaweza pia kupima mazungumzo ya kiufundi na watafiti wa Ethereum kwenye ethresear.ch.", + "page-upgrades-question-9-desc": "Sio lazima uwe mtaalamu ili kuchangia. Jamii inatafuta michango kutoka kwa kila aina ya ujuzi.", + "page-upgrades-question-9-stake-eth": "Weka ETH", + "page-upgrades-question-9-title": "Nawezaje kuchangia katika maboresho ya Ethereum?", + "page-upgrades-question-9-more": "Pata njia za jumla za kujihusisha na Ethereum", + "page-upgrades-question-10-title": "Awamu za 'Eth2 ni zipi?'", + "page-upgrades-question-10-desc": "Baadhi ya vitu vimebadilika hapa.", + "page-upgrades-question-10-answer-0": "Neno 'Eth2' lenyenyewe linatolewa, kama jinsi lisivyowakilisha sasisho moja au mtan dao mpya. Ni sahihi zaidi kama kundi la visasisho amabavyo kila moja hucheza nafasi yake katika kuifanya Ethereum iwe rahisi, salama, na endelevu. Mtandao unaoujua na na kuupenda utajulikana kama Ethereum.", + "page-upgrades-question-10-answer-1": "Tunasita kuongea sana kwa suala la ramani ya kiufundi kwa sababu hii ni programu: vitu vinaweza kubadilika. Tunafikiri no rahisi zaidi luelewa nini kinatokea utakaposoma kuhusu matokeo.", + "page-upgrades-question-10-answer-1-link": "Angalia visasisho", + "page-upgrades-question-10-answer-2": "Lakini umefuata mijadala, hivi ndivyo jinsi visasisho vinafaa katika ramani za kitaalamu, na kidogo juu ya jinsi vinavyobadilika.", + "page-upgrades-question-10-answer-3": "Awamu 0 ilielezea kazi ili kupata Mnyororo Kioleza kuwa hai.", + "page-upgrades-question-10-answer-5": "Awamu 1 awali ilijikiata katika utekelezaji wa minyororo ya vigae, lakini kipaumbele kikahamia kwenye \"muungano\".", + "page-upgrades-question-10-answer-6": "Hapo awali fezi 1.5 ilikua imepangwa kufuata utekelezaji wa vipengele vilivyogawanywa kwa ajili ya usasishaji, Mtandao mkuu utakapoongezwa kama kipengele cha mwisho kwenye Myororo Kioleza. Ili kuharakisha mpito huu kutoka kwenye uchimbaji wa uthibitisho-wa-kazi, badala yake Mtandao Mkuu utawakilisha kipande cha kwanza cha uboreshwaji kilichoungana na Mnyororo Kioleza. Hii inajulikana kama \"muungano\" na utakua hatua muhimu sana katika kuelekea kwenye Ethereum inayolinda mazingira.", + "page-upgrades-question-10-answer-7": "Japokuwa mipango ya fezi nambari 2 imekuwa ni hoja ya utafiti na majadiliano makali, kukiwa na muungano kabla ya minyororo ya vigae, hii itaruhusu muendelezo wa tathmini mpya kulingana na mahitaji ya uundaji wa Ethereum. Kukiwa na ramani inayozingatia kila kitu, minyororo ya vigae haitakua na uhitaji wa mara moja.", + "page-upgrades-question-10-answer-8": "Zaidi juu ya ramani inayozingatia kila kitu", + "page-upgrades-question-11-title": "Ninaweza kununua Eth2?", + "page-upgrades-question-11-desc": "Hapana. Hakuna tokeni ya Eth2 na ETH yako haitabadilika baada ya muungano.", + "page-upgrades-question-11-answer-1": "Moja ya vichochezi vya chapa mpya ya Eth2 ilikuwa dhana potovu maarufu kwamba wamiliki wa ETH wangehitajika kuhamisha ETH yao baada ya 'Ethereum 2.0'. Hii haijawahi kuwa ya kweli. Ni ", + "page-upgrades-question-11-answer-2": "mbinu maarufu inayotumiwa na matapeli.", + "page-upgrades-question-title": "Maswali yanayoulizwa mara kwa mara", + "page-upgrades-question3-answer-1": "Walioweka Eth zao hawahitaji kufanya chochote. ETH yako haitahitaji mabadilko au uboreshwaji. Kuna uwezekano mkubwa matapeli wanakwambia vinginevyo, kwahiyo kua makini.", + "page-upgrades-scalable": "Inayokua zaidi", + "page-upgrades-scalable-desc": "Ethereum inahitaji kuwa na uwezo wa kufanya miamala 1000 kwa sekundu, ili programu ifanye kazi haraka na ya bei nafuu kwa watumiaji wa mtandao.", + "page-upgrades-secure": "Salama zaidi", + "page-upgrades-secure-desc": "Ethereum inahitaji kua salama zaidi. Wakati upitishwaji wa Ethereum unakua, itifaki inahitaji kua salama zadi dhidi ya mashambukizi ya aina yoyote.", + "page-upgrades-shard-button": "Zaidi juu ya minyororo ya vigae", + "page-upgrades-shard-date": "Mnyororo wa vigae unatakiwa kufuata muungano, muda fulani mwaka 2023.", + "page-upgrades-shard-desc": "Minyororo ya vigae itatanua ujazo wa Ethereum kuchakata miamala na kutunza data. Vigae venyewe vitapata vipengele kwa muda, vikitolewa kwa awamu mbalimbali.", + "page-upgrades-shard-estimate": "Kadirio: 2023", + "page-upgrades-shard-lower": "Zaidi juu ya minyororo ya vigae", + "page-upgrades-shard-title": "Vipande vya minyororo", + "page-upgrades-stay-up-to-date": "Pata taarifa za hivi karibuni", + "page-upgrades-stay-up-to-date-desc": "Pata habari mpya kutoka kwa watafiti na wasanidi programu wanaoshughulikia uboreshwaji wa Ethereum.", + "page-upgrades-sustainable-desc": "Ethereum inahitaji kua nzuri zaidi kwa mazingira. Teknolojia hii leo hii inahitaji nguvu nyingi sana ya kompyuta na umeme.", + "page-upgrades-take-part": "Shiriki katika utafiti", + "page-upgrades-take-part-desc": "Watafiti wa Ethereum na wapenzi wake wanakutana hapa kujadili jitihada za utafutaji, ikijumuisha kila kinachohusiana na maboresho ya Ethereum.", + "page-upgrades-the-upgrades": "Visasisho vya Ethereum", + "page-upgrades-the-upgrades-desc": "Eth2 ni mkusanyiko wa masasisho ambayo yanaboresha uimara, usalama na uendelevu wa Ethereum. Ingawa kila moja inafanyiwa kazi sambamba, ina vitegemezi fulani ambavyo huamua ni lini vitaanza kazi.", + "page-upgrades-unofficial-roadmap": "Hii sio ramani rasmi. Hivi ndivyo tunavyoona kile kinachotokea kulingana na habari huko nje. Lakini hii ni teknolojia, mambo yanaweza kubadilika mara moja. Kwa hivyo tafadhali usisome hii kama ahadi.", + "page-upgrades-upgrade-desc": "Ethereum tunayoijua na kuipenda, ni rahisi zaidi, salama zaidi, na endelevu zaidi...", + "page-upgrades-upgrades": "Visasisho vya Ethereum", + "page-upgrades-upgrades-aria-label": "Orodha ya visasisho vya Ethereum", + "page-upgrades-upgrades-beacon-chain": "Mnyororo Kioleza", + "page-upgrades-upgrades-docking": "Muungano", + "page-upgrades-upgrades-guide": "Mwongozo wa visasisho vya Ethereum", + "page-upgrades-upgrades-shard-chains": "Minyororo ya vigae", + "page-upgrades-upgrading": "Uboreshwaji wa Ethereum kwa urefu mpya kabisa", + "page-upgrades-vision": "Maono", + "page-upgrades-vision-btn": "Zaidi juu ya maono ya Ethereum", + "page-upgrades-vision-desc": "Kuleta Ethereum katika mkondo mkuu na kuwatumikia wanadamu wote, tunapaswa kufanya Ethereum kuwa hatari zaidi, salama na endelevu.", + "page-upgrades-vision-upper": "Maono ya Ethereum", + "page-upgrades-what-happened-to-eth2-title": "Nini kimeipata 'Eth2?'", + "page-upgrades-what-happened-to-eth2-1": "Neno 'Eth2' linatolewa kwenye mfumo kwa ajili ya maadalizi ya muungano.", + "page-upgrades-what-happened-to-eth2-1-more": "Zaidi juu ya muungano.", + "page-upgrades-what-happened-to-eth2-2": "Baada ya kuunga 'Eth1' na 'Eth2' kwenye cheni moja, hapatakua na mitandao miwili ya Ethereum inayojitegemea; patakuwa na Ethereum tu.", + "page-upgrades-what-happened-to-eth2-3": "Ili kuondoa sintofahamu, jamii imesasisha haya maneno:", + "page-upgrades-what-happened-to-eth2-3-1": "'Eth1'ni 'safu ya utekelezaji', ambayo hushughulikia miamala na utekelezaji.", + "page-upgrades-what-happened-to-eth2-3-2": "'Eth2' ni 'safu ya makubaliano', inayoshughulikia makubaliano ya uthibitisho-wa-hisa.", + "page-upgrades-what-happened-to-eth2-4": "Visasisho vya maneno haya ni kwa ajili ya majina peke yake; hii haibadili malengo ya Ethereum au njia yake.", + "page-upgrades-what-happened-to-eth2-5": "Jifunze zaidi juu ya jina jipya la 'Eth2'", + "page-upgrades-why-cant-we-just-use-eth2-title": "Kwanini hatuwezi kutumia Eth2?", + "page-upgrades-why-cant-we-just-use-eth2-mental-models-title": "Mifano ya kiakili", + "page-upgrades-why-cant-we-just-use-eth2-mental-models-description": "Suala moja muhimu juu ya chapa ya Eth2 ni kwamba inaunda mifano iliyovunjika akilini kwa watumiaji wapya wa Ethereum. Bila kutilia maanani wanafikiri kwamba Eth1 inatangulia kisha Eth2 inafuata. Ama Eth1 inaondoka pale Eth2 itakaingia. Mawazo haya sio sahihi. Kwa kuondoa msamiati Eth2, tutawaokoa watumiaji wanaokuja kutoka kwenye mfano huu unaochanganya akili.", + "page-upgrades-why-cant-we-just-use-eth2-inclusivity-title": "Ushirikishwaji", + "page-upgrades-why-cant-we-just-use-eth2-inclusivity-description": "Wakati ramani ya Ethereum inabalika, Ethereum 2.0 limekuwa neno lisilowakilisha maana sahihi ya ramani ya Ethereum. Kwa kuwa makini juu ya uchaguzi wa majina yanayotumika kufikisha maudhui ya Ethereum imeruhusu uelewa mpana zaidi kwa watazamaji wengi zaidi.", + "page-upgrades-why-cant-we-just-use-eth2-scam-prevention-title": "Udhibiti wa Ulaghai", + "page-upgrades-why-cant-we-just-use-eth2-scam-prevention-description": "Kwa bahati mbaya walaghai wamajaribu kutumia jina lisilo sahihi kulaghai watumiajo kwa kuwaambia wabadili tokeni zao za ETH zao kwenda ETH2 ama lazima wahame toka kwenye mfumo wa ETH kabla Eth2 haijasasishwa. Tunatumaini visasisho vya majina yatasaidia kuongeza uelewa na kuondoa walaghai na kusaidia Ikolojia kuwa salama zaidi.", + "page-upgrades-why-cant-we-just-use-eth2-staking-clarity-title": "Uwazi wa hisa", + "page-upgrades-why-cant-we-just-use-eth2-staking-clarity-description": "Waendeshaji wengine wa uwekaji wa hisa wameiwakilisha ETH iliowekwa kwenye Mnyororo Kioleza kama 'ETH2'. Hii huleta mkanganyiko, kaa ukijua watumiaji wa huduma hii hawapokei tokeni ya 'ETH2'. Hakuna tokeni ya 'ETH2' iliyoundwa mpaka sasa; inawakilisha tu sehemu yao katika hisa mahususi ya watoa huduma.", + "page-upgrades-what-to-do": "Unahitaji kufanya nini?", + "page-upgrades-what-to-do-desc": "Kama uanatumia programu zilizojengwa kwa Ethereum au una ETH kwenye akaunti, huitaji kufanya chochote. Kama wewe ni msanisi programu au unataka kuanza kusimamisha ETH zako, kuna njia unazoweza kujihusisha hivi leo.", + "page-upgrades-whats-next": "Maboresho ya Ethereum ni yapi?", + "page-upgrades-whats-next-desc": "Njia ya Ethereum inarejelea seti ya maboresho yaliyounganishwa ambayo yatafanya mtandao kukua kwa urahisi zaidi, salama zaidi, na endelevu zaidi. Maboresho haya yanajengwa na timu nyingi kutoka katika mfumo wa ikolojia ya Ethereum.", + "page-upgrades-whats-next-history": "Jifunze kuhusu maboresho ya nyuma ya Ethereum", + "page-upgrades-whats-ethereum": "Subiri, Ethereum ni nini?", + "page-upgrades-whats-new": "Nini kinafuarta katika Ethereum?", + "page-upgrades-security-link": "Zaidi juu ya usalama na udhibiti wa matapeli" +} diff --git a/src/intl/sw/page-upgrades-vision.json b/src/intl/sw/page-upgrades-vision.json new file mode 100644 index 00000000000..f0ed51796f5 --- /dev/null +++ b/src/intl/sw/page-upgrades-vision.json @@ -0,0 +1,77 @@ +{ + "page-upgrades-vision-2014": "Angalia chapisho la mwaka 2014 likielezea uthibitisho-wa-hisa", + "page-upgrades-vision-2021": "Tazama chapisho la mwaka 2021 juu ya mageuzi ya malengo ya Ethereum", + "page-upgrades-vision-2021-updates": "Tazama chapisho la mwaka 2021 juu ya mageuzi ya malengo ya Ethereum", + "page-upgrades-vision-beacon-chain": "Mnyororo Kioleza", + "page-upgrades-vision-beacon-chain-btn": "Zaidi juu ya Mnyororo Kioleza", + "page-upgrades-vision-beacon-chain-date": "Mnyororo Kioleza uko hai", + "page-upgrades-vision-beacon-chain-desc": "Mnyororo Kioleza ulileta usimamishaji wa hisa katika Ethereum, ikaweka msingi kwa ajili ya visasisho vijavyo, na hatimaye utaratibu mfumo mpya.", + "page-upgrades-vision-beacon-chain-upper": "Mlolongo wa beacon", + "page-upgrades-vision-desc-1": "Ethereum inahitaji kupunguza mrundikano kwenye mtandao na kuongeza kasi ili kuhudumia watumiaji ulimwenguni vyema zaidi.", + "page-upgrades-vision-desc-2": "Kuendesha nodi inazidi kua ngumu mtandao unavyozidi kukua. Hii itazidi kua ngumu na juhudi za kutanua mtandao.", + "page-upgrades-vision-desc-3": "Ethereum iantumia umeme mwingo sana. Teknoljia inayoweka mtandao salama hauna budi kuwa endelevu.", + "page-upgrades-vision-merge-date": "Kadirio: 2022", + "page-upgrades-vision-merge-desc": "Mtandao Mkuu wa Ethereum utahiatji \"muungano\" huu na Mnyororo Kioleza wakati fulani. Hii itawezesha uwekaji wa hisa kwa mtandao mzima na ishara ya mwisho wa uchimbaji utumiao nguvu kubwa.", + "page-upgrades-vision-ethereum-node": "Zaidi juu ya nodi", + "page-upgrades-vision-explore-upgrades": "Chunguza visasisho", + "page-upgrades-vision-future": "Dijitali ya siku zijazo ulimwenguni", + "page-upgrades-vision-meta-desc": "Muhtasari wa athari za maboresho juu ya Ethereum, na changamoto zisizokwepeka itakazozivuka.", + "page-upgrades-vision-meta-title": "Maono ya Ethereum", + "page-upgrades-vision-mining": "Zaidi juu ya uchimbaji", + "page-upgrades-vision-problems": "Tatizo la leo", + "page-upgrades-vision-scalability": "Uwezo wa kuongezeka/kupungua", + "page-upgrades-vision-scalability-desc": "Ethereum inahitaji kubeba miamala mingi zaidi kwa sekunde bila kuongeza wingi wa nodi zilizopo kwenye mtandao. Nodi ni washirika muhimu kwenye mtandao ambao wantunza na kuendesha mnyororo wa bloku. Kuongeza wingi wa nodi sio kitu halisi maana ni wale walio na kompyuta zenye nguvu na ghali ndiyo wataweza kufanya hio kazi. Ili kuikuza, Ethereum itahitaji kuongeza miamala kwa sekunde, ikija na nodi za ziada. Nodi zaidi inamaanisha ulinzi zaidi.", + "page-upgrades-vision-scalability-desc-3": "Visasisho vya minyororo ya kigae itasambaza mzigo wa mtandao kwenda kwenye minyororo mipya 64. Hii itatoa nafasi kwa Ethereum kupumua kwa kupunguza mrundikano na kuboresha kasi ya miamala kwa sekunde ya hivi sasa ambayo ni kati ya miamamala 15 - 45 kwa sekunde.", + "page-upgrades-vision-scalability-desc-4": "Pamoja na kwamba kutakua na minyororo zaidi, hii itahitaji kazi ndogo kutoka kwa wathibitishaji - wadumishaji wa mtandao. Wathibitishaji watahitaji kuendesha kigae chao tu na sio mnyororo mzima wa Ethereum. Hii inafanya nodi kuwa nyepesi zaidi, ikiruhusu Ethereum kuongeza kiwango na kubaki ikiwa imegatuliwa.", + "page-upgrades-vision-security": "Usalama", + "page-upgrades-vision-security-desc": "Visasisho vilivyopangwa kuboresha usalama wa Ethereum dhidi ya mashabulizi yalioratibiwa, kama vile shambilizi la asilimia 51(51%). Shambulizi hili hutoke kama kuna mmtu mmoja mwenye udhibiti mkubwa kwenye mtandao na wanweza kulazimisha mabadiliko ya kilaghai.", + "page-upgrades-vision-security-desc-3": "Mpito wa uthibitisho-wa-hisa unamaana kuwa itifaki ya Ethereum ina katisha tamaa kufanya mashambulizi. Hii ni kwasasbabu kwenye uthibitisho-wa-hisa, wakaguzi wanaolinda mtandao lazima wasimamishe hisa zao za ETH ndani ya itifaki, kwahiyo watapoteza fedha zao kama wakijaribu kufanya shambulizi.", + "page-upgrades-vision-security-desc-5": "Hili haliwezekani kwenye uthibitisho-wa-kazi, kitu ambacho itifaki inaweza kufanya ni kulazimisha vyombo vinavyolinda mtandao (wachimbaji) kupoteza zawadi zao za uchimbaji la sivyo wangezipata. Ili kufikia matokea sawa sawa na uthibitish-wa-kaazi, itifaki haitakua na budi kuharibu vyombo vyote vya wachimbaji kama wakijaribu kudanganya.", + "page-upgrades-vision-security-desc-5-link": "Zaidi juu ya uthibitisho wa kazi", + "page-upgrades-vision-security-desc-8": "Namna ya usalama wa Ethereum unabidi ubadilike kwasababu ya uanzilishi wa minyororo ya kigae. Mnyororo Kioleza kwa unasibu utakabidhi vigae tofauti tofauti kwa wathibitishaji - hii itafanya wathibishaji wapate kazi ngumu au kushindwa kabisa kujaribu kuvamia kigae. Ugawanywaji wa vigae sio salama kama mnyororo wa uthibitisho-wa-kazi, hii ni kwasababu wachimbaji hawawi chini ya udhibiti wa itifaki namna hii.", + "page-upgrades-vision-security-desc-10": "Kusimamisha hisa kuna maanisha huitaji kuwekeza katika maunzi maridadi ili 'uendeshe' nodi ya Ethereum. Hii inapaswa kutia moyo watu wengi zaidi kua wathibitishaji, kuongeza ugatuzu wa mtandao na kupunguza uwanja wa mashabulizi.", + "page-upgrades-vision-security-staking": "Weka ETH", + "page-upgrades-vision-security-validator": "Mtu yeyote anaweza kuwa mthibitishaji kwa kuweka(kusimamisha) hisa zake za ETH.", + "page-upgrades-vision-shard-chains": "vipande vya minyororo", + "page-upgrades-vision-shard-date": "Kadirio: 2023", + "page-upgrades-vision-shard-desc-4": "Minyororo ya kigae itasambaza mzigo wa mtandao kwenda kwenye minyororo mipya 64. Vigae vinauwezo wa kuongeza kasi ya muamala kwa hali ya juu, kasi - mpaka miamamala 100,000 kwa sekunde moja.", + "page-upgrades-vision-shard-upgrade": "Zaidi juu ya minyororo ya vigae", + "page-upgrades-vision-staking-lower": "Zaidi juu ya kusimamisha hisa", + "page-upgrades-vision-subtitle": "Ikuze Ethereum mpaka itakapokua na nguvu ya kusaidia binandamu wote.", + "page-upgrades-vision-sustainability": "Uendelevu", + "page-upgrades-vision-sustainability-desc-1": "Sio siri kuwa Ethereum na minyororo mingine kama Bitcoin inakula umeme mwingi kwasababu ya uchimbaji.", + "page-upgrades-vision-sustainability-desc-2": "Lakini Ethereum inafata njia ya kulindwa na ETH, sio uwezo wa kompyuta -- kwa kupitia uwekaji wa hisa.", + "page-upgrades-vision-sustainability-desc-3": "Japo uwekaji wa hisa umeshaanzishwa na Mnyororo Kioleza, Ethereum tunayotumia leo itakua ikikimbia sambamba kwa kipindi fulani. Mfumo mmoja unalindwa na ETH, na mwingine ukilindwa na nguvu ya ukokotoaji wa kompyuta. Hii itaendelea mpaka muungano utakapotokea.", + "page-upgrades-vision-sustainability-desc-8": "Mnyororo Kioleza ukishakuwa hai, kazi ya kuunganisha Mtandao Mkuu na mfumo mpya itaanza. Muunganiko huu utageuza Mtandao Mkuu kuwa Kigae ili kilindwe na ETH na hata hitaji la umeme mdogo kupindukia.", + "page-upgrades-vision-sustainability-subtitle": "Ethereum inahitaji kua inayolinda mazingira.", + "page-upgrades-vision-title": "Maono ya Ethereum", + "page-upgrades-vision-title-1": "Mtandao ulioziba", + "page-upgrades-vision-title-2": "Nafasi ya kwenye diski", + "page-upgrades-vision-title-3": "Umeme mwingi sana", + "page-upgrades-vision-trilemma-cardtext-1": "Visasisho vya Eth2 vitafanya Ethereum kuwa endelevu, salama na iliogatuliwa. Ugawanyaji wa vigae vitaifanya Ethereum kuwa endelevu kwa kuongeza miamala kwa sekunde huku ikipunguza umeme unaohitajika kuendesha nodi na kuthibitisha mnyororo. Mnyororo Kioleza utafanya Ethereum kuwa salama kwa kuratibu wathibitishaji kati ya vigae. Na uwekaji wa hisa utashusha ukuta unaozuia washiriki, na mwishowe kuunda mtandao mkubwa zaidi, na uliogatuliwa zaidi.", + "page-upgrades-vision-trilemma-cardtext-2": "Mtandao wa mnyororo uliogatuliwa na ulio salama unahitaji kila nodi kuthibitisha muamala uliochakatwa na mnyororo. kazi hii ina weka mipaka ya idadi ya miamala inayoweza kutokea muda wowote. Salama na uliogatuliwa unawakilisha Ethereum ya leo.", + "page-upgrades-vision-trilemma-cardtext-3": "Mitandao iliogatuliwa inafanya kazi kwa kutuma taarifa kuhusu miamala kati ya nodi na nodi zingine -- mtandao wote unahitaji kujua kuhusu badiliko la hali yoyote kwenye mtandao. Uboreshwaji wa miamala kwa sekunde kati ya mtandao uliogatuliwa unakaribisha hatari za kiusalama kwasababu ongezeko la miamala, ndio itakavyochukua muda mrefu, na uwezekano wa uvamizi unavyokua juu wakati taarifa zinasafirishwa.", + "page-upgrades-vision-trilemma-cardtext-4": "Kuongeza ukubwa na nguvu ya nodi za Etehreum ingewezakuongeza wingi wa miamala kwa sekunde kwa njia salama zaidi, lakini mahitaji ya maunzi yangezuia nani anaweza kufanya hivyo -- hii inatishia ugatuzi. Inategemewa kuwa ugawanyaji wa vigae na uthibitisho-wa-hisa utawezesha Ethereum kuwa endelevu kwa kuongeza wingi wa nodi, na sio ukubwa wa nodi.", + "page-upgrades-vision-trilemma-h2": "Changamoto ya ukuzaji wa ugatuzi", + "page-upgrades-vision-trilemma-modal-tip": "Bonyeza duara hapo chini uelewe matatizo ya ukuzaji wa ugatuaji", + "page-upgrades-vision-trilemma-p": "Njia ya kijinga ya kutatua matatizo ya Ethereum ingekua kuongeza ushiriki wa kati. Lakini ugatuzi ni wa wa muhimu sana. Ugatuzi wake unaipatia Ethereum nguvu ya kupambana na udhibiti, inakua wazi zaidi, inatunza data za faragha na ulinzi uliokaribia kutokuvunjika kwa njia yoyote.", + "page-upgrades-vision-trilemma-p-1": "Maono ya Ethereum ni kuwa endelevu na salama zaidi, lakini pia ibaki kuwa iliogatuliwa. Sifa hizi tatu zikifikiwa ni tatizo linaloitwa ukuzaji wa mara tatu.", + "page-upgrades-vision-trilemma-p-2": "Visasisho vya Ethereum vinalenga kutatua utatu wa shida hizi lakini kuna changamoto.", + "page-upgrades-vision-trilemma-press-button": "Bonyeza vitufe vya pembe tatu ili uelewe vyema shida zinazokabili ukuaji wa ugatuzi.", + "page-upgrades-vision-trilemma-text-1": "Ugatuzi", + "page-upgrades-vision-trilemma-text-2": "Usalama", + "page-upgrades-vision-trilemma-text-3": "Uwezo wa kuongezeka/kupungua", + "page-upgrades-vision-trilemma-title-1": "Chunguza shida ya utatu wa ukuaji", + "page-upgrades-vision-trilemma-title-2": "Visasisho vya Ethereum na ukuaji wa uliogatuliwa", + "page-upgrades-vision-trilemma-title-3": "Salama na uliogatuliwa", + "page-upgrades-vision-trilemma-title-4": "Uliogatuliwa na unaokua", + "page-upgrades-vision-trilemma-title-5": "Unaokua na salama", + "page-upgrades-vision-understanding": "Kuelewa maono ya Ethereum", + "page-upgrades-vision-upgrade-needs": "Mahitaji ya visasisho", + "page-upgrades-vision-upgrade-needs-desc": "Itifaki ilizinduliwa mwaka 2015 ilikua na mafanikio yasioaminika. Lakini jamii ya wana-Ethereum hua inategemea visasisho kadhaa muhimu vitakua muhimu kufungua uwezo kamili wa Ethereum.", + "page-upgrades-vision-upgrade-needs-desc-2": "Mahitaji makubwa yanapandisha bei ya makato kwa muamala ambayo inafanya Ethereum kuwa ghali kwa mtumiaji wa kawaida. Nafasi kwenye diski inayohitajika kuendesha Ethereum inakua kwa kasi kubwa. Na msingi wamaelekezo ya makubaliano ya uthibitisho-wa-kazi na uagatuzi unachangia kwa kiasi kikubwa kubadili mazingira.", + "page-upgrades-vision-upgrade-needs-desc-3": "Ethereeum ina seti ya visasisho ambvavyo vinavyoshughulikia matatizo haya na zaidi. Seti hizi za usasishaji zilijulikana hapo mwanzo kama 'Utulivu' na 'Eth2' na zimekuwa sehemu muhimu katiaka sehemu ya utafiti na maendeleo toka mwaka 2014.", + "page-upgrades-vision-upgrade-needs-desc-5": "Sasa kwa kuwa teknolojia iko tayari, maboresho haya yatabuni Etehreum na kuifanya ikue, salama, na endelevu - ili kufanya maisha ya watumiaji kuwa bora na kuvutia wengine wapya. Yote hii huku ikitunza thamani ya msingi ya Ethereum.", + "page-upgrades-vision-upgrade-needs-desc-6": "Hii inamaana hakuna badiliko la ukuaji. Maboresho yatasafirishwea taratibu baada ya muda.", + "page-upgrades-vision-upgrade-needs-serenity": "Anagalia chapisho la mwaka 2015 likijadili 'Utulivu'" +} diff --git a/src/intl/sw/page-upgrades.json b/src/intl/sw/page-upgrades.json new file mode 100644 index 00000000000..e2a89167647 --- /dev/null +++ b/src/intl/sw/page-upgrades.json @@ -0,0 +1,5 @@ +{ + "page-upgrades-beacon-date": "Imesafirishwa!", + "page-upgrades-merge-date": "~Q3/Q4 2022", + "page-upgrades-shards-date": "~2023" +} From fc70b8468708ed448424c1735c2afde82269a9e1 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 12 May 2022 17:22:41 -0700 Subject: [PATCH 132/167] fr Advanced docs import latest from Crowdin --- .../fr/developers/docs/mev/index.md | 130 ++++++++ .../fr/developers/docs/oracles/index.md | 296 ++++++++++++++++-- .../fr/developers/docs/scaling/index.md | 113 +++++++ .../docs/scaling/optimistic-rollups/index.md | 59 ++++ .../developers/docs/scaling/plasma/index.md | 39 +++ .../docs/scaling/sidechains/index.md | 39 +++ .../docs/scaling/state-channels/index.md | 76 +++++ .../developers/docs/scaling/validium/index.md | 36 +++ .../docs/scaling/zk-rollups/index.md | 48 +++ .../fr/developers/docs/standards/index.md | 15 +- .../docs/standards/tokens/erc-1155/index.md | 147 +++++++++ .../docs/standards/tokens/erc-20/index.md | 16 +- .../docs/standards/tokens/erc-721/index.md | 24 +- .../docs/standards/tokens/erc-777/index.md | 42 +++ .../developers/docs/standards/tokens/index.md | 10 +- 15 files changed, 1028 insertions(+), 62 deletions(-) create mode 100644 src/content/translations/fr/developers/docs/mev/index.md create mode 100644 src/content/translations/fr/developers/docs/scaling/index.md create mode 100644 src/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md create mode 100644 src/content/translations/fr/developers/docs/scaling/plasma/index.md create mode 100644 src/content/translations/fr/developers/docs/scaling/sidechains/index.md create mode 100644 src/content/translations/fr/developers/docs/scaling/state-channels/index.md create mode 100644 src/content/translations/fr/developers/docs/scaling/validium/index.md create mode 100644 src/content/translations/fr/developers/docs/scaling/zk-rollups/index.md create mode 100644 src/content/translations/fr/developers/docs/standards/tokens/erc-1155/index.md create mode 100644 src/content/translations/fr/developers/docs/standards/tokens/erc-777/index.md diff --git a/src/content/translations/fr/developers/docs/mev/index.md b/src/content/translations/fr/developers/docs/mev/index.md new file mode 100644 index 00000000000..9751c2a5d7f --- /dev/null +++ b/src/content/translations/fr/developers/docs/mev/index.md @@ -0,0 +1,130 @@ +--- +title: Valeur Extractible Maximale (Maximal extractable value - MEV) +description: Une introduction à la Valeur Extractible Maximale (Maximal extractable value - MEV) +lang: fr +sidebar: true +--- + +La Valeur Extractible Maximale (MEV) représente la valeur maximale qui peut être extraite de la production d'un bloc au-delà de la récompense standard du bloc et des frais de gaz, en incluant, en excluant ou en modifiant l'ordre des transactions au sein d'un bloc. + +### Valeur extractible par minage + +Ce concept a été appliqué pour la première fois dans le cadre de la [preuve de travail](/developers/docs/consensus-mechanisms/pow/), et était alors appelé « valeur extractible par minage ». Ceci est dû au fait que dans la preuve de travail, les mineurs contrôlent les inclusions, exclusions et l'ordre des transactions. En revanche, après le passage à la preuve d'enjeu qu'entraînera [La Fusion](/upgrades/merge), ces rôles seront confiés aux validateurs, et le minage ne sera plus possible. Les méthodes d'extraction de valeur utilisées aujourd'hui seront toujours d'actualité après cette transition, un changement de nom était de ce fait nécessaire. Afin de garder le même acronyme, tout en conservant la même signification de base, l'expression « valeur extractible maximale » est maintenant utilisée comme remplacement plus général. + +## Prérequis {#prerequisites} + +Assurez-vous d'être à l'aise avec les concepts de [transactions](/developers/docs/transactions/), [blocs](/developers/docs/blocks/), [gaz](/developers/docs/gas/) ainsi que [de minage](/developers/docs/consensus-mechanisms/pow/mining/). Se familiariser avec les [applications décentralisées (dApps)](/dapps/) et la [finance décentralisée (DeFi)](/defi/) peut également être utile. + +## Extraction MEV {#mev-extraction} + +En théorie, la MEV bénéficie uniquement aux mineurs, car ils sont les seuls à pouvoir garantir l’exécution d'une opportunité de MEV rentable (à tout le moins pour la chaîne actuelle basée sur la preuve de travail. Cela changera après [La Fusion](/upgrades/merge/)). Cependant, en pratique, une grande partie des MEV est extraite par des participants indépendants du réseau qui sont appelés les « chercheurs ». Les chercheurs exécutent des algorithmes complexes sur les données de la blockchain pour détecter les opportunités MEV rentables et soumettent automatiquement au réseau ces transactions rentables via des programmes informatiques automatisés. + +Les mineurs obtiennent dans tous les cas une partie du montant total du MEV, car les chercheurs sont prêts à payer des frais de gaz élevés (revenant aux mineurs) en échange d'une plus grande probabilité d'inclure leurs transactions rentables dans un bloc. En supposant que les chercheurs soient économiquement rationnels, les frais de gaz qu'un chercheur est prêt à payer pourront atteindre 100 % du MEV du chercheur (parce que si les frais de carburant étaient plus élevés, le chercheur perdrait de l'argent). + +Ainsi, pour certaines opportunités MEV hautement compétitives, telles que [l'arbitrage DEX](#mev-examples-dex-arbitrage), les chercheurs devront parfois payer au mineur des frais de carburant, s'élevant à 90 % (ou même davantage) de leurs MEV totaux, car un grand nombre de personnes gens souhaitent utiliser le même profil d'arbitrage rentable. En effet, la seule façon de garantir que leur transaction d'arbitrage soit exécutée est de soumettre la transaction avec le prix de gaz le plus élevé. + +### Le gas-golfing {#mev-extraction-gas-golfing} + +Cette dynamique a fait du « gas-golfing » — le fait de programmer des transactions pour qu'elles utilisent le moins de gaz possible — un avantage concurrentiel, parce qu'il permet aux chercheurs de fixer un prix de gaz plus élevé tout en gardant leurs frais totaux constants (puisque les frais de gaz = prix du gaz \* gaz utilisé). + +Quelques techniques de gas-golfing bien connues consistent à : utiliser des adresses commençant par une longue chaîne de zéros (p. ex. [0x000000C521824EaFf97Eac7B73B084ef9306](https://etherscan.io/address/0x0000000000c521824eaff97eac7b73b084ef9306)) puisqu'elles occupent moins de place (et donc de gaz); ou bien laisser volontairement de petits soldes de jetons [ERC-20](/developers/docs/standards/tokens/erc-20/) dans les contrats, car il est plus cher d'initialiser un emplacement de stockage (ce qui se passe lorsque le solde est 0) que de le mettre à jour. Trouver de nouvelles techniques pour réduire la consommation de gaz est un domaine de recherche actif parmi les chercheurs. + +### Extracteurs embusqués (Frontrunners) {#mev-extraction-generalized-frontrunners} + +Plutôt que de programmer des algorithmes complexes pour détecter des opportunités MEV rentables, certains chercheurs exécutent des favoris généralisés. Les favoris généralisés sont des programmes automatiques qui scrutent le mempool pour détecter les transactions rentables. Le favori copiera le code de la transaction potentiellement rentable, remplacera les adresses par l'adresse du favori et exécutera la transaction localement pour vérifier doublement que la transaction modifiée génère un profit pour l'adresse du favori. Si la transaction est effectivement rentable, le favori soumettra la transaction modifiée avec l'adresse remplacée et un prix de carburant plus élevé devenant ainsi le favori de la transaction originale et ainsi obtenir le MEV du chercheur original. + +### Flashbots {#mev-extraction-flashbots} + +Flashbots est un projet indépendant qui étend le client go-ethereum avec un service qui permet aux chercheurs de soumettre des transactions MEV aux mineurs sans les révéler au public mempool. Cela empêche les transactions d'être exécutées par des favoris généralisés. + +Au moment où nous écrivons ces lignes, une partie importante des transactions MEV est acheminée par Flashbots, ce qui veut dire que les favoris généralisés ne sont pas aussi efficaces qu'ils ne l'étaient autrefois. + +## Exemples de MEV {#mev-examples} + +Les MEV apparaissent sur la blockchain de différentes façons. + +### Arbitrage DEX {#mev-examples-dex-arbitrage} + +[L'arbitrage sur les plateformes d'échanges décentralisées](/glossary/#dex) (DEX) est la possibilité MEV la plus simple et la plus connue. Par conséquent, c'est aussi le plus compétitif. + +Cela fonctionne ainsi : si deux DEX proposent un jeton à deux prix différents, quelqu'un peut acheter sur le DEX le jeton au prix le plus bas et le vendre au prix le plus élevé dans une transaction atomique unique. Grâce au mécanisme de la blockchain, c'est véritablement un arbitrage sans risque. + +[Voici l'exemple](https://etherscan.io/tx/0x5e1657ef0e9be9bc72efefe59a2528d0d730d478cfc9e6cdd09af9f997bb3ef4) d'une transaction d'arbitrage rentable où un chercheur a transformé 1 000 ETH en 1 045 ETH en profitant de prix différents de la paire ETH/DAI sur Uniswap vs. Sushiswap. + +### Liquidations {#mev-examples-liquidations} + +Les liquidations dans les protocoles de prêt représentent une autre occasion bien connue de MEV. + +Les protocoles de prêts comme Maker et Aave fonctionnent en imposant aux utilisateurs de déposer une forme de garantie (par exemple des ETH). Les utilisateurs peuvent alors emprunter différents actifs et jetons à d'autres en fonction de ce dont ils ont besoin (par exemple, ils peuvent emprunter des MKR s'ils veulent voter sur une proposition de gouvernance MakerDAO ou des SUSHI s'ils veulent gagner une partie des frais de négociation sur Sushiswap) jusqu'à un certain montant de leur garantie déposée — par exemple, 30 % (le pourcentage exact de la capacité d'emprunt est déterminé par le protocole). Les utilisateurs à qui ils empruntent les autres jetons assument le rôle de prêteurs dans ce cas. + +La valeur des collatéraux d'un emprunteur fluctue, tout comme leur pouvoir d'emprunt. Si, en raison des fluctuations du marché, la valeur des actifs empruntés excède par exemple 30 % de la valeur de leur garantie (encore une fois, le pourcentage exact est déterminé par le protocole), le protocole permet généralement à quiconque de liquider la garantie et de rembourser instantanément les prêteurs (système similaire à la façon dont les [appels de marge](https://www.investopedia.com/terms/m/margincall.asp) fonctionnent dans la finance traditionnelle). En cas de liquidation, l'emprunteur doit généralement payer des frais de liquidation élevés, dont certains vont au liquidateur — c’est là que se trouve la possibilité du MEV. + +Les chercheurs rivalisent pour analyser les données de la blockchain le plus rapidement possible afin de déterminer quels emprunteurs peuvent être liquidés et être les premiers à soumettre une transaction de liquidation et à collecter les frais de liquidation pour eux-mêmes. + +### Échange Sandwich {#mev-examples-sandwich-trading} + +L'échange Sandwich est une autre méthode courante d'extraction MEV. + +Pour créer un sandwich, un chercheur va inspecter le mempool pour trouver des transactions DEX de grand volume. Par exemple, supposons que quelqu'un souhaite acheter 10 000 UNI avec DAI sur Uniswap. Un échange de cette ampleur aura un impact significatif sur la paire UNI/DAI, ce qui pourrait augmenter considérablement le prix de l'UNI par rapport à DAI. + +Un chercheur peut calculer l'impact approximatif en termes de prix de cette importante négociation sur la paire UNI/DAI et exécuter un ordre d'achat optimal immédiatement _avant_ le vaste échange en achetant ainsi des UNI à bon prix, puis exécuter un ordre de vente immédiatement _après_ l'échange en le vendant à un prix bien supérieur résultant de l'importance de l'ordre. + +Cependant, l'échange Sandwich est plus risqué, car il n'est pas atomique (contrairement à l'arbitrage DEX décrit ci-dessus) et est sujet à une [attaque à la salmonelle](https://github.com/Defi-Cartel/salmonella). + +### MEV sur NFT {#mev-examples-nfts} + +Le MEV dans l'espace NFT est un phénomène émergent et n'est pas nécessairement rentable. + +Cependant, étant donné que les transactions NFT se produisent sur la même blockchain partagée que toutes les autres transactions Ethereum, les chercheurs peuvent utiliser sur le marché des NFT des techniques similaires à celles traditionnellement utilisées pour les opportunités MEV. + +Par exemple, s'il y a une forte demande d'un NFT populaire et qu'un chercheur veut un certaine NFT ou un ensemble de NFT, il peut programmer une transaction de telle sorte qu'il soit le premier à acheter le NFT ou encore, il pourra acheter l'ensemble des NFT en une seule transaction. Ou si une NFT est [répertoriée par erreur à un prix bas](https://www.theblockcrypto.com/post/113546/mistake-sees-69000-cryptopunk-sold-for-less-than-a-cent), un chercheur peut faire face à d'autres acheteurs et la récupérer à moindre coût. + +Un exemple significatif de NFT MEV s'est produit lorsqu'un chercheur a dépensé 7 millions de dollars pour [acheter](https://etherscan.io/address/0x650dCdEB6ecF05aE3CAF30A70966E2F395d5E9E5) chaque Cryptopunk au prix plancher. Un chercheur en blockchain [a expliqué sur Twitter](https://twitter.com/IvanBogatyy/status/1422232184493121538) comment l'acheteur a travaillé avec un fournisseur MEV pour garder son secret d'achat. + +### La longue série {#mev-examples-long-tail} + +Les opérations d’arbitrage DEX, de liquidations et d'échange Sandwich sont toutes des opportunités MEV bien connues et ne sont pas susceptibles d’être rentables pour les nouveaux chercheurs. Cependant, il existe une longue série d'opportunités MEV moins connues (les NFT MEV sont sans aucun doute l'une de ces opportunités). + +Les chercheurs qui sont sur le point de débuter peuvent rencontrer davantage de succès en recherchant les MEV dans cette longue série. Le [MEV job board](https://github.com/flashbots/mev-job-board) de Flashbot liste certaines opportunités émergentes. + +## Effets du MEV {#effects-of-mev} + +MEV n’est pas que négatif. Il existe des conséquences positives et négatives concernant MEV sur Ethereum. + +### Les avantages {#effects-of-mev-the-good} + +De nombreux projets DeFi s'appuient sur des acteurs économiquement rationnels pour assurer l'utilité et la stabilité de leurs protocoles. Par exemple, l'arbitrage DEX garantit que les utilisateurs obtiennent le meilleur et le plus juste prix pour leurs jetons, et les protocoles de prêt reposent sur des liquidations rapides lorsque les emprunteurs tombent sous les ratios de garantie pour s'assurer que les prêteurs sont remboursés. + +Sans chercheurs rationnels qui cherchent et corrigent les inefficacités économiques et qui profitent des incitations économiques des protocoles, les protocoles DeFi et dApps en général peuvent ne pas être aussi robustes qu'ils le sont aujourd'hui. + +### Les inconvénients {#effects-of-mev-the-bad} + +À la couche de l'application, certaines formes de MEV, comme les échanges sandwich, entraînent sans équivoque une expérience pire pour les utilisateurs. Les utilisateurs qui sont pris en sandwichs sont confrontés à une augmentation du glissement et à une pire exécution pour leurs opérations. + +Au niveau de la couche réseau, les favoris généralisés et les ventes aux enchères de prix du gaz dans lesquelles ils se livrent souvent (lorsque deux ou plusieurs favoris rivalisent pour que leur transaction soit incluse dans le bloc suivant en augmentant progressivement le prix du gaz de leurs propres transactions) entraînent une congestion du réseau et des prix élevés de gaz pour tous les autres qui essaient de faire des transactions régulières. + +Au-delà de ce qui se passe _à l'intérieur des blocs_, le MEV peut avoir des effets nocifs _entre_ les blocs. Si le MEV disponible dans un bloc dépasse significativement la récompense standard du bloc, les mineurs peuvent être encouragés à réextraire des blocs et à capturer le MEV pour eux-mêmes, causant une réorganisation de la blockchain et une instabilité consensuelle. + +Cette possibilité de réorganisation de la blockchain a été [précédemment rencontrée sur la blockchain Bitcoin](https://dl.acm.org/doi/10.1145/2976749.2978408). Comme la récompense de bloc de Bitcoin est divisée en deux et les frais de transaction représentent une part plus grande de la récompense de bloc, des situations apparaissent où il devient économiquement rationnel pour les mineurs d'abandonner la récompense du prochain bloc et de réextraire les blocs passés avec des frais plus élevés. Avec la croissance du MEV, le même type de situation pourrait se produire avec Ethereum, menaçant l'intégrité de la blockchain. + +## État du MEV {#state-of-mev} + +L’extraction MEV a été organisée au début de 2021, ce qui a entraîné des prix de gaz extrêmement élevés au cours des premiers mois de l’année. L'émergence du relais MEV de Flashbots a réduit l'efficacité des favoris généralisés et en prenant les enchères sur les prix du gaz hors chaîne, a permis la baisse des prix de gaz pour les utilisateurs ordinaires. + +Alors que beaucoup de chercheurs gagnent encore de l'argent grâce au MEV, les possibilités devenant plus connues et de plus en plus de chercheurs rivalisant pour la même possibilité, les mineurs vont générer de plus en plus de revenus MEV totaux (le même type d'enchères de gaz que celles décrites à l'origine ci-dessus se produisent également dans Flashbots mais en privé, et les mineurs en tireront les revenus de gaz qui en découlent). MEV n'est pas non plus l'apanage d'Ethereum et à mesure que les possibilités deviennent plus compétitives sur Ethereum, les chercheurs se déplacent vers des blockchains alternatifs comme Binance Smart Chain, où des possibilités MEV similaires à celles sur Ethereum existent mais avec moins de concurrence. + +Au fur et à mesure que DeFi croît et que sa popularité augmente, MEV pourrait bientôt l'emporter considérablement sur la récompense de bloc de base Ethereum. Cela s'accompagne d'une possibilité croissante de blocs égoïstes et d'instabilité du consensus. Certains considèrent qu'il s'agit là d'une menace existentielle pour Ethereum et que le découragement du minage égoïste est un domaine de recherche actif dans la théorie du protocole Ethereum. Une solution actuellement en cours d'étude est [le lissage de récompense MEV](https://ethresear.ch/t/committee-driven-mev-smoothing/10408). + +## Ressources associées {#related-resources} + +- [Flashbots GitHub](https://github.com/flashbots/pm) +- [MEV-Explore](https://explore.flashbots.net/) _Tableau de bord et explorateur de transactions en direct pour les transactions MEV_ + +## Complément d'information {#further-reading} + +- [Qu'est-ce qu'une valeur extractible par minage (MEV) ?](https://blog.chain.link/what-is-miner-extractable-value-mev/) +- [MEV et moi](https://research.paradigm.xyz/MEV) +- [L'Ethereum est une Forêt Sombre](https://www.paradigm.xyz/2020/08/ethereum-is-a-dark-forest/) +- [S'échapper de la forêt Sombre](https://samczsun.com/escaping-the-dark-forest/) +- [Flashbots : Devancer la crise des MEV](https://medium.com/flashbots/frontrunning-the-mev-crisis-40629a613752) +- [@bertcmiller's MEV Threads](https://twitter.com/bertcmiller/status/1402665992422047747) diff --git a/src/content/translations/fr/developers/docs/oracles/index.md b/src/content/translations/fr/developers/docs/oracles/index.md index 1dd0aa57b91..693b5082098 100644 --- a/src/content/translations/fr/developers/docs/oracles/index.md +++ b/src/content/translations/fr/developers/docs/oracles/index.md @@ -1,10 +1,9 @@ --- title: Oracles -description: Les oracles servent à amener les données du monde réel dans votre application Ethereum, les contrats intelligents ne peuvant pas les interroger par eux-mêmes. +description: Les oracles servent à intégrer les données du monde réel dans votre application Ethereum, les contrats intelligents ne pouvant pas les interroger par eux-mêmes. lang: fr sidebar: true incomplete: true -isOutdated: true --- Les oracles sont des flux de données qui connectent Ethereum aux informations hors chaîne du monde réel pour vous permettre d’interroger les données dans vos contrats intelligents. Par exemple, les DApps de marchés prédictifs utilisent les oracles pour régler des paiements en fonction des événements. Un marché prédictif peut vous demander de miser vos ETH sur le prochain président des États-Unis. Ils utiliseront un oracle pour confirmer le résultat et rémunérer les gagnants. @@ -15,75 +14,299 @@ Assurez-vous d'avoir compris en quoi consistent les [nœuds](/developers/docs/no ## Qu'est ce qu'un oracle ? {#what-is-an-oracle} -Un oracle est un pont entre la blockchain et le monde réel. Ils agissent sur la blockchain comme des API que vous pouvez interroger pour obtenir des informations dans vos contrats intelligents. Il peut s'agir de n'importe quoi, d'informations de prix aux bulletins météorologiques. +Un oracle est un pont entre la blockchain et le monde réel. Ils agissent sur la blockchain comme des API que vous pouvez interroger pour obtenir des informations dans vos contrats intelligents. Il peut s'agir de n'importe quoi, d'informations de prix aux bulletins météorologiques. Les oracles peuvent également être bidirectionnels, utilisés pour « envoyer » des données hors du monde réel. + +Regardez Patrick expliquer les Oracles : + + ## Pourquoi sont-ils nécessaires ? {#why-are-they-needed} -Avec une blockchain comme Ethereum, tous les nœuds du réseau sont nécessaires pour pouvoir rejouer chaque transaction et finir avec le même résultat garanti. Les API introduisent des données potentiellement variables. Si vous envoyez à quelqu'un un montant d'ETH basé sur une valeur convenue en $USD via une API de prix, la requête retournera un résultat différent d'un jour sur l'autre. Sans parler du fait que l'API pourrait être piratée ou dépréciée. Dans ce cas, les nœuds du réseau ne pourraient pas se mettre d'accord sur l'état actuel d'Ethereum, brisant ainsi le [consensus](/developers/docs/consensus-mechanisms/). +Avec une blockchain comme Ethereum, tous les nœuds du réseau sont nécessaires pour pouvoir rejouer chaque transaction et finir avec le même résultat garanti. Les APIs introduisent des données potentiellement variables. Si vous envoyez un montant d'ETH basé sur une valeur convenue en $USD via une API de prix, la requête retournera un résultat différent d'un jour sur l'autre. Sans parler du fait que l'API pourrait être piratée ou dépréciée. Dans ce cas, les nœuds du réseau ne pourraient pas se mettre d'accord sur l'état actuel d'Ethereum, brisant ainsi le [consensus](/developers/docs/consensus-mechanisms/). + +Les oracles résolvent ce problème en publiant les données sur la blockchain. Ainsi, tout nœud rejouant la transaction utilisera les mêmes données immuables qui ont été publiées pour que tout le monde puisse les voir. À cette fin, un oracle comprend généralement un contrat intelligent et des composants hors chaîne qui peuvent interroger les APIs, puis envoyer périodiquement des transactions pour mettre à jour les données du contrat intelligent. -Les oracles résolvent ce problème en publiant les données sur la blockchain. Ainsi, tout nœud rejouant la transaction utilisera les mêmes données immuables qui ont été publiées pour que tout le monde puisse les voir. Pour faire cela, un oracle est comprend généralement un contrat intelligent et des composants hors chaîne qui peuvent interroger les API, puis envoyer périodiquement des transactions pour mettre à jour les données du contrat intelligent. +### Le problème de l'oracle {#oracle-problem} + +Comme nous l'avons mentionné, les transactions Ethereum ne peuvent accéder directement aux données hors chaîne. En même temps, compter sur une seule source de vérité pour fournir des données n'est pas sûr et invalide la décentralisation d'un contrat intelligent. Ceci est connu comme le problème de l'oracle. + +Nous pouvons éviter le problème de l'oracle en utilisant un oracle décentralisé qui s'appuie sur de multiples sources de données. Si une source de données est piratée ou échoue, le contrat intelligent fonctionnera toujours comme prévu. ### Sécurité {#security} -Un oracle n'est aussi sûr que sa ou ses sources de données. Si une DApp utilise Uniswap comme oracle pour son flux de prix ETH/DAI, il est possible pour un attaquant de déplacer le prix sur Uniswap afin de manipuler la compréhension du prix actuel par la DApps. Une façon de combattre cela est l'utilisation d'un [un système de flux](https://developer.makerdao.com/feeds/) comme celui de MakerDAO, qui rassemble les données de prix à partir d'un certain nombre de flux de prix externes au lieu de dépendre d'une seule source. +Un oracle est aussi sûr que le sont ses sources de données. Si une dapp utilise Uniswap comme oracle pour son flux de prix ETH/DAI, il est possible pour un attaquant de déplacer le prix sur Uniswap afin de manipuler la compréhension du prix actuel par la dapp. Un exemple de façon de combattre cela est l'utilisation d'un [système de flux](https://developer.makerdao.com/feeds/) comme celui de MakerDAO qui rassemble les données de prix à partir d'un certain nombre de flux externes de prix au lieu de dépendre d'une seule source. + +### Architecture {#architecture} + +Voici un exemple d'architecture simple d'Oracle, mais il existe d'autres moyens pour déclencher un calcul hors chaîne. + +1. Émettre un journal avec votre [événement de contrat intelligent](/developers/docs/smart-contracts/anatomy/#events-and-logs) +2. Un service hors chaîne s'abonne (généralement en utilisant quelque chose comme la commande JSON-RPC `eth_subscribe`) à ce journal. +3. Le service hors chaîne procède à certaines tâches telles que définies dans le journal. +4. Le service hors chaîne répond avec les données demandées dans une transaction secondaire au contrat intelligent. + +Voici comment obtenir des données 1 à 1. Cependant, et afin d'améliorer la sécurité, vous pouvez souhaiter décentraliser la façon dont vous collectez vos données hors chaîne. + +L'étape suivante pourrait être de disposer d'un réseau de ces nœuds faisant ces appels à différentes APIs et sources, et en agrégeant les données sur la chaîne. + +[Chainlink Off-Chain Reporting](https://blog.chain.link/off-chain-reporting-live-on-mainnet/) (Chainlink OCR) a amélioré cette méthodologie en faisant communiquer les noeuds du réseau d'oracles hors chaîne les uns avec les autres, en signant cryptographiquement leurs réponses, en agrégeant leurs réponses hors chaîne et en envoyant une seule transaction sur la blockchain avec le résultat. De cette façon, moins de carburant est dépensé, mais on conserve toujours la garantie de décentralisation des données puisque chaque nœud a signé sa partie de la transaction, la rendant non modifiable par le nœud envoyant la transaction. La politique d'escalade se déclenche si le nœud ne finalise pas la transaction et que le nœud suivant envoie la transaction. ## Utilisation {#usage} -### Oracles en tant que service {#oracles-as-a-service} +En utilisant des services comme Chainlink, vous pouvez référencer des données décentralisées sur la chaîne qui ont déjà été tirées du monde réel et agrégées. Un peu comme des bien publics partagés, mais pour les données décentralisées. Vous pouvez également construire vos propres réseaux d'oracles modulaires pour obtenir tout type de données personnalisées dont vous avez besoin. En outre, vous pouvez faire du calcul hors chaîne et envoyer des informations dans le monde réel. Chainlink a l'infrastructure en place pour : -Les sites comme celui de Chainlink proposent des oracles sous forme de service. Ils ont des infrastructures qui vous permettent : +- [Obtenir des flux de prix de cryptomonnaies dans votre contrat ](https://chain.link/solutions/defi) +- [Générer des nombres aléatoires vérifiables (utile pour les jeux) ](https://chain.link/solutions/chainlink-vrf) +- [Appeler des API externes](https://docs.chain.link/docs/request-and-receive-data) - une nouvelle utilisation de ceci est [la vérification des réserves WBTC](https://cointelegraph.com/news/1b-in-wrapped-bitcoin-now-being-audited-using-chainlink-s-proof-of-reserve) -- [d'obtenir des flux de prix de cryptomonnaies dans votre contrat ;](https://chain.link/solutions/defi) -- [de générer des nombres aléatoires vérifiables (utile pour les jeux) ;](https://chain.link/solutions/chainlink-vrf) -- d'[appeler des API externes](https://docs.chain.link/docs/request-and-receive-data). Nouvelle utilisation possible : la [vérification des réserves WBTC](https://cointelegraph.com/news/1b-in-wrapped-bitcoin-now-being-audited-using-chainlink-s-proof-of-reserve). +Voici un exemple pour obtenir le dernier prix de l'ETH dans votre contrat intelligent en utilisant un flux de prix Chainlink : -Voici un exemple de la façon d'obtenir le dernier prix de l'ETH dans votre contrat intelligent en utilisant un flux de prix Chainlink : +### Flux de données de Chainlink {#chainlink-data-feeds} ```solidity -pragmatima solidité ^0.6.7; +pragma solidity ^0.6.7; -import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface. ol"; +import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol"; -contrat PriceConsumerV3 { +contract PriceConsumerV3 { - AggregatorV3Interface interne priceFeed ; + AggregatorV3Interface internal priceFeed; /** - * Réseau: Kovan + * Network: Kovan * Aggregator: ETH/USD - * Adresse: 0x9326BFA02ADD2366b30bacB125260Af641031331 + * Address: 0x9326BFA02ADD2366b30bacB125260Af641031331 */ - constructor() publique { + constructor() public { priceFeed = AggregatorV3Interface(0x9326BFA02ADD2366b30bacB125260Af641031331); } /** - * Renvoie le dernier prix + * Returns the latest price */ function getLatestPrice() public view returns (int) { ( uint80 roundID, - int prix, + int price, uint startedAt, - uint horodatage, + uint timeStamp, uint80 answeredInRound - ) = priceFeed. atestRoundData(); - prix de retour; + ) = priceFeed.latestRoundData(); + return price; } } ``` +[Vous pouvez tester cela dans Remix avec ce lien](https://remix.ethereum.org/#version=soljson-v0.6.7+commit.b8d736ae.js&optimize=false&evmVersion=null&gist=0c5928a00094810d2ba01fd8d1083581) + [Voir la documentation](https://docs.chain.link/docs/get-the-latest-price) -#### Services d'oracle {#other-services} +### Chainlink VRF {#chainlink-vrf} + +Chainlink VRF (Verifiable Random Function) est une source d'aléas prouvable et vérifiable conçue pour les contrats intelligents. Les développeurs de contrats intelligents peuvent utiliser Chainlink VRF comme un générateur de numéros aléatoires (RNG) à l'épreuve de la falsification pour créer des contrats intelligents fiables pour toutes les applications qui se basent sur des résultats imprévisibles : + +- Jeux Blockchain et NFTs +- Affectation aléatoire de tâches et de ressources (p. ex. assigner aléatoirement des juges à des cas) +- Choisir un échantillon représentatif pour les mécanismes de consensus + +Les nombres aléatoires sont difficiles, car les blockchains sont déterministes. + +Travailler avec Chainlink Oracles en dehors des flux de données suit le travail du [cycle de requête et de réception](https://docs.chain.link/docs/architecture-request-model) avec Chainlink. Ils utilisent le jeton LINK pour envoyer du carburant oracle à des fournisseurs oracle pour les réponses retournées. Le jeton LINK est spécifiquement conçu pour fonctionner avec des oracles et est basé sur le jeton ERC-677 mis à jour, qui est rétrocompatible avec [ERC-20](/developers/docs/standards/tokens/erc-20/). Le code suivant, s'il est déployé sur le réseau de test Kovan, récupérera un nombre aléatoire prouvé cryptographiquement. Pour réaliser la requête, financez le contrat avec un jeton de réseau de test LINK que vous pouvez obtenir du [robinet Kovan LINK](https://kovan.chain.link/). + +```javascript + +pragma solidity 0.6.6; + +import "@chainlink/contracts/src/v0.6/VRFConsumerBase.sol"; + +contract RandomNumberConsumer is VRFConsumerBase { + + bytes32 internal keyHash; + uint256 internal fee; + + uint256 public randomResult; + + /** + * Constructor inherits VRFConsumerBase + * + * Network: Kovan + * Chainlink VRF Coordinator address: 0xdD3782915140c8f3b190B5D67eAc6dc5760C46E9 + * LINK token address: 0xa36085F69e2889c224210F603D836748e7dC0088 + * Key Hash: 0x6c3699283bda56ad74f6b855546325b68d482e983852a7a82979cc4807b641f4 + */ + constructor() + VRFConsumerBase( + 0xdD3782915140c8f3b190B5D67eAc6dc5760C46E9, // VRF Coordinator + 0xa36085F69e2889c224210F603D836748e7dC0088 // LINK Token + ) public + { + keyHash = 0x6c3699283bda56ad74f6b855546325b68d482e983852a7a82979cc4807b641f4; + fee = 0.1 * 10 ** 18; // 0.1 LINK (varies by network) + } + + /** + * Requests randomness from a user-provided seed + */ + function getRandomNumber(uint256 userProvidedSeed) public returns (bytes32 requestId) { + require(LINK.balanceOf(address(this)) >= fee, "Not enough LINK - fill contract with faucet"); + return requestRandomness(keyHash, fee, userProvidedSeed); + } + + /** + * Callback function used by VRF Coordinator + */ + function fulfillRandomness(bytes32 requestId, uint256 randomness) internal override { + randomResult = randomness; + } +} +``` + +### Les gardiens Chainlink {#chainlink-keepers} + +Les contrats intelligents ne peuvent pas déclencher ou initier leurs propres fonctions à des moments arbitraires ou dans des conditions arbitraires. Les changements d'état ne se produiront que lorsqu'un autre compte lance une transaction (comme un utilisateur, un oracle ou un contrat). Le [réseau de gardien Chainlink](https://docs.chain.link/docs/chainlink-keepers/introduction/) fournit des options pour que les contrats intelligents pour externaliser des tâches régulières de maintenance de manière minimisée et décentralisée et en toute confiance. + +Pour utiliser les gardiens Chainlink, un contrat intelligent doit implémenter [une KeeperCompatibleInterface](https://docs.chain.link/docs/chainlink-keepers/compatible-contracts/) qui se compose de deux fonctions : + +- `checkUpkeep` - Vérifie si le contrat nécessite de réaliser un travail. +- `performUpkeep` - Effectue le travail sur le contrat, si initié par checkUpkeep. + +L'exemple ci-dessous est un simple contrat de comptage. La variable `counter` est incrémentée d'un pour chaque appel à `performUpkeep`. Vous pouvez [vérifier le code suivant en utilisant Remix](https://remix.ethereum.org/#url=https://docs.chain.link/samples/Keepers/KeepersCounter.sol) + +```javascript +// SPDX-License-Identifier: MIT +pragma solidity ^0.7.0; + +// KeeperCompatible.sol imports the functions from both ./KeeperBase.sol and +// ./interfaces/KeeperCompatibleInterface.sol +import "@chainlink/contracts/src/v0.7/KeeperCompatible.sol"; + +contract Counter is KeeperCompatibleInterface { + /** + * Public counter variable + */ + uint public counter; + + /** + * Use an interval in seconds and a timestamp to slow execution of Upkeep + */ + uint public immutable interval; + uint public lastTimeStamp; + + constructor(uint updateInterval) { + interval = updateInterval; + lastTimeStamp = block.timestamp; + + counter = 0; + } + + function checkUpkeep(bytes calldata /* checkData */) external override returns (bool upkeepNeeded, bytes memory /* performData */) { + upkeepNeeded = (block.timestamp - lastTimeStamp) > interval; + // We don't use the checkData in this example. The checkData is defined when the Upkeep was registered. + } + + function performUpkeep(bytes calldata /* performData */) external override { + lastTimeStamp = block.timestamp; + counter = counter + 1; + // We don't use the performData in this example. The performData is generated by the Keeper's call to your checkUpkeep function + } +} +``` + +Après avoir déployé un contrat compatible avec Keeper, vous devez enregistrer le contrat pour le [gardiennage](https://docs.chain.link/docs/chainlink-keepers/register-upkeep/) et le financer par LINK, pour informer le réseau de gardiens de votre contrat et afin que votre travail soit effectué en permanence. + +### Projets Keepers {#keepers} + +- [Les gardiens Chainlink](https://keepers.chain.link/) +- [Réseau Keep3r](https://docs.keep3r.network/) + +### Appel API Chainlink {#chainlink-api-call} + +Les [Appels API Chainlink](https://docs.chain.link/docs/make-a-http-get-request) sont le moyen le plus simple d'obtenir des données hors chaîne suivant la méthode qui fonctionne traditionnellement sur le web : les appels API. Exécuter une seule instance de ceci en ayant qu'un seul oracle la rend centralisée par nature. Pour le maintenir véritablement décentralisé, une plateforme de contrats intelligents devrait utiliser de nombreux nœuds trouvés sur le [marché externe de données](https://market.link/). + +[Déployez le code suivant sur remix via le réseau kovan pour le tester](https://remix.ethereum.org/#version=soljson-v0.6.7+commit.b8d736ae.js&optimize=false&evmVersion=null&gist=8a173a65099261582a652ba18b7d96c1) + +Cela suit également le cycle requête et réception d'oracles et a besoin que le contrat soit financé avec Kovan LINK (le carburant oracle) pour fonctionner. + +```javascript +pragma solidity ^0.6.0; + +import "@chainlink/contracts/src/v0.6/ChainlinkClient.sol"; + +contract APIConsumer is ChainlinkClient { + + uint256 public volume; + + address private oracle; + bytes32 private jobId; + uint256 private fee; + + /** + * Network: Kovan + * Oracle: 0x2f90A6D021db21e1B2A077c5a37B3C7E75D15b7e + * Job ID: 29fa9aa13bf1468788b7cc4a500a45b8 + * Fee: 0.1 LINK + */ + constructor() public { + setPublicChainlinkToken(); + oracle = 0x2f90A6D021db21e1B2A077c5a37B3C7E75D15b7e; + jobId = "29fa9aa13bf1468788b7cc4a500a45b8"; + fee = 0.1 * 10 ** 18; // 0.1 LINK + } + + /** + * Create a Chainlink request to retrieve API response, find the target + * data, then multiply by 1000000000000000000 (to remove decimal places from data). + */ + function requestVolumeData() public returns (bytes32 requestId) + { + Chainlink.Request memory request = buildChainlinkRequest(jobId, address(this), this.fulfill.selector); + + // Set the URL to perform the GET request on + request.add("get", "https://min-api.cryptocompare.com/data/pricemultifull?fsyms=ETH&tsyms=USD"); + + // Set the path to find the desired data in the API response, where the response format is: + // {"RAW": + // {"ETH": + // {"USD": + // { + // "VOLUME24HOUR": xxx.xxx, + // } + // } + // } + // } + request.add("path", "RAW.ETH.USD.VOLUME24HOUR"); + + // Multiply the result by 1000000000000000000 to remove decimals + int timesAmount = 10**18; + request.addInt("times", timesAmount); + + // Sends the request + return sendChainlinkRequestTo(oracle, request, fee); + } + + /** + * Receive the response in the form of uint256 + */ + function fulfill(bytes32 _requestId, uint256 _volume) public recordChainlinkFulfillment(_requestId) + { + volume = _volume; + } +} +``` + +Vous pouvez en apprendre plus sur les applications de Chainlink en lisant le [blog des développeurs de Chainlink](https://blog.chain.link/tag/developers/). + +## Services d'Oracle {#other-services} - [Chainlink](https://chain.link/) - [Witnet](https://witnet.io/) - [Provable](https://provable.xyz/) +- [Paralink](https://paralink.network/) +- [Dos.Network](https://dos.network/) ### Créer un contrat intelligent oracle {#build-an-oracle-smart-contract} -Voici un exemple de contrat oracle créé par Pedro Costa. Vous pouvez trouver d'autres annotations dans son article " [Implementing a Blockchain Oracle on Ethereum](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e)". +Voici un exemple de contrat oracle créé par Pedro Costa. Vous pouvez trouver d'autres annotations dans son article : [Implementing a Blockchain Oracle on Ethereum](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e)". ```solidity pragma solidity >=0.4.21 <0.6.0; @@ -204,6 +427,21 @@ _Nous aimerions avoir plus de documentation sur la création d'un contrat intell ## Complément d'information {#further-reading} -- [Decentralised Oracles: a comprehensive overview](https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841) - _Julien Thevenard_ -- [Implementing a Blockchain Oracle on Ethereum](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) - _Pedro Costa_ -- [Oracles](https://docs.ethhub.io/built-on-ethereum/oracles/what-are-oracles/) - _EthHub_ +**Articles** + +- [Qu'est-ce qu'une Blockchain Oracle ?](https://chain.link/education/blockchain-oracles) - _Chainlink_ +- [Oracles](https://docs.ethhub.io/built-on-ethereum/oracles/what-are-oracles/) – _EthHub_ +- [Qu'est-ce qu'une Blockchain Oracle ?](https://betterprogramming.pub/what-is-a-blockchain-oracle-f5ccab8dbd72) - _Patrick Collins_ +- [Oracles décentralisés : un aperçu complet](https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841) – _Julien Thevenard_ +- [Implémentation d'une Blockchain Oracle sur Ethereum](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) – _Pedro Costa_ +- [Pourquoi les contrats intelligents ne peuvent pas générer des appels API ?](https://ethereum.stackexchange.com/questions/301/why-cant-contracts-make-api-calls) - _StackExchange_ +- [Pourquoi nous avons besoin d'oracles décentralisées](https://newsletter.banklesshq.com/p/why-we-need-decentralized-oracles) - _Bankless_ +- [Ainsi, vous souhaitez utiliser un prix oracle](https://samczsun.com/so-you-want-to-use-a-price-oracle/) -_samczsun_ + +**Vidéos** + +- [Oracles et l'expansion de l'utilité des Blockchains](https://youtu.be/BVUZpWa8vpw) - _Real Vision Finance_ + +**Didacticiels** + +- [Comment récupérer le prix actuel d'Ethereum dans Solidity](https://blog.chain.link/fetch-current-crypto-price-data-solidity/) - _Chainlink_ diff --git a/src/content/translations/fr/developers/docs/scaling/index.md b/src/content/translations/fr/developers/docs/scaling/index.md new file mode 100644 index 00000000000..9e92026825f --- /dev/null +++ b/src/content/translations/fr/developers/docs/scaling/index.md @@ -0,0 +1,113 @@ +--- +title: Évolutivité +description: Introduction aux différentes options pour le passage à l'échelle actuellement en cours de développement par la communauté Ethereum. +lang: fr +sidebar: true +sidebarDepth: 3 +--- + +## Aperçu de la mise à l'échelle {#scaling-overview} + +Le nombre grandissant d'utilisateurs d'Ethereum révèle certaines limites de capacité de la blockchain. Cela a augmenté le coût de l'utilisation du réseau, impliquant le besoin de « solutions d'évolutivité ». De nombreuses solutions ont été étudiées, testées et mises en œuvre qui adoptent différentes approches pour atteindre des objectifs similaires. + +L'objectif principal de l'évolutivité est d'augmenter la vitesse de transaction (finalisation plus rapide) et le débit de la transaction (nombre élevé de transactions par seconde), sans sacrifier la décentralisation ou la sécurité (en savoir plus sur la [vision Ethereum](/upgrades/vision/)). Sur la blockchain Ethereum de la couche 1, une forte demande entraîne un ralentissement des transactions et des prix de [gaz](/developers/docs/gas/) non viables. L'augmentation de la capacité du réseau en termes de vitesse et de débit est fondamentale pour l'adoption significative et massive d'Ethereum. + +Bien que la vitesse et le débit soient importants, il est essentiel que les solutions de mise à l'échelle permettent d'atteindre ces objectifs en restant décentralisées et sécurisées. Le maintien d'une faible barrière d'entrée pour les opérateurs de nœuds est essentiel pour empêcher une progression vers une puissance informatique centralisée et peu sûre. + +Conceptuellement, nous catégorisons d'abord l'évolutivité en chaîne puis celle hors chaîne. + +## Prérequis {#prerequisites} + +Vous devez avoir une bonne compréhension de tous les sujets fondamentaux. La mise en œuvre de solutions d'évolutivité est avancée, car la technologie est moins éprouvée et continue d'être étudiée et développée. + +## Mise à l’échelle de la chaîne {#on-chain-scaling} + +Cette méthode de mise à l’échelle nécessite des modifications du protocole Ethereum (couche 1 [Réseau principal](/glossary/#mainnet)). La fragmentation est actuellement l’objectif principal de cette méthode de mise à l’échelle. + +### Fragmentation {#sharding} + +La fragmentation est le processus de fractionnement horizontal d'une base de données pour répartir la charge. Dans le cadre d'Ethereum, cette fragmentation permettra de réduire l'encombrement du réseau en augmentant le nombre de transactions par seconde grâce à la création de nouvelles chaînes, appelées « fragments ». Cela allègera également la charge pour chaque validateur qui ne sera plus tenu de traiter l’intégralité de toutes les transactions sur le réseau. + +En savoir plus sur [la fragmentation](/upgrades/shard-chains/). + +## Mise à l'echelle hors de la chaîne {#off-chain-scaling} + +Les solutions hors chaîne sont implémentées séparément du réseau principal de couche 1 - elles ne nécessitent aucune modification du protocole Ethereum existant. Certaines solutions, connues sous le nom de solutions de « couche 2 », tirent leur sécurité directement du consensus Ethereum de la couche 1, telles que [des rollups optimistes](/developers/docs/scaling/optimistic-rollups/), [des rollups zk](/developers/docs/scaling/zk-rollups/) ou [des canaux d'état](/developers/docs/scaling/state-channels/). D’autres solutions impliquent la création de nouvelles chaînes sous diverses formes qui tirent leur sécurité séparément du réseau principal, telles que des [chaînes latérales](#sidechains) ou [des chaînes plasma](#plasma). Ces solutions communiquent avec le réseau principal, mais tirent leur sécurité différemment pour atteindre une variété d’objectifs. + +### Évolutivité vers la couche 2 {#layer-2-scaling} + +Cette catégorie de solutions hors chaîne tire sa sécurité du réseau principal Ethereum. + +La couche 2 est un terme collectif désignant les solutions conçues pour aider à faire évoluer votre application en gérant les transactions en dehors du réseau principal Ethereum (couche 1) tout en tirant parti du modèle robuste de sécurité décentralisé du réseau principal. La vitesse des transactions est réduite lorsque le réseau est occupé, ce qui rend l’expérience utilisateur médiocre pour certains types de dapps. Et plus le réseau est fréquenté, plus le prix du carburant augmente, car les expéditeurs de transactions cherchent à surenchérir. Cela peut rendre l'utilisation d'Ethereum très onéreuse. + +La plupart des solutions de la couche 2 sont centrées autour d'un serveur ou d'un groupe de serveurs, chacun pouvant être appelé nœud, validateur, opérateur, séquenceur, producteur de blocs ou un terme similaire. Selon l’implémentation, ces nœuds de couche 2 peuvent être gérés par les individus, les entreprises ou les entités qui les utilisent, ou par un opérateur tiers, ou par un large groupe de personnes (similaire au réseau principal). D’une manière générale, les transactions sont soumises à ces nœuds de couche 2 au lieu d’être soumises directement à la couche 1 (Mainnet). Pour certaines solutions, l’instance de couche 2 les regroupe ensuite en groupes avant de les ancrer à la couche 1, après quoi elles sont sécurisées par la couche 1 et ne peuvent pas être modifiées. La façon détaillée dont cela se réalise varie considérablement entre les différentes technologies et implémentations de la couche 2. + +Une instance spécifique de couche 2 peut être soit ouverte et partagée par de nombreuses applications, soit déployée par un seul projet et uniquement dédiée à la prise en charge de ses applications. + +#### Pourquoi la couche 2 est-elle nécessaire ? {#why-is-layer-2-needed} + +- L’augmentation du nombre de transactions par seconde améliore considérablement l’expérience utilisateur et réduit la congestion du réseau sur le réseau principal d'Ethereum. +- Les transactions sont regroupées en une seule transaction vers le réseau principal d'Ethereum, ce qui réduit les frais de carburant pour les utilisateurs, rendant ainsi Ethereum plus inclusif et accessible aux gens du monde entier. +- Toute mise à jour d'évolutivité ne devrait pas se faire au détriment de la décentralisation ou de la sécurité. La couche 2 s'appuie sur Ethereum. +- Il existe des réseaux de couche 2 spécifiques à une application qui apportent leur propre ensemble de gains d'efficacité lorsqu’ils travaillent avec des actifs à grande échelle. + +#### Rollups {#rollups} + +Les rollups exécutent des transactions en dehors de la couche 1, puis les données sont publiées dans la couche 1 où un consensus est atteint. Comme les données de transaction sont incluses dans les blocs de couche 1, cela permet aux cumuls d’être sécurisés par la sécurité native d’Ethereum. + +Il existe deux types de rollups avec différents modèles de sécurité : + +- **Rollups optimistes** : suppose que les transactions sont valides par défaut et n’exécute que le calcul, via une [**preuve de fraude**](/glossary/#fraud-proof), en cas de contestation. [Plus d'infos sur les rollups optimistes](/developers/docs/scaling/optimistic-rollups/). +- **Rollups ZK** : exécute le calcul hors chaîne et soumet une [**preuve de validité**](/glossary/#validity-proof) à la chaîne. [Plus d'infos sur les rollups ZK](/developers/docs/scaling/zk-rollups/). + +#### Canaux d'état {#channels} + +Les canaux d'état utilisent des contrats multisig pour permettre aux participants d’effectuer des transactions rapidement et librement hors chaîne, puis de régler la finalisation sur le réseau principal. Cela minimise la congestion du réseau, les frais et les retards. Il existe actuellement deux types de canaux : les canaux d'état et les canaux de paiement. + +En savoir plus sur les [canaux d'état](/developers/docs/scaling/state-channels/). + +### Chaines latérales {#sidechains} + +Une chaîne latérale est une blockchain indépendante compatible EVM qui fonctionne en parallèle avec le réseau principal. Ceux-ci sont compatibles avec Ethereum via des ponts bidirectionnels et fonctionnent selon leurs propres règles de consensus choisies et paramètres de bloc. + +En savoir plus sur les [chaînes latérales](/developers/docs/scaling/sidechains/). + +### Plasma {#plasma} + +Une chaîne plasma est une blockchain séparée qui est ancrée à la chaîne Ethereum principale et qui utilise des preuves de fraude (comme les [rollups optimistes](/developers/docs/scaling/optimistic-rollups/)) pour arbitrer les litiges. + +En savoir plus sur [Plasma](/developers/docs/scaling/plasma/). + +### Validium {#validium} + +Une chaîne Validium utilise des preuves de validité comme des rollups ZK, mais les données ne sont pas stockées sur la chaîne Ethereum de la couche principale 1. Cela peut permettre jusqu'à 10 000 transactions par seconde par chaîne Validium, et plusieurs chaînes peuvent être exécutées en parallèle. + +En savoir plus sur [Validium](/developers/docs/scaling/validium/). + +## Pourquoi tant de solutions de mise à l'échelle sont-elles nécessaires ? {#why-do-we-need-these} + +- Plusieurs solutions peuvent aider à réduire la congestion globale sur une partie du réseau et à prévenir les points de défaillance uniques. +- Le tout est plus grand que la somme de ses parties. Différentes solutions peuvent exister et fonctionner en harmonie, permettant un effet exponentiel sur la vitesse et le débit des transactions futures. +- Toutes les solutions ne nécessitent pas d’utiliser directement l’algorithme de consensus Ethereum, et les alternatives peuvent offrir des avantages qui seraient autrement difficiles à obtenir. +- Aucune solution de mise à l'échelle n'est suffisante pour réaliser la [vision Ethereum](/upgrades/vision/). + +## Davantage qu'un apprenant visuel ? {#visual-learner} + + + +_Notez que l’explication dans la vidéo utilise le terme « niveau 2 » pour désigner toutes les solutions de mise à l'échelle hors chaîne, tandis que nous différencions le « niveau 2 » en tant que solution hors chaîne qui tire sa sécurité du consensus du réseau principal de niveau 1._ + + + +## Complément d'information {#further-reading} + +- [Une feuille de route Ethereum centrée sur le rollup](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) _Vitalik Buterin_ +- [Analytiques à jour sur les solutions de mise à l'échelle de la couche 2 pour Ethereum](https://www.l2beat.com/) +- [Évaluation des solutions de mise à l'échelle de la couche 2 d'Ethereum : Un cadre de comparaison](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955) +- [Un guide incomplet pour les rollups](https://vitalik.ca/general/2021/01/05/rollup.html) +- [Rollups ZK alimentés par Ethereum : Wolrd Beaters](https://hackmd.io/@canti/rkUT0BD8K) +- [Rollups optimisés vs Rollups ZK](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/) +- [Évolutivité de la blockchain ZK](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf) +- [Pourquoi les rollups + les data shards sont les seules solutions durables pour une grande évolutivité](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48) + +_Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ diff --git a/src/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md new file mode 100644 index 00000000000..f9cd5fe2d2c --- /dev/null +++ b/src/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md @@ -0,0 +1,59 @@ +--- +title: Rollups optimisés +description: Introduction aux rollups optimisés +lang: fr +sidebar: true +--- + +## Prérequis {#prerequisites} + +Vous devez avoir une bonne compréhension de tous les sujets fondamentaux et une compréhension de haut niveau de la [mise à l'échelle Ethereum](/developers/docs/scaling/). La mise en œuvre de solutions de mise à l'échelle telles que les rollups est un sujet avancé, car la technologie est moins éprouvée et toujours en cours de recherche et développement. + +Vous recherchez une ressource plus conviviale pour les débutants ? Consultez notre [introduction à la Couche 2](/layer-2/). + +## Rollups optimisés {#optimistic-rollups} + +Les rollups optimisés s'installent en parallèle à la chaîne principale d'Ethereum pour la couche 2. Ils peuvent offrir des améliorations en matière d'évolutivité, car ils n'effectuent aucun calcul par défaut. Au lieu de cela, après une transaction, ils proposent le nouvel état du réseau principal ou « certifient » la transaction. + +Avec les rollups optimisés, les transactions sont codées sur la chaîne principale Ethereum en tant que `données d'appel`, ce qui les optimise davantage en réduisant le coût du carburant. + +Le calcul étant la partie lente et coûteuse de l'utilisation d'Ethereum, les rollups optimisés peuvent offrir 10 à 100 fois plus d'évolutivité en fonction de la transaction. Ce nombre augmentera encore plus avec l'introduction de [chaînes de fragments](/upgrades/shard-chains) puisque plus de données seront disponibles si une transaction est contestée. + +### Contestation des transactions {#disputing-transactions} + +Les rollups optimisés ne calculant pas la transaction, il faut donc implémenter un mécanisme pour garantir que les transactions sont légitimes et non frauduleuses. C'est là que des preuves de fraude entrent en matière. Si quelqu'un remarque une opération frauduleuse, le rollup exécutera une preuve de fraude et effectuera le calcul de la transaction en utilisant les données d'état disponibles. Cela signifie que le délai d'attente pour confirmer une transaction peut être plus allongé avec ce type de rollup plutôt qu'avec un rollup ZK, car la transaction pourrait être contestée. + +![Diagramme montrant ce qui se passe lorsqu'une transaction frauduleuse se produit dans un rollup optimisé sur Ethereum](./optimistic-rollups.png) + +Le carburant nécessaire pour effectuer le calcul de la preuve de fraude est remboursé. Chez Optimism, Ben Jones décrit le système de garantie en place : + +"_Toute personne susceptible d'entreprendre une action que vous devriez prouver frauduleuse pour garantir vos fonds exige que vous déposiez une caution. Pour résumer, vous bloquez quelques ETH et dites "Je promets de dire la vérité. Si je ne dis pas la vérité et que la fraude est prouvée, je perdrai cet argent. Une partie sera réduite et le reste servira à payer le carburant que les gens ont dépensé pour prouver la fraude_". + +Vous pouvez donc voir les incitations : les participants sont pénalisés pour avoir commis une fraude et remboursés pour avoir prouvé la fraude. + +### Avantages et inconvénients {#optimistic-pros-and-cons} + +| Avantages | Inconvénients | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| Tout ce que vous pouvez faire sur la couche Ethereum 1, vous pouvez le faire avec les rollups optimisés, car ils sont compatibles avec l'EVM et Solidity. | Longs délais d'attente pour les transactions en chaîne en raison de potentiels problèmes de fraude. | +| Toutes les données de transaction étant stockées sur la chaîne de la couche 1, elles sont donc sécurisées et décentralisées. | Un opérateur peut influencer l'ordre des transactions. | + +### Une explication visuelle des rollups optimisés {#optimistic-video} + +Regardez Finematics expliquer les rollups optimisés : + + + +### Utiliser des Rollups optimisés {#use-optimistic-rollups} + +Plusieurs implémentations de Rollups optimisés existent, que vous pouvez intégrer dans vos dApps : + + + +**Lecture à propos des rollups optimisés** + +- [Tout ce que vous devez savoir sur les rollups optimisés](https://research.paradigm.xyz/rollups) +- [EthHub sur rollups optimisés](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/optimistic_rollups/) +- [Le guide essentiel pour Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) +- [Comment fonctionne réellement le rollup d'Optimism ?](https://research.paradigm.xyz/optimism) +- [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) diff --git a/src/content/translations/fr/developers/docs/scaling/plasma/index.md b/src/content/translations/fr/developers/docs/scaling/plasma/index.md new file mode 100644 index 00000000000..98c02a99216 --- /dev/null +++ b/src/content/translations/fr/developers/docs/scaling/plasma/index.md @@ -0,0 +1,39 @@ +--- +title: Les chaînes plasma +description: Une introduction aux chaînes plasma en tant que solution de mise à l'échelle actuellement utilisée par la communauté Ethereum. +lang: fr +sidebar: true +incomplete: true +sidebarDepth: 3 +--- + +Une chaîne plasma est une blockchain séparée qui est ancrée à la chaîne Ethereum principale et qui utilise des preuves de fraude (comme les [rollups optimisés](/developers/docs/scaling/optimistic-rollups/)) pour arbitrer les litiges. Ces chaînes sont parfois appelées chaînes « enfants » car elles sont essentiellement des copies plus petites du réseau principal Ethereum. Les arbres Merkle permettent la création d'une pile illimitée de ces chaînes qui peut fonctionner pour décharger la bande passante des chaînes parentes (y compris du réseau principal). Celles-ci tirent leur sécurité des [preuves de fraude](/glossary/#fraud-proof) et chaque chaîne enfant a son propre mécanisme de validation de blocs. + +## Prérequis {#prerequisites} + +Vous devez avoir une bonne compréhension de tous les sujets fondamentaux et une compréhension élevée de la [mise à l'échelle d'Ethereum](/developers/docs/scaling/). La mise en œuvre de solutions de mise à l'échelle telle que Plasma est un sujet avancé puisque la technologie est moins éprouvée et toujours en cours de recherche et développement. + +## Avantages et inconvénients {#pros-and-cons} + +| Avantages | Inconvénients | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Débit élevé, faible coût par transaction. | Ne prend pas en charge le calcul général. Seuls les transferts de jetons de base, les échanges et quelques autres types de transactions sont pris en charge par la logique des prédicats. | +| Convient aux transactions entre utilisateurs arbitraires (pas de surcharge par pair utilisateur si les deux sont établis sur la chaîne plasma). | Nécessité de surveiller périodiquement le réseau (exigence de vivacité) ou de déléguer cette responsabilité à quelqu'un d'autre pour garantir la sécurité de vos fonds. | +| | Se repose sur un ou plusieurs opérateurs pour stocker les données et les utiliser sur demande. | +| | Les retraits sont retardés de plusieurs jours pour permettre les contestations. Pour les actifs fongibles, cela peut être atténué par les fournisseurs de liquidités, mais il existe un coût en capital associé. | + +### Chaînes Plasma que vous pouvez utiliser {#use-plasma} + +Plusieurs projets fournissent des implémentations de Plasma que vous pouvez intégrer dans vos dApps : + +- [Réseau OMG](https://omg.network/) +- [Polygon](https://polygon.technology/) (anciennement Matic Network) +- [Gluon](https://gluon.network/) +- [LeapDAO](https://ipfs.leapdao.org/) + +## Complément d'information {#further-reading} + +- [EthHub sur Plasma](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/plasma/) +- [Apprendre Plasma](https://www.learnplasma.org/en/) + +_Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ diff --git a/src/content/translations/fr/developers/docs/scaling/sidechains/index.md b/src/content/translations/fr/developers/docs/scaling/sidechains/index.md new file mode 100644 index 00000000000..1441756453d --- /dev/null +++ b/src/content/translations/fr/developers/docs/scaling/sidechains/index.md @@ -0,0 +1,39 @@ +--- +title: Chaines latérales +description: Une introduction aux chaînes latérales en tant que solution de mise à l'échelle actuellement utilisée par la communauté Ethereum. +lang: fr +sidebar: true +incomplete: true +sidebarDepth: 3 +--- + +Une chaîne latérale est une blockchain séparée qui fonctionne en parallèle au réseau Ethereum principal et ce, de façon indépendante. Elle possède son propre [algorithme de consensus](/developers/docs/consensus-mechanisms/) (p. ex. [Preuve d'autorité](https://wikipedia.org/wiki/Proof_of_authority), [Preuve d'enjeu déléguée](https://en.bitcoinwiki.org/wiki/DPoS), [tolérance aux défauts byzantins](https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained), etc.). Elle est reliée au réseau principal par un « pont » à deux sens. + +Ce qui rend une chaîne latérale particulièrement intéressante, c'est que cette chaîne fonctionne de la même manière que la chaîne principale Ethereum, car elle est basée sur [l'EVM](/developers/docs/evm/). Elle n'utilise pas Ethereum, elle EST Ethereum. Cela signifie que si vous souhaitez utiliser votre [dApp](/developers/docs/dapps/) sur une chaîne latérale, il suffit de déployer votre code sur cette chaîne latérale. Elle ressemble, réagit et agit comme le réseau principal Ethereum – vous écrivez des contrats dans Solidity et interagissez avec la chaîne via l’API Web3. + +## Prérequis {#prerequisites} + +Vous devez avoir une bonne compréhension de tous les sujets fondamentaux et une compréhension de haut niveau de la [mise à l'échelle Ethereum](/developers/docs/scaling/). + +## Avantages et inconvénients {#pros-and-cons} + +| Avantages | Inconvénients | +| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| Technologie établie. | Moins décentralisée. | +| Prend en charge le calcul général, est compatible avec l'EVM. | Utilise un mécanisme de consensus distinct. Non sécurisée par la couche 1 (techniquement, ce n’est donc pas la couche 2). | +| | Un quorum de validateurs de la chaîne latérale peut commettre une fraude. | + +### Chaînes latérales que vous pouvez utiliser {#use-sidechains} + +Plusieurs projets fournissent des implémentations de chaînes latérales que vous pouvez intégrer dans vos dapps : + +- [Polygon PoS](https://polygon.technology/solutions/polygon-pos) +- [Skale](https://skale.network/) +- [Gnosis Chain (anciennement xDai)](https://www.xdaichain.com/) + +## Complément d'information {#further-reading} + +- [EthHub sur les chaînes latérales](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/sidechains/) +- [Scaling Ethereum DApps through Sidechains](https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447) _- Georgios Konstantopoulos, 8 février 2018_ + +_Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ diff --git a/src/content/translations/fr/developers/docs/scaling/state-channels/index.md b/src/content/translations/fr/developers/docs/scaling/state-channels/index.md new file mode 100644 index 00000000000..73bfbdb97a9 --- /dev/null +++ b/src/content/translations/fr/developers/docs/scaling/state-channels/index.md @@ -0,0 +1,76 @@ +--- +title: Canaux d'état +description: Une introduction aux canaux d'état et canaux de paiement en tant que solution de mise à l'échelle actuellement utilisée par la communauté Ethereum. +lang: fr +sidebar: true +incomplete: true +sidebarDepth: 3 +--- + +Les canaux d'état permettent aux participants d'effectuer des `x` transactions hors chaîne tout en ne soumettant que deux transactions en chaîne au réseau Ethereum. Cela permet un débit de transaction extrêmement élevé. + +## Prérequis {#prerequisites} + +Vous devez avoir une bonne compréhension de tous les sujets fondamentaux et une compréhension de haut niveau de la [mise à l'échelle Ethereum](/developers/docs/scaling/). La mise en œuvre de solutions de mise à l'échelle telles que les canaux est un sujet avancé puisque la technologie est moins éprouvée et est en cours de recherche et de développement. + +## Canaux {#channels} + +Les participants doivent verrouiller une partie de l'état d'Ethereum, comme un dépôt d'ETH, dans un contrat multisignature (« multisig »). Un contrat multisig est un type de contrat qui nécessite la signature (et donc l'accord) de plusieurs clés privées pour être exécuté. + +Verrouiller l'état de cette façon constitue la première transaction et ouvre le canal. Les participants peuvent alors effectuer des transactions rapidement et librement hors chaîne. Une fois l'interaction terminée, une transaction finale est soumise sur la blockchain, déverrouillant l'état. + +**Ceci est utile ** : + +- pour de nombreuses mises à niveau d'état ; +- lorsque le nombre de participants est connu à l'avance ; +- lorsque les participants sont toujours disponibles. + +Il existe actuellement deux types de canaux : les canaux d'état et les canaux de paiement. + +## Canaux d'état {#state-channels} + +Les canaux d'état peuvent mieux s'expliquer à travers un exemple, comme un jeu de tic tac toc : + +1. Créez un contrat intelligent multisig « Juge » sur la chaîne principale Ethereum qui comprend les règles du tic-tac-toc, et peut identifier Alice et Marc comme les deux joueurs du jeu. Ce contrat détient un prix de 1 ETH. + +2. Alice et Marc commencent à jouer au jeu, ouvrant le canal d'état. Chaque mouvement crée une transaction hors chaîne contenant un « nonce », ce qui signifie simplement que nous pourrons toujours dire plus tard dans quel ordre les mouvements se sont déroulés. + +3. Lorsqu'il y a un gagnant (Alice), ils ferment le canal en soumettant l'état final (p. ex., une liste de transactions) au contrat Juge, ne payant qu'une fois les frais de transaction. Le juge veille à ce que cet « état final » soit signé par les deux parties, patiente un certain temps pour garantir que personne ne peut légitimement contester le résultat, puis verse à Alice le prix de 1 ETH. + +## Canaux de paiement {#payment-channels} + +Des canaux d'état simplifiés qui ne traitent que des paiements (ex : transferts d'ETH). Ils permettent des transferts hors chaîne entre deux participants, à condition que la somme nette des transferts ne dépasse pas les jetons déposés. + +## Avantages et inconvénients {#channels-pros-and-cons} + +| Avantages | Inconvénients | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Retrait/règlement instantané sur le réseau principal (si les deux parties d'un canal coopèrent) | Délai et coût de configuration et de règlement d'un canal. Peu intéressant pour les transactions ponctuelles entre utilisateurs arbitraires. | +| Débits extrêmement élevés possibles | Nécessité de surveiller périodiquement le réseau (exigence de vivacité) ou de déléguer cette responsabilité à quelqu'un d'autre pour garantir la sécurité de vos fonds. | +| Coût par transaction le plus bas. Intéressant pour le streaming des micropaiements | Nécessité de verrouiller les fonds sur les canaux de paiement ouverts | +| | Ne prend pas en charge la participation ouverte | + +## Utiliser les canaux d'état {#use-state-channels} + +Plusieurs projets fournissent des implémentations de canaux d'état que vous pouvez intégrer dans vos dapps : + +- [Connext](https://connext.network/) +- [Kchannels](https://www.kchannels.io/) +- [Perun](https://perun.network/) +- [Raiden](https://raiden.network/) +- [Statechannels.org](https://statechannels.org/) + +## Complément d'information {#further-reading} + +**Canaux d'état** + +- [EthHub sur les canaux d'état](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/state-channels/) +- [Making Sense of Ethereum’s Layer 2 Scaling Solutions: State Channels, Plasma, and Truebit](https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4) _- Josh Stark, 12 février 2018_ +- [State Channels - an explanation](https://www.jeffcoleman.ca/state-channels/) _- Jeff Coleman, 6 novembre 2015 _ +- [Basics of State Channels](https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/) _District0x_ + +**Canaux de paiement** + +- [EthHub sur les canaux de paiement](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/payment-channels/) + +_Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ diff --git a/src/content/translations/fr/developers/docs/scaling/validium/index.md b/src/content/translations/fr/developers/docs/scaling/validium/index.md new file mode 100644 index 00000000000..b6b5069f607 --- /dev/null +++ b/src/content/translations/fr/developers/docs/scaling/validium/index.md @@ -0,0 +1,36 @@ +--- +title: Validium +description: Une introduction au Validium en tant que solution de mise à l'échelle actuellement utilisée par la communauté Ethereum. +lang: fr +sidebar: true +incomplete: true +sidebarDepth: 3 +--- + +Utilise les preuves de validité comme les [rollups ZK](/developers/docs/scaling/zk-rollups/), mais les données ne sont pas stockées sur la chaîne Ethereum de la couche principale 1. Cela peut permettre jusqu'à 10 000 transactions par seconde par chaîne Validium, et plusieurs chaînes peuvent être exécutées en parallèle. + +## Prérequis {#prerequisites} + +Vous devez avoir une bonne compréhension de tous les sujets fondamentaux et une compréhension approfondie de la [mise à l'échelle d'Ethereum](/developers/docs/scaling/). La mise en œuvre de solutions de mise à l'échelle telles que Validium est un sujet avancé, car la technologie est moins éprouvée et continue à être étudiée et développée. + +## Avantages et inconvénients {#pros-and-cons} + +| Avantages | Inconvénients | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Aucun délai de retrait (pas de latence sur la blockchain/les chaînes croisées), donc une plus grande efficacité du capital. | Prise en charge limitée des calculs généraux/contrats intelligents, des langages spécialisés sont requis. | +| Aucune vulnérabilité à certaines attaques économiques auxquelles sont confrontés les systèmes basés sur les preuves de fraude dans des applications à valeur élevée. | Grande puissance de calcul nécessaire pour générer les preuves ZK, donc n'est pas rentable pour les applications à faible débit. | +| | Délai de finalisation subjective plus long (10-30 min pour générer une preuve ZK), mais plus rapide pour une finalisation complète, car il n'existe pas de délai de contestation comme dans les rollups optimisés). | +| | La génération d'une preuve exige que les données hors chaîne soient disponibles en tout temps. | + +### Chaînes Validium que vous pouvez utiliser {#use-validium} + +Plusieurs projets fournissent des implémentations de Validium que vous pouvez intégrer dans vos dApps : + +- [Starkware](https://starkware.co/) +- [Matter Labs zkPorter](https://matter-labs.io/) + +## Complément d'information {#further-reading} + +- [Validium et The Layer 2 Two-By-Two - Numéro 99](https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two) + +_Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ diff --git a/src/content/translations/fr/developers/docs/scaling/zk-rollups/index.md b/src/content/translations/fr/developers/docs/scaling/zk-rollups/index.md new file mode 100644 index 00000000000..4d80a5183a3 --- /dev/null +++ b/src/content/translations/fr/developers/docs/scaling/zk-rollups/index.md @@ -0,0 +1,48 @@ +--- +title: Rollups Zero-Knowledge (ZK) +description: Introduction aux Rollups Zero-Knowledge +lang: fr +sidebar: true +--- + +## Prérequis {#prerequisites} + +Vous devez avoir une bonne compréhension de tous les sujets fondamentaux et une compréhension de haut niveau de [la mise à l'échelle Ethereum](/developers/docs/scaling/). La mise en œuvre de solutions de mise à l'échelle telles que les rollups est un sujet avancé, car la technologie est moins éprouvée et toujours en cours de recherche et développement. + +Vous recherchez une ressource plus conviviale pour les débutants ? Consultez notre [introduction à la Couche 2](/layer-2/). + +## Rollups Zero Knowledge (ZK) {#zk-rollups} + +Les **Rollups Zero Knowledge (rollups ZK)** regroupent de centaines de transferts hors chaîne et génèrent une preuve cryptographique. Ces preuves peuvent venir sous la forme de SNARKs (Succinct Non-interactive Argument of Knowledge - argument succing non-intéractif de connaissance) ou STARKs (Scalable Transparent Argument of Knowledge - argument de connaissance évolutif transparent). Les SNARKs et STARKs sont des preuves de validité et sont intégrés dans la couche 1. + +Le contrat intelligent du rollup ZK conserve l'état de tous les transferts faits dans la couche 2, et cet état ne peut être mis à jour qu'avec une preuve de validité. Cela signifie que les rollups ZK n'ont besoin que de la preuve de validité au lieu de toutes les données de la transaction. Avec un rollup ZK, valider un bloc est plus rapide et moins coûteux, car moins de données sont incluses. + +Avec un rollup ZK, les fonds sont déplacés sans délai de la couche 2 à la couche 1, car une preuve de validité acceptée par le contrat ZK-rollup a déjà vérifié les fonds. + +En se trouvant sur la couche 2, les rollups ZK permettent d'optimiser davantage la taille des transactions. Par exemple, un compte représenté par un index plutôt que par une adresse permet de réduire à seulement 4 octets une transaction de 32 octets. Les transactions sont également écrites sur Ethereum comme `calldata`, réduisant ainsi le carburant. + +### Avantages et inconvénients {#zk-pros-and-cons} + +| Avantages | Inconvénients | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| Temps de finalisation plus court, dans la mesure où l'état est immédiatement vérifié une fois les preuves envoyées à la chaîne principale. | Certains ne disposent pas du support EVM. | +| Pas de vulnérabilité aux attaques économiques alors que les [rollups optimistes](#optimistic-pros-and-cons) y sont vulnérables. | Les preuves de validité étant intenses à calculer, les rollups ZK ne présentent guère d'intérêt pour les applications peu actives sur la chaîne. | +| Sécurisé et décentralisé, car les données nécessaires pour récupérer l'état sont stockées sur la couche 1. | Un opérateur peut influencer l'ordre des transactions | + +### Les rollups ZK en images {#zk-video} + +Regardez la vidéo de Finematics qui explique les rollups ZK : + + + +### Utiliser les rollups ZK {#use-zk-rollups} + +Il existe un grand nombre d'implémentations de rollups ZK que vous pouvez intégrer dans vos dApps : + + + +**Lectures sur les rollups ZK** + +- [Qu'est-ce que les Rollups Zero Knowledge ?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups) +- [EthHub sur rollups ZK](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/) +- \[STARKs vs SNARKs\] (https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/) diff --git a/src/content/translations/fr/developers/docs/standards/index.md b/src/content/translations/fr/developers/docs/standards/index.md index 60a0dd24681..816fcfcab10 100644 --- a/src/content/translations/fr/developers/docs/standards/index.md +++ b/src/content/translations/fr/developers/docs/standards/index.md @@ -6,7 +6,7 @@ sidebar: true incomplete: true --- -## Présentation des normes {#standards-overview} +## Vue d'ensemble des normes {#standards-overview} La communauté Ethereum a adopté de nombreuses normes qui aident à maintenir l'interopérabilité des projets (comme les [clients Ethereum](/developers/docs/nodes-and-clients/) et les portefeuilles) entre les implémentations, et garantir que les contrats intelligents et les DApps restent composables. @@ -14,11 +14,12 @@ Ces normes sont généralement présentées via les [propositions d'amélioratio - [Introduction aux EIP](/eips/) - [Liste des EIP](https://eips.ethereum.org/) -- [Dépôt GitHub des EIP](https://github.com/ethereum/EIPs) +- [Repo Github EIP](https://github.com/ethereum/EIPs) - [Forum de discussions sur les EIP](https://ethereum-magicians.org/c/eips) -- [Ethereum Governance Overview](https://blog.bmannconsulting.com/ethereum-governance/) _- Boris Mann, 31 mars 2019_ +- [Introduction à la gouvernance d'Ethereum](/governance/) +- [Ethereum Governance Overview](https://web.archive.org/web/20201107234050/https://blog.bmannconsulting.com/ethereum-governance/) _- Boris Mann, 31 mars 2019_ - [Ethereum Protocol Development Governance and Network Upgrade Coordination](https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) _- Hudson Jameson, 23 mars 2020_ -- [Playlist de toutes les rencontres de l'équipe de développement Ethereum](https://www.youtube.com/playlist?list=PLaM7G4Llrb7zfMXCZVEXEABT8OSnd4-7w) _(YouTube)_ +- [Playlist de toutes les rencontres de l'équipe de développement clé Ethereum](https://www.youtube.com/playlist?list=PLaM7G4Llrb7zfMXCZVEXEABT8OSnd4-7w) _(YouTube Playlist)_ ## Types de normes {#types-of-standards} @@ -28,8 +29,10 @@ Certaines EIP concernent les normes de niveau application (par exemple, un forma ### Normes de jetons {#token-standards} -- [ERC-20 - Interface standard pour les jetons](/developers/docs/standards/tokens/erc-20/) -- [ERC-721 - Interface standard pour les jetons non fongibles](/developers/docs/standards/tokens/erc-721/) +- [ERC-20](/developers/docs/standards/tokens/erc-20/) - Une interface type pour les jetons fongibles (interchangeables) comme les jetons de vote, les jetons d'enjeu ou les monnaies virtuelles. +- [ERC-721](/developers/docs/standards/tokens/erc-721/) - Une interface type pour les jetons non fongibles, comme ceux requis pour les œuvres d'art ou une chanson. +- [ERC-777](/developers/docs/standards/tokens/erc-777/) - Un type de jeton améliorant ERC-20. +- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - Un type de jeton qui peut contenir des actifs fongibles et non fongibles. En savoir plus sur les [normes de jetons](/developers/docs/standards/tokens/) diff --git a/src/content/translations/fr/developers/docs/standards/tokens/erc-1155/index.md b/src/content/translations/fr/developers/docs/standards/tokens/erc-1155/index.md new file mode 100644 index 00000000000..4621e3a275b --- /dev/null +++ b/src/content/translations/fr/developers/docs/standards/tokens/erc-1155/index.md @@ -0,0 +1,147 @@ +--- +title: Norme de multijeton ERC-1155 +description: +lang: fr +sidebar: true +--- + +## Introduction {#introduction} + +Une interface standard pour les contrats qui gèrent plusieurs types de jetons. Un seul contrat déployé peut intégrer une combinaison de jetons fongibles, de jetons non fongibles ou encore d'autres configurations (par exemple des jetons semi-fongibles). + +**Qu’entend-on par norme multijeton ?** + +L'idée est simple et cherche à créer une interface de contrat intelligent qui peut représenter et contrôler n'importe quel nombre de types de jetons fongibles et non fongibles. De cette façon, le jeton ERC-1155 peut exécuter les mêmes fonctions qu'un jeton [ERC-20](/developers/docs/standards/tokens/erc-20/) et [ERC-721](/developers/docs/standards/tokens/erc-721/) et même les deux en même temps. Mieux encore, améliorer la fonctionnalité des deux normes, la rendre plus efficace et corriger les erreurs évidentes de mise en œuvre des normes ERC-20 et ERC-721. + +Le jeton ERC-1155 est décrit dans les détails dans [EIP-1155](https://eips.ethereum.org/EIPS/eip-1155). + +## Prérequis {#prerequisites} + +Pour mieux comprendre cette page, nous vous recommandons de commencer par lire celles concernant [les normes de jeton](/developers/docs/standards/tokens/), [ERC-20](/developers/docs/standards/tokens/erc-20/), et [ERC-721](/developers/docs/standards/tokens/erc-721/). + +## Fonctions et fonctionnalités ERC-1155 : {#body} + +- [Transfert par lot](#batch_transfers) : Transférer plusieurs actifs en un seul appel. +- [Solde par lot](#batch_balance) : Obtenez les soldes de plusieurs actifs en un seul appel. +- [Approbation par lot](#batch_approval) : Approuver tous les jetons à une adresse. +- [Crochets](#recieve_hook) : Recevoir des crochets de jetons. +- [Support NFT](#nft_support) : Si l'échange est unique, le traiter comme NFT. +- [Règles de transfert sécurisées](#safe_transfer_rule) : Ensemble de règles pour sécuriser un transfert. + +### Transferts par lot {#batch-transfers} + +Les transferts par lot fonctionnent de la même façon que les transferts réguliers ERC-20. Examinons la fonction régulière de transfert ERC-20 : + +```solidity +// ERC-20 +function transferFrom(address from, address to, uint256 value) external returns (bool); + +// ERC-1155 +function safeBatchTransferFrom( + address _from, + address _to, + uint256[] calldata _ids, + uint256[] calldata _values, + bytes calldata _data +) external; +``` + +La seule différence avec ERC-1155 est que nous passons les valeurs en tant que tableau et que nous fournissons également un tableau d'identifiants. Par exemple compte tenu de `ids=[3, 6, 13]` et `values=[100, 200, 5]`, les transferts résultants seront + +1. Transférez 100 jetons avec l'id 3 de `_from` à `_to`. +2. Transférez 200 jetons avec l'id 6 de `_from` à `_to`. +3. Transférez 5 jetons avec l'id 13 de `_from` à `_to`. + +Dans l'ERC-1155, nous n'avons que `transferFrom` et non `transfert`. Pour l'utiliser comme un `transfer` régulier, il suffit de définir l'adresse d'expéditeur sur l'adresse qui appelle la fonction. + +### Solde par lot {#batch-balance} + +L'appel ERC-20 `balanceOf` dispose également de sa fonction de partenaire avec le support par lots. Pour rappel, ceci est la version ERC-20 : + +```solidity +// ERC-20 +function balanceOf(address owner) external view returns (uint256); + +// ERC-1155 +function balanceOfBatch( + address[] calldata _owners, + uint256[] calldata _ids +) external view returns (uint256[] memory); +``` + +Encore plus simple pour l'appel de solde, nous pouvons récupérer plusieurs soldes en un seul appel. Nous passons le tableau des propriétaires, suivi du tableau des identifiants de jetons. + +Par exemple, pour les données `_ids=[3, 6, 13]` et `_owners=[0xbeef..., 0x1337..., 0x1111...]`, la valeur retournée sera + +```solidity +[ + balanceOf(0xbeef...), + balanceOf(0x1337...), + balanceOf(0x1111...) +] +``` + +### Approbation par lot {#batch-approval} + +```solidity +// ERC-1155 +function setApprovalForAll( + address _operator, + bool _approved +) external; + +function isApprovedForAll( + address _owner, + address _operator +) external view returns (bool); +``` + +Les approbations sont légèrement différentes de l'ERC-20. Au lieu d'approuver des montants spécifiques, vous définissez un opérateur qui approuvera ou non via `setApprovalForAll`. + +La lecture du statut actuel peut être exécutée via `isApprovedForAll`. Comme vous pouvez le voir, c'est un tout ou rien. Vous ne pouvez pas définir le nombre de jetons ou même la classe de jeton à approuver. + +Cela a été conçu intentionnellement en gardant à l'esprit le principe de simplicité. Vous ne pouvez tout approuver que pour une seule adresse. + +### Recevoir un crochet {#receive-hook} + +```solidity +function onERC1155BatchReceived( + address _operator, + address _from, + uint256[] calldata _ids, + uint256[] calldata _values, + bytes calldata _data +) external returns(bytes4); +``` + +Au regard du support [EIP-165](https://eips.ethereum.org/EIPS/eip-165), le support ERC-1155 ne prend en charge que les crochets pour les contrats intelligents. La fonction crochet doit retourner une valeur magique prédéfinie bytes4 qui est donnée en tant que : + +```solidity +bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)")) +``` + +Lorsque le contrat de réception renvoie cette valeur, cela suppose que le contrat accepte le transfert et sait gérer les jetons ERC-1155. Génial, plus aucun jeton coincé dans un contrat ! + +### Prise en charge NFT {#nft-support} + +Lorsque la fourniture est unique, le jeton est essentiellement un jeton non fongible (NFT). Et comme c'est la norme pour ERC-721, vous pouvez définir une URL de métadonnées. L'URL peut être lue et modifiée par les clients, voir [ici](https://eips.ethereum.org/EIPS/eip-1155#metadata). + +### Règle de transfert sécurisé {#safe-transfer-rule} + +Nous avons déjà abordé quelques règles de transfert sécurisé dans les explications précédentes. Mais concentrons-nous sur les règles les plus importantes : + +1. L'appelant doit être approuvé pour envoyer les jetons depuis l'adresse `_from` ou l'appelant doit être égal à `_from`. +2. L'appel de transfert doit être annulé si + 1. l'adresse `_to` est 0. + 2. la longueur des `_ids` n'est pas la même que la longueur des `_values`. + 3. le(s) solde(s) du(des) détenteur(s) de jeton(s) dans `_ids` est(sont) inférieur(s) au(x) montant(s) respectif(s) dans les `_values` envoyées au destinataire. + 4. toute autre erreur se produit. + +_Note_ : Toutes les fonctions par lot, y compris le crochet, existent également en tant que versions sans lot. Cela renforce l'efficacité du carburant étant donné que le transfert d'un seul actif reste probablement la méthode la plus couramment utilisée. Nous les avons laissés à l'écart par souci de simplicité dans les explications, y compris des règles de transfert sécurisé. Les noms sont identiques, il suffit de supprimer le lot ('Batch)'. + +## Complément d'information {#further-reading} + +- [Norme de multijeton ERC-1155](https://eips.ethereum.org/EIPS/eip-1155) +- [ERC-1155 : Documentation Openzeppelin](https://docs.openzeppelin.com/contracts/3.x/erc1155) +- [ERC-1155 : Répertoire GitHub](https://github.com/enjin/erc-1155) +- [API NFT d'Alchemy](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api) diff --git a/src/content/translations/fr/developers/docs/standards/tokens/erc-20/index.md b/src/content/translations/fr/developers/docs/standards/tokens/erc-20/index.md index 5cdc34bc0f0..fd51c861ad1 100644 --- a/src/content/translations/fr/developers/docs/standards/tokens/erc-20/index.md +++ b/src/content/translations/fr/developers/docs/standards/tokens/erc-20/index.md @@ -35,7 +35,12 @@ L'ERC-20 introduit une norme pour les jetons fongibles. En d'autres termes, ils La demande de commentaires ERC-20, proposée par Fabian Vogelsteller en novembre 2015, est une norme de jeton qui implémente une API pour les jetons au sein des contrats intelligents. -Elle fournit des fonctionnalités permettant de transférer des jetons d'un compte à un autre, ou d'obtenir le solde actuel d'un compte en jetons et le nombre total de jetons disponibles sur le réseau. En plus de celles-ci, il en existe d'autres pour, par exemple, approuver que des jetons provenant d'un compte soient dépensés par un compte tiers. +Exemples de fonctionnalités fournies par ERC-20 : + +- transférer des jetons d'un compte à un autre +- obtenir le solde actuel du jeton d'un compte +- obtenir la quantité totale du jeton disponible sur le réseau +- approuver si un montant de jeton d'un compte peut être dépensé par un compte tiers Si un contrat intelligent implémente les méthodes et les événements suivants, il peut être nommé Contrat de jeton ERC-20 et, une fois déployé, sera responsable d'effectuer un suivi des jetons créés sur Ethereum. @@ -139,13 +144,6 @@ print("Addr Balance:", addr_balance) ## Complément d'information {#further-reading} -- [EIP-20: ERC-20 Token Standard](https://eips.ethereum.org/EIPS/eip-20) +- [EIP-20 : ERC-20 Token Standard](https://eips.ethereum.org/EIPS/eip-20) - [OpenZeppelin - Tokens](https://docs.openzeppelin.com/contracts/3.x/tokens#ERC20) - [OpenZeppelin - Implémentation ERC-20](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol) -- [ConsenSys - Implémentation ERC-20](https://github.com/ConsenSys/Tokens/blob/master/contracts/eip20/EIP20.sol) - -## Sujets connexes {#related-topics} - -- [ERC-721](/developers/docs/standards/tokens/erc-721/) -- [ERC-777](/developers/docs/standards/tokens/erc-777/) -- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) diff --git a/src/content/translations/fr/developers/docs/standards/tokens/erc-721/index.md b/src/content/translations/fr/developers/docs/standards/tokens/erc-721/index.md index bf280ab86df..7b934701919 100644 --- a/src/content/translations/fr/developers/docs/standards/tokens/erc-721/index.md +++ b/src/content/translations/fr/developers/docs/standards/tokens/erc-721/index.md @@ -15,7 +15,7 @@ Un NFT est utilisé pour identifier quelque chose ou quelqu'un d'une façon uniq L'ERC-721 introduit une norme pour les NFT. En d'autres termes, ce type de jeton est unique et peut avoir une valeur différente de celle d'un autre jeton du même contrat intelligent, peut-être en raison de son âge, de sa rareté ou du visuel qui lui est associé. Visuel ? Vous avez dit visuel ? -Oui ! Tous les NFT ont une variable `uint256` appelée `tokenId`. Pour tout contrat ERC-721, la paire `address, uint256 tokenId` du contrat doit être globalement unique. Une DApp peut avoir un "convertisseur" qui utilise le `tokenId` comme entrée et affiche une image de quelque chose de cool, comme des zombies, des armes, des compétences ou de superbes chats ! +Oui ! Tous les NFT ont une variable `uint256` appelée `tokenId` ainsi, pour tout contrat ERC-721, la paire `contract address, uint256 tokenId` doit être globalement unique. Ceci étant dit, une dApp peut intégrer un « convertisseur » qui utilise le `tokenId` comme entrée et affiche une image de quelque chose de cool, comme des zombies, des armes, des compétences ou d'incroyables chatons ! ## Prérequis {#prerequisites} @@ -25,7 +25,7 @@ Oui ! Tous les NFT ont une variable `uint256` appelée `tokenId`. Pour tout cont ## Présentation {#body} -La demande de commentaires ERC-721, proposée par William Entriken, Dieter Shirley, Jacob Evans, Nastassia Sachs en janvier 2018, est une norme de jeton non fongible qui implémente une API pour les jetons des contrats intelligents. +L'ERC-721 (pour "Ethereum Request for Comments 721") proposé par William Entriken, Dieter Shirley, Jacob Evans, Nastassia Sachs en janvier 2018, est une norme de jeton non fongible qui implémente une API pour les jetons des contrats intelligents. Elle fournit des fonctionnalités permettant de transférer des jetons d'un compte à un autre, ou d'obtenir le solde actuel d'un compte en jetons, le nom du propriétaire d'un jeton spécifique et le nombre total de jetons disponibles sur le réseau. En plus de celles-ci, il en existe d'autres pour, par exemple, approuver que des jetons provenant d'un compte soient déplacés par un compte tiers. @@ -69,7 +69,7 @@ $ pip install web3 ```python from web3 import Web3 -from web3.utils.events import get_event_data +from web3._utils.events import get_event_data w3 = Web3(Web3.HTTPProvider("https://cloudflare-eth.com")) @@ -163,7 +163,7 @@ logs = w3.eth.getLogs({ # https://etherscan.io/address/0x06012c8cf97BEaD5deAe237070F9587f8E7A266d#events # Click to expand the event's logs and copy its "tokenId" argument -recent_tx = [get_event_data(tx_event_abi, log)["args"] for log in logs] +recent_tx = [get_event_data(w3.codec, tx_event_abi, log)["args"] for log in logs] kitty_id = recent_tx[0]['tokenId'] # Paste the "tokenId" here from the link above is_pregnant = ck_contract.functions.isPregnant(kitty_id).call() @@ -210,20 +210,20 @@ ck_event_signatures = [ pregnant_logs = w3.eth.getLogs({ "fromBlock": w3.eth.blockNumber - 120, "address": w3.toChecksumAddress(ck_token_addr), - "topics": [ck_extra_events_abi[0]] + "topics": [ck_event_signatures[0]] }) -recent_pregnants = [get_event_data(ck_extra_events_abi[0], log)["args"] for log in pregnant_logs] +recent_pregnants = [get_event_data(w3.codec, ck_extra_events_abi[0], log)["args"] for log in pregnant_logs] # Here is a Birth Event: # - https://etherscan.io/tx/0x3978028e08a25bb4c44f7877eb3573b9644309c044bf087e335397f16356340a birth_logs = w3.eth.getLogs({ "fromBlock": w3.eth.blockNumber - 120, "address": w3.toChecksumAddress(ck_token_addr), - "topics": [ck_extra_events_abi[1]] + "topics": [ck_event_signatures[1]] }) -recent_births = [get_event_data(ck_extra_events_abi[1], log)["args"] for log in birth_logs] +recent_births = [get_event_data(w3.codec, ck_extra_events_abi[1], log)["args"] for log in birth_logs] ``` ## NFT populaires {#popular-nfts} @@ -234,15 +234,11 @@ recent_births = [get_event_data(ck_extra_events_abi[1], log)["args"] for log in - [Ethereum Name Service (ENS)](https://ens.domains/) offre un moyen sécurisé et décentralisé d'adresser des ressources à la fois sur et hors de la blockchain en utilisant des noms simples et lisibles. - [Unstoppable Domains](https://unstoppabledomains.com/) est une société basée à San Francisco, qui construit des domaines sur des blockchains. Les domaines de blockchains remplacent les adresses des cryptomonnaies par des noms lisibles et peuvent être utilisés pour activer des sites Web résistants à la censure. - [Gods Unchained Cards](https://godsunchained.com/) est un jeu de cartes à collectionner (JCC) de la blockchain Ethereum, qui utilise des NFT pour apporter une vraie propriété aux actifs en jeu. +- [Bored Ape Yacht Club](https://boredapeyachtclub.com) est une collection de 10 000 NFT uniques qui, en plus d'être une œuvre d'art remarquablement rare, agit en tant que jeton d’adhésion au club en fournissant aux membres des atouts et des avantages qui augmentent au fil du temps grâce aux efforts de la communauté. ## Complément d'information {#further-reading} - [EIP-721: ERC-721 Non-Fungible Token Standard](https://eips.ethereum.org/EIPS/eip-721) - [OpenZeppelin - ERC-721 Docs](https://docs.openzeppelin.com/contracts/3.x/erc721) - [OpenZeppelin - Implémentation ERC-721](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol) - -## Sujets connexes {#related-topics} - -- [ERC-20](/developers/docs/standards/tokens/erc-20/) -- [ERC-777](/developers/docs/standards/tokens/erc-777/) -- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) +- [API NFT d'Alchemy](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api) diff --git a/src/content/translations/fr/developers/docs/standards/tokens/erc-777/index.md b/src/content/translations/fr/developers/docs/standards/tokens/erc-777/index.md new file mode 100644 index 00000000000..3ac466dbe9b --- /dev/null +++ b/src/content/translations/fr/developers/docs/standards/tokens/erc-777/index.md @@ -0,0 +1,42 @@ +--- +title: Norme de jeton ERC-777 +description: +lang: fr +sidebar: true +--- + +## Introduction ? {#introduction} + +ERC-777 est un type de jeton fongible améliorant le standard [ERC-20](/developers/docs/standards/tokens/erc-20/) existant. + +## Prérequis {#prerequisites} + +Pour mieux comprendre cette page, nous vous recommandons de lire en premier lieu la page [ERC-20](/developers/docs/standards/tokens/erc-20/). + +## Quelles améliorations l'ERC-777 propose-t-elle par rapport à l'ERC-20 ? {#-erc-777-vs-erc-20} + +L’ERC-777 apporte les améliorations suivantes par rapport à l’ERC-20 : + +### Crochets {#hooks} + +Le crochet sont une fonction décrite dans le code d'un contrat intelligent. Les crochets sont appelés lorsque des jetons sont envoyés ou reçus par le biais du contrat. Cela permet à un contrat intelligent de réagir aux jetons entrants ou sortants. + +Les crochets sont enregistrés et découverts en utilisant la norme [ERC-1820](https://eips.ethereum.org/EIPS/eip-1820). + +#### Pourquoi les crochets sont-ils exceptionnels ? {#why-are-hooks-great} + +1. Les crochets permettent d'envoyer des jetons à un contrat et de notifier le contrat en une seule transaction, contrairement à [ERC-20](https://eips.ethereum.org/EIPS/eip-20), qui nécessite un double appel (`approve`/`transferFrom`) pour y parvenir. +2. Les contrats qui n'ont pas de crochets enregistrés sont incompatibles avec l'ERC-777. Le contrat envoyé annulera la transaction lorsque le contrat de réception n'a pas enregistré de crochet. Cela empêche les transferts accidentels vers des contrats intelligents non ERC-777. +3. Les crochets peuvent rejeter les transactions. + +### Décimales {#decimals} + +La norme résout également la confusion relative aux `decimals` générée par ERC-20. Cette clarification améliore l'expérience développeurs. + +### Rétro-compatibilité avec ERC-20 {#backwards-compatibility-with-erc-20} + +Les contrats ERC-777 peuvent interagir comme s'il s'agissait de contrats ERC-20. + +## Complément d'information {#further-reading} + +[Norme de jeton EIP-777](https://eips.ethereum.org/EIPS/eip-777) diff --git a/src/content/translations/fr/developers/docs/standards/tokens/index.md b/src/content/translations/fr/developers/docs/standards/tokens/index.md index d81bcb819b2..efde22a82cd 100644 --- a/src/content/translations/fr/developers/docs/standards/tokens/index.md +++ b/src/content/translations/fr/developers/docs/standards/tokens/index.md @@ -15,12 +15,14 @@ L'une des nombreuses normes de développement Ethereum est axée sur les interfa - [Normes de développement Ethereum](/developers/docs/standards/) - [Contrats intelligents](/developers/docs/smart-contracts/) -## Normes de jetons {#token-standards} +## Normes des jetons {#token-standards} Voici quelques-unes des normes de jetons les plus populaires sur Ethereum : -- [ERC20 - Interface standard pour les jetons](/developers/docs/standards/tokens/erc-20/) -- [ERC721 - Interface standard pour les jetons non fongibles](/developers/docs/standards/tokens/erc-721/) +- [ERC-20](/developers/docs/standards/tokens/erc-20/) - Une interface type pour les jetons fongibles (interchangeables) comme les jetons de vote, les jetons d'enjeu ou les monnaies virtuelles. +- [ERC-721](/developers/docs/standards/tokens/erc-721/) - Une interface type pour les jetons non fongibles, comme ceux requis pour les œuvres d'art ou une chanson. +- [ERC-777](/developers/docs/standards/tokens/erc-777/) - Permet aux personnes de créer des fonctionnalités supplémentaires en sus des jetons tels qu'un contrat mixte pour améliorer la confidentialité des transactions ou une fonction de récupération d'urgence pour vous tirer d'embarras si vous perdez vos clés privées. +- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - Permet des transactions et des regroupements de transactions plus efficaces – réduisant ainsi les coûts. Ce type de jeton permet de créer à la fois des jetons utilitaires (comme $BNB ou $BAT) et des jetons non fongibles comme des CryptoPunks. ## Complément d'information {#further-reading} @@ -30,5 +32,5 @@ _Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ - [Liste de contrôle d'intégration de jetons](/developers/tutorials/token-integration-checklist/) _- Liste de contrôle des choses à prendre en compte quand on interagit avec des jetons._ - [Comprendre le contrat intelligent de jeton ERC-20](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _- Introduction au déploiement de votre premier contrat intelligent sur un réseau de test Ethereum._ -- [Transférer et approuver des jetons ERC20 depuis un contrat intelligent Solidity](/developers/tutorials/transfers-and-approval-of-erc20-tokens-from-a-solidity-smart-contract/) _- Comment utiliser un contrat intelligent pour interagir avec un jeton en utilisant le langage Solidity._ +- [Transférer et approuver des jetons ERC20 depuis un contrat intelligent Solidity](/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/) _– Comment utiliser un contrat intelligent pour interagir avec un jeton en utilisant le langage Solidity._ - [Implémenter un marché ERC721 [guide pratique]](/developers/tutorials/how-to-implement-an-erc721-market/) _- Comment mettre à la vente des objets jetonnés sur une planche de classification décentralisée._ From 998aea429acb78682c3de9e54d9f81bb334b3f9b Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 12 May 2022 17:27:04 -0700 Subject: [PATCH 133/167] it Advanced docs import latest from Crowdin --- .../it/developers/docs/mev/index.md | 16 +- .../it/developers/docs/scaling/index.md | 53 ++++-- .../docs/scaling/layer-2-rollups/index.md | 161 ------------------ .../docs/scaling/optimistic-rollups/index.md | 59 +++++++ .../developers/docs/scaling/plasma/index.md | 14 +- .../docs/scaling/sidechains/index.md | 2 +- .../developers/docs/scaling/validium/index.md | 3 +- .../docs/scaling/zk-rollups/index.md | 48 ++++++ .../it/developers/docs/standards/index.md | 2 +- .../docs/standards/tokens/erc-1155/index.md | 3 +- .../docs/standards/tokens/erc-721/index.md | 1 + 11 files changed, 166 insertions(+), 196 deletions(-) delete mode 100644 src/content/translations/it/developers/docs/scaling/layer-2-rollups/index.md create mode 100644 src/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md create mode 100644 src/content/translations/it/developers/docs/scaling/zk-rollups/index.md diff --git a/src/content/translations/it/developers/docs/mev/index.md b/src/content/translations/it/developers/docs/mev/index.md index 971cd06419f..8eee5b6d3ff 100644 --- a/src/content/translations/it/developers/docs/mev/index.md +++ b/src/content/translations/it/developers/docs/mev/index.md @@ -1,13 +1,15 @@ --- -title: Valore estraibile dai miner (MEV) -description: Un'introduzione al "miner extractable value" (MEV) +title: Valore estraibile massimo (MEV) +description: Un'introduzione al valore estraibile massimo (MEV) lang: it sidebar: true --- -Il valore estraibile massimo (precedentemente "dai miner") (MEV) si riferisce al valore massimo estraibile dalla produzione del blocco in aggiunta alla ricompensa del blocco standard e alle commissioni del carburante, includendo, escludendo e cambiando l'ordine delle transazioni in un blocco. +Il valore estraibile massimo (MEV) si riferisce al valore massimo che può essere estratto dalla produzione del blocco oltre alla ricompensa del blocco standard e alle commissioni del gas, includendo, escludendo e modificando l'ordine delle transazioni in un blocco. -In un contesto di Proof of Work, il valore estraibile massimo è anche detto "valore estraibile dai miner". Questo perché nel Proof of Work i miner controllano l'inclusione, l'esclusione e l'ordinamento della transazione. +### Valore estraibile del minatore + +Questo concetto è stato applicato per la prima volta nell'ambito del [proof-of-work](/developers/docs/consensus-mechanisms/pow/) ed è stato inizialmente denominato "valore estraibile del minatore". Questo perché nel Proof of Work i miner controllano l'inclusione, l'esclusione e l'ordinamento della transazione. Tuttavia, dopo la transizione al proof-of-stake tramite [La Fusione](/upgrades/merge), i validatori saranno responsabili di questi ruoli e il mining non sarà più applicabile. Questi metodi di estrazione del valore persisteranno dopo la transizione e proprio per questo è stato necessario modificare il nome. Per conservare lo stesso acronimo a scopo di continuità e mantenere al contempo lo stesso significato fondamentale, ora utilizziamo "valore estraibile massimo" come alternativa più inclusiva. ## Prerequisiti {#prerequisites} @@ -15,7 +17,7 @@ Assicurati di avere familiarità con [transazioni](/developers/docs/transactions ## Estrazione del MEV {#mev-extraction} -In teoria, il MEV proviene interamente dai miner poiché questi sono la sola parte che può garantire l'esecuzione di un'opportunità di MEV redditizia (almeno sulla catena di proof of work attuale; questo cambierà più avanti[The Merge](/upgrades/merge/)). Nella pratica, tuttavia, una grande porzione del MEV è estratta da partecipanti indipendenti della rete, chiamati "ricercatori" I ricercatori eseguono algoritmi complessi sui dati della blockchain per rilevare opportunità di MEV redditizie e si servono di bot per inviare automaticamente tali transazioni redditizie alla rete. +In teoria, il MEV proviene interamente dai minatori, poiché questi sono la sola parte in grado di garantire l'esecuzione di un'opportunità di MEV redditizia (almeno sull'attuale catena di proof-of-work - questo cambierà dopo [La Fusione](/upgrades/merge/)). Nella pratica, tuttavia, una grande porzione del MEV è estratta da partecipanti indipendenti della rete, chiamati "ricercatori". I ricercatori eseguono algoritmi complessi sui dati della blockchain per rilevare opportunità di MEV redditizie e si servono di bot per inviare automaticamente tali transazioni redditizie alla rete. I miner ottengono comunque una parte dell'importo del MEV intero siccome i ricercatori sono disposti a pagare commissioni del carburante elevate (che vanno al miner), in cambio di una maggior probabilità d'inclusione delle loro transazioni redditizie in un blocco. Presumendo che i ricercatori siano economicamente razionali, la commissione del carburante che un ricercatore è disposto a pagare sarà pari fino al 100% del MEV del ricercatore (infatti, se la commissione del carburante fosse maggiore, il ricercatore perderebbe denaro). @@ -63,9 +65,9 @@ I ricercatori competono per analizzare i dati della blockchain il più velocemen Il sandwich trading è un altro metodo comune di estrazione del MEV. -Per eseguirlo, un ricercatore osserverà il mempool alla ricerca di scambi di DEX di notevole entità. Per esempio, supponiamo che qualcuno voglia comprare 10.000 UNI con DAI su Uniswap. Un'operazione di tale portata avrà un impatto significativo sulla coppia UNI/DAI, aumentando in modo potenzialmente significativo il prezzo di UNI rispetto al DAI. +Per eseguirlo, un ricercatore osserverà il mempool alla ricerca di scambi di DEX di notevole entità. Per esempio, supponiamo che qualcuno voglia comprare 10.000 UNI con DAI su Uniswap. Uno scambio di tale portata avrà un effetto significativo sulla coppia UNI/DAI, aumentando in modo potenzialmente importante il prezzo di UNI rispetto al DAI. -Un ricercatore può calcolare l'impatto approssimativo del prezzo di questa operazione di notevole entità sulla coppia UNI/DAI ed eseguire un ordine d'acquisto ottimale immediatamente _prima_ di esso, acquistando UNI a basso prezzo ed eseguendo quindi un ordine di vendita immediatamente _dopo_ l'operazione di notevole entità, vendendolo al prezzo superiore determinato dall'ordine cospicuo. +Un ricercatore può calcolare l'effetto approssimativo del prezzo di questo scambio di ampia portata sulla coppia UNI/DAI ed eseguire un acquisto ottimale immediatamente _prima_ di esso, acquistando UNI a basso costo per poi eseguire l'ordine di vendita immediatamente _dopo_ lo scambio, vendendolo a un prezzo superiore, causato dallo stesso ordine. Il sandwiching, tuttavia, è più rischioso non essendo atomico (a differenza dell'arbitraggio di DEX, come descritto sopra) ed è soggetto a un [attacco di salmonella](https://github.com/Defi-Cartel/salmonella). diff --git a/src/content/translations/it/developers/docs/scaling/index.md b/src/content/translations/it/developers/docs/scaling/index.md index 2b9d0dfeccd..c23aa5fcac4 100644 --- a/src/content/translations/it/developers/docs/scaling/index.md +++ b/src/content/translations/it/developers/docs/scaling/index.md @@ -3,13 +3,14 @@ title: Scalabilità description: Introduzione alle diverse opzioni di scalabilità attualmente in fase di sviluppo da parte della community Ethereum. lang: it sidebar: true +sidebarDepth: 3 --- ## Panoramica della scalabilità {#scaling-overview} Poiché il numero di persone che usano Ethereum è aumentato, la blockchain ha raggiunto determinati limiti di capacità. Ciò ha aumentato il costo di utilizzo della rete, creando la necessità di "soluzioni di scalabilità". Ci sono molteplici soluzioni in fase di ricerca, sperimentazione e implementazione, che adottano approcci diversi per raggiungere obiettivi simili. -L'obiettivo principale della scalabilità è aumentare la velocità della transazione (finalità più veloce) e il volume di transazioni (numero elevato di transazioni al secondo), senza sacrificare la decentralizzazione o la sicurezza (maggiori informazioni su [Ethereum vision](/upgrades/vision/)). Sul livello 1 della blockchain Ethereum, la domanda elevata si traduce in transazioni più lente e prezzi del carburante impossibili. L'aumento della capacità della rete in termini di velocità e produttività è fondamentale per l'adozione significativa e di massa di Ethereum. +L'obiettivo principale della scalabilità è aumentare la velocità della transazione (finalità più veloce) e il volume di transazioni (numero elevato di transazioni al secondo), senza sacrificare la decentralizzazione o la sicurezza (maggiori informazioni su [Ethereum vision](/upgrades/vision/)). Sulla blockchain di Ethereum di livello 1, l'elevata domanda conduce a transazioni più lente e [prezzi del gas](/developers/docs/gas/) impraticabili. L'aumento della capacità della rete in termini di velocità e produttività è fondamentale per una significativa adozione di massa di Ethereum. Anche se velocità e produttività sono aspetti importanti, è essenziale che le soluzioni di scalabilità che rendono possibili questi obiettivi rimangano decentralizzate e sicure. Mantenere una barriera all'ingresso bassa per gli operatori dei nodi è fondamentale per scongiurare una progressione verso una potenza di calcolo centralizzata e insicura. @@ -17,7 +18,7 @@ A livello concettuale, per prima cosa occorre distinguere tra scalabilità on-ch ## Prerequisiti {#prerequisites} -Dovresti avere una buona conoscenza di tutti gli argomenti fondamentali. L'implementazione di soluzioni di scalabilità è un argomento avanzato, in quanto la tecnologia è meno collaudata sul campo e continua ad essere oggetto di ricerca e sviluppo. +Dovresti avere una buona conoscenza di tutti gli argomenti fondamentali. L'implementazione di soluzioni di scalabilità è un argomento avanzato, in quanto la tecnologia è meno testata sul campo e continua ad essere oggetto di ricerca e sviluppo. ## Scalabilità on-chain {#on-chain-scaling} @@ -31,28 +32,37 @@ Ulteriori informazioni sullo [sharding](/upgrades/shard-chains/). ## Scalabilità off-chain {#off-chain-scaling} -Le soluzioni off-chain sono implementate separatamente dalla rete principale di livello 1 - non richiedono alcuna modifica al protocollo Ethereum esistente. Alcune soluzioni, note come soluzioni di "livello 2", derivano la loro sicurezza direttamente dal consenso di Ethereum livello 1, ad esempio [i rollup](/developers/docs/scaling/layer-2-rollups/) o [i canali di stato](/developers/docs/scaling/state-channels/). Altre soluzioni comportano la creazione di nuove catene in varie forme, che derivano la loro sicurezza separatamente dalla rete principale, come le [sidechain](#sidechains) o le catene [plasma](#plasma). Queste soluzioni comunicano con la rete principale, ma derivano la loro sicurezza in modo diverso per raggiungere una serie di obiettivi. +Le soluzioni off-chain sono implementate separatamente dalla rete principale di livello 1 - non richiedono alcuna modifica al protocollo Ethereum esistente. Alcune soluzioni, note come soluzioni di "livello 2", derivano la loro sicurezza direttamente dal consenso del livello 1 di Ethereum, come i [rollup ottimistici](/developers/docs/scaling/optimistic-rollups/), i [rollup a conoscenza zero](/developers/docs/scaling/zk-rollups/) o i [canali di stato](/developers/docs/scaling/state-channels/). Altre soluzioni comportano la creazione di nuove catene in varie forme, che derivano la loro sicurezza separatamente dalla rete principale, come le [sidechain](#sidechains) o le catene [plasma](#plasma). Queste soluzioni comunicano con la rete principale, ma derivano la loro sicurezza in modo diverso per raggiungere una serie di obiettivi. ### Scalabilità di livello 2 {#layer-2-scaling} Questa categoria di soluzioni off-chain trae la sua sicurezza dalla rete principale di Ethereum. -La maggior parte delle soluzioni di livello 2 è incentrata su un server o su un cluster di server, ognuno dei quali può essere denominato nodo, validatore, operatore, sequenziatore, block producer o simile. A seconda dell'implementazione, questi nodi di livello 2 possono essere gestiti da individui, aziende o entità che li usano, da operatori terzi o da un grande gruppo di individui (in modo simile alla rete principale). In linea generale, le transazioni vengono inviate a questi nodi di livello 2 anziché essere inviate direttamente al livello 1 (rete principale). Per alcune soluzioni, l'istanza di livello 2 le riunisce in gruppi prima di ancorarle al livello 1, a quel punto sono protette dal livello 1 e non possono essere alterate. I dettagli di questo processo variano notevolmente tra le diverse tecnologie di livello 2 e le varie implementazioni. +Livello 2 è un termine collettivo per le soluzioni progettate per aiutare a ridimensionare la tua applicazione gestendo le transazioni al di fuori della rete principale di Ethereum (livello 1), sfruttando il robusto modello di sicurezza decentralizzato della Rete principale. La velocità delle transazioni ne risente quando la rete è molto carica, e l'esperienza utente può risultare poco piacevole per alcuni tipi di dApp. E, man mano che la rete si congestiona, i prezzi del gas aumentano mentre i mittenti delle transazioni mirano a superarsi a vicenda. Ciò può rendere l'utilizzo di Ethereum alquanto dispendioso. -Un'istanza specifica di livello 2 può essere aperta e condivisa da molte applicazioni, oppure può essere implementata da un progetto e dedicata a sostenere solo quell'applicazione specifica. +Gran parte delle soluzioni del Livello 2 sono incentrate su un server o un gruppo di server, ognuno dei quali potrebbe essere definito nodo, validatore, operatore, sequenziatore, produttore di blocchi o termini simili. In base all'implementazione, questi nodi di Livello 2 potrebbero essere eseguiti da singoli individui, aziende o entità che li usano, da un operatore di terze parti o da un grande gruppo di individui (in modo simile alla Rete principale). In generale, le transazioni sono inviate a questi nodi del Livello 2, anziché essere inviate direttamente al Livello 1 (Rete principale). Per alcune soluzioni, l'istanza del Livello 2 le riunisce poi in gruppi, prima di ancorarle al Livello 1, dopodiché sono protette dal Livello 1 e non sono alterabili. I dettagli di tale processo variano significativamente tra le diverse tecnologie e implementazioni del Livello 2. + +Un'istanza specifica del Livello 2 potrebbe essere aperta e condivisa da molte applicazioni o essere distribuita da un progetto e dedicata a supportare solo la propria applicazione. + +#### Perché il Livello 2 è necessario? {#why-is-layer-2-needed} + +- L'aumento delle transazioni al secondo migliora notevolmente l'esperienza utente e riduce la congestione della rete sulla Mainnet di Ethereum. +- Le transazioni sono raggruppate in una singola transazione sulla Rete principale di Ethereum, riducendo il prezzo del gas per gli utenti e rendendo Ethereum più inclusivo e accessibile per le persone da tutto il mondo. +- Qualunque aggiornamento alla scalabilità non dovrebbe sacrificare decentralizzazione e sicurezza - il livello 2 è basato su Ethereum. +- Esistono reti di livello 2 specifiche per le applicazioni che sfruttano le proprie efficienze lavorando con risorse su scala. #### Rollup {#rollups} -I rollup provvedono all'esecuzione delle transazioni al di fuori del livello 1, dopodiché i dati vengono inviati al livello 1, dove viene raggiunto il consenso. Mentre i dati delle transazioni vengono inclusi nei blocchi di livello 1, questo permette ai rollup di essere protetti dalla sicurezza nativa di Ethereum. +I rollup eseguono le transazioni al di fuori del Livello 1, dopodiché i dati vengono pubblicati al Livello 1, dove viene raggiunto il consenso. Poiché i dati della transazione sono inclusi nei blocchi del Livello 1, ciò consente ai rollup di essere protetti dalla sicurezza nativa di Ethereum. -- [Rollup a conoscenza zero](/developers/docs/scaling/layer-2-rollups/#zk-rollups) -- [Rollup ottimistici](/developers/docs/scaling/layer-2-rollups/#optimistic-rollups) +Esistono due tipi di rollup con diversi modelli di sicurezza: -Scopri di più sui [rollup](/developers/docs/scaling/layer-2-rollups/). +- **Rollup ottimistici**: presumono che le transazioni siano valide di default ed eseguono solo il calcolo, tramite una [**prova di frode**](/glossary/#fraud-proof), nel caso di una contestazione. [Maggiori informazioni sui rollup ottimistici](/developers/docs/scaling/optimistic-rollups/). +- **Rollup a conoscenza zero**: esegue il calcolo al di fuori della catena e invia una [**prova di validità**](/glossary/#validity-proof) alla catena. [Maggiori informazioni sui rollup a conoscenza zero](/developers/docs/scaling/zk-rollups/). #### Canali di stato {#channels} -I canali di stato utilizzano contratti multisig per consentire ai partecipanti di effettuare transazioni rapidamente e liberamente fuori dalla catena, regolando la finalità con la rete principale. In questo modo si riduce al minimo la congestione della rete, le tariffe e i ritardi. Al momento esistono due tipi di canali: canali di stato e canali di pagamento. +I canali di stato utilizzano contratti multi-firma per consentire ai partecipanti di effettuare transazioni rapidamente e liberamente al di fuori della catena, regolando poi la finalizzazione con la Rete principale. In questo modo si riduce la congestione, le commissioni e i ritardi sulla rete. Al momento esistono due tipi di canali: canali di stato e canali di pagamento. Maggiori informazioni sui [canali di stato](/developers/docs/scaling/state-channels/). @@ -64,29 +74,40 @@ Maggiori informazioni sulle [sidechain](/developers/docs/scaling/sidechains/). ### Plasma {#plasma} -Una catena plasma è una blockchain separata e collegata alla catena principale Ethereum che utilizza le prove di frode (come i [rollup ottimistici](/developers/docs/scaling/layer-2-rollups/#optimistic-rollups)) per arbitrare le dispute. +Una catena plasma è una blockchain separata ancorata alla catena principale di Ethereum, che utilizza le prove di frode (come i [rollup ottimistici](/developers/docs/scaling/optimistic-rollups/)) per arbitrare le dispute. Scopri di più sui [rollup](/developers/docs/scaling/plasma/). +### Validium {#validium} + +Una catena di Validum usa le prove di validità come i rollup a conoscenza zero, ma i dati non sono memorizzati sulla catena di livello 1 principale di Ethereum. Questo può tradursi in 10.000 transazioni al secondo per la catena di Validium, con più catene eseguibili in parallelo. + +Scopri di più su [Validium](/developers/docs/scaling/validium/). + ## Perché sono necessarie così tante soluzioni di scalabilità? {#why-do-we-need-these} - Soluzioni multiple possono contribuire a ridurre la congestione generale su qualsiasi parte della rete, nonché a evitare singoli punti di errore. - Il tutto è superiore alla somma delle sue parti. Diverse soluzioni possono coesistere e lavorare in armonia, producendo un effetto esponenziale sulla velocità e la produttività delle transazioni future. - Non tutte le soluzioni richiedono l'utilizzo dell'algoritmo di consenso di Ethereum direttamente, e le alternative possono offrire benefici che altrimenti sarebbero difficili da ottenere. -- Nessuna soluzione di scalabilità è sufficiente a soddisfare la [Ethereum vision](/upgrades/vision/). +- Nessuna soluzione di scalabilità è sufficiente a soddisfare la [visione di Ethereum](/upgrades/vision/). ## Preferisci un approccio visivo all'apprendimento? {#visual-learner} -_Nota che la spiegazione nel video usa il termine "Layer 2" per fare riferimento a tutte le soluzioni di scalabilità off-chain, mentre noi distinguiamo tra "Layer 2" come soluzione off-chain che deriva la sua sicurezza attraverso il consenso della rete principale di livello 1._ +_Nota che la spiegazione nel video usa il termine "Livello 2" per riferirsi a tutte le soluzioni di ridimensionamento esterne alla catena, mentre noi distinguiamo il "Livello 2" come soluzione esterna alla catena, la cui sicurezza deriva dal consenso del Livello 1 (Rete principale)._ + + ## Letture consigliate {#further-reading} - [A rollup-centric Ethereum roadmap](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) _Vitalik Buterin_ -- [Analisi aggiornata sulle soluzioni di scala Layer 2 per Ethereum](https://www.l2beat.com/) -- [Valutazione delle soluzioni di scalabilità del livello 2 di Ethereum: un quadro di confronto](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955) +- [Statistiche aggiornate sulle soluzioni di ridimensionamento del Livello 2 per Ethereum](https://www.l2beat.com/) +- [Valutare le soluzioni di scalabilità del Livello 2 di Ethereum: un quadro di confronto](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955) - [Una guida incompleta ai rollup](https://vitalik.ca/general/2021/01/05/rollup.html) - [Rollup ZK basati su Ethereum: fuoriclasse a livello mondiale](https://hackmd.io/@canti/rkUT0BD8K) +- [Rollup ottimistici vs Rollup ZK](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/) +- [Scalabilità della blockchain a conoscenza zero](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf) +- [Perché i rollup e i frammenti di dati sono la sola soluzione sostenibile per un'elevata scalabilità](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48) -_Conosci una risorsa pubblica che ti è stata utile? Modifica questa pagina e aggiungila!_ +_Conosci una risorsa della community che ti è stata utile? Modifica questa pagina e aggiungila!_ diff --git a/src/content/translations/it/developers/docs/scaling/layer-2-rollups/index.md b/src/content/translations/it/developers/docs/scaling/layer-2-rollups/index.md deleted file mode 100644 index c9344d8fa74..00000000000 --- a/src/content/translations/it/developers/docs/scaling/layer-2-rollups/index.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: Rollup di livello 2 -description: Un'introduzione alle diverse soluzioni di scalabilità del rollup di livello 2 attualmente sviluppate dalla comunità di Ethereum. -lang: it -sidebar: true -incomplete: true -sidebarDepth: 3 ---- - -Livello 2 è un termine collettivo per le soluzioni progettate per aiutare a scalare la tua applicazione gestendo le transazioni fuori dalla rete principale di Ethereum (Livello 1), sfruttando al contempo il robusto modello di sicurezza decentralizzato della rete principale. La velocità delle transazioni ne risente quando la rete è molto carica, e l'esperienza utente può risultare poco piacevole per alcuni tipi di dApp. Man mano che la rete diventa più congestionata, il prezzo del carburante sale perché i mittenti delle transazioni mirano a superarsi a vicenda. Ciò può rendere l'utilizzo di Ethereum alquanto dispendioso. - -## Prerequisiti {#prerequisites} - -Occorre avere una buona comprensione di tutti gli argomenti fondamentali ed un elevato livello di comprensione della [scalabilità di Ethereum](/developers/docs/scaling/). L'implementazione di soluzioni di scalabilità, come i rollup, è un argomento avanzato in quanto la tecnologia è meno testata nel campo e continua ad essere oggetto di ricerca e sviluppo. - -## Perché serve il livello 2? {#why-is-layer-2-needed} - -- Alcuni casi di utilizzo, come i giochi su blockchain, non hanno senso con gli attuali tempi di transazione -- Può essere inutilmente costoso utilizzare applicazioni blockchain -- Qualunque aggiornamento alla scalabilità non dovrebbe sacrificare decentralizzazione e sicurezza - il layer 2 si basa su Ethereum. - -## Rollup {#rollups} - -I rollup sono soluzioni che svolgono l'_esecuzione_ della transazione al di fuori della catena della rete principale di Ethereum (livello 1), ma pubblicano i _dati_ della transazione sul livello 1. Poiché i _dati_ della transazione sono sul livello 1, i rollup sono protetti da tale livello. L'eredità delle proprietà di sicurezza del livello 1 durante l'esecuzione al di fuori di esso è una caratteristica distintiva dei rollup. - -Tre proprietà semplificate dei rollup sono: - -1. _esecuzione_ della transazione al di fuori del livello 1 -2. i dati o la prova delle transazioni sono sul livello 1 -3. lo smart contract di un rollup nel livello 1 può imporre l'esecuzione corretta della transazione sul livello 2 usando i dati della transazione sul livello 1 - -I rollup richiedono gli "operatori" di mettere in staking un'obbligazione nel contratto del rollup. Ciò incentiva gli operatori a verificare ed eseguire correttamente le transazioni. - -**Utile per:** - -- ridurre le commissioni per gli utenti -- partecipazione aperta -- maggiori volumi di transazioni e maggiore rapidità - -Esistono due tipi di rollup con modelli di sicurezza diversi: - -- **Rollup ottimistici**: presume che le transazioni siano valide di default ed eseguono unicamente il calcolo, tramite una [**prova di frode**](/glossary/#fraud-proof), in caso di messa alla prova -- **Rollup a conoscenza zero**: esegue il calcolo al di fuori della catena e invia una [**prova di validità**](/glossary/#validity-proof) alla catena - -### Rollup ottimistici {#optimistic-rollups} - -I rollup ottimistici si collocano parallelamente alla catena principale di Ethereum sul livello 2. Possono apportare miglioramenti a livello di scalabilità perché non eseguono calcoli di default. Invece, dopo una transazione, propongono il nuovo stato alla rete principale o "autenticano" la transazione. - -Con i rollup ottimistici, le transazioni sono scritte sulla catena principale di Ethereum come `calldata`, ottimizzandoli ulteriormente attraverso la riduzione del costo del carburante. - -Siccome il calcolo è la parte lenta e costosa di Ethereum, i rollup ottimistici possono offrire miglioramenti a livello di scalabilità fino a 10-100x, a seconda della transazione. Questo numero aumenterà ancora di più con l'introduzione delle [shard chains](/upgrades/shard-chains), poiché saranno disponibili più dati se una transazione viene contestata. - -#### Disputa di transazioni {#disputing-transactions} - -I rollup ottimistici non calcolano la transazione, quindi occorre un meccanismo per assicurarsi che le transazioni siano legittime e non fraudolente. E qui entrano in gioco le prove di frode. Se qualcuno nota una transazione fraudolenta, il rollup esegue una prova di frode e avvia il calcolo della transazione utilizzando i dati di stato disponibili. Ciò significa che potresti avere tempi d'attesa maggiori per la conferma della transazione rispetto a un rollup ZK, poiché la transazione potrebbe essere contestata. - -![Diagramma che mostra cosa succede quando avviene una transazione fraudolenta in un rollup ottimistico in Ethereum](./optimistic-rollups.png) - -Il carburante che serve per eseguire il calcolo della prova di frode viene rimborsato. Ben Jones di Optimism descrive così il metodo in uso: - -"_chiunque sia in grado di eseguire un'azione che qualcuno dovrà provare come fraudolenta per proteggere i propri fondi richiede l'invio di un'obbligazione. In pratica, si bloccano alcuni ETH con la dichiarazione "Giuro di dire la verità"... Se non dico la verità e la frode viene confermata, il denaro sparisce (slashing). Non solo viene eseguito lo slashing di parte del denaro, ma un'altra parte pagherà il carburante necessario per effettuare la prova di frode_" - -Perciò puoi vedere gli incentivi: i partecipanti vengono penalizzati se realizzano una frode e rimborsati se invece ne dimostrano una. - -#### Pro e contro {#optimistic-pros-and-cons} - -| Pro | Contro | -| ------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| Tutto quello si può fare con il livello 1 di Ethereum, si può fare anche con i rollup ottimistici, in quanto sono compatibili con EVM e Solidity. | Tempi di attesa lunghi per le transazioni sulla catena a causa di potenziali contestazioni di frodi. | -| Tutti i dati della transazione sono memorizzati sulla catena di livello 1, il che significa sicurezza e decentralizzazione. | Un operatore può influenzare l'ordine della transazione. | - -#### Una spiegazione visiva dei rollup ottimistici {#optimistic-video} - -Guarda Finematics spiegare i rollup ottimistici: - - - -#### Utilizzano gli optimistic rollup {#use-optimistic-rollups} - -Esistono molteplici implementazioni dei rollup ottimistici che puoi integrare nelle tue dApp: - -- [Arbitrum](https://arbitrum.io/) -- [Optimism](https://optimism.io/) -- [Boba](https://boba.network/) -- [Fuel Network](https://fuel.sh/) -- [Cartesi](https://cartesi.io/) - -### Rollup a conoscenza zero (zero-knowledge) {#zk-rollups} - -**I rollup a conoscenza zero (ZK-rollup)** impacchettano (o "arrotolano") centinaia di trasferimenti esterni alla catena e generano una prova crittografica, nota come SNARK (argomento di conoscenza succinto e non interattivo). Questa è nota come una prova di validità ed è pubblicata sul livello 1. - -Gli smart contract del rollup ZK mantengono lo stato di tutti i trasferimenti sul livello 2 e questo stato è aggiornabile solo con una prova di validità. Ciò significa che i rollup ZK necessitano unicamente della prova di validità anziché di tutti i dati della transazione. Con un rollup ZK, convalidare un blocco è più rapido ed economico perché sono inclusi meno dati. - -Con un rollup ZK non ci sono ritardi quando si spostano i fondi dal livello 2 al livello 1, poiché una prova di validità accettata dal contratto del rollup ZK ha già verificato i fondi. - -Essendo sul livello 2, i rollup ZK sono ottimizzabili per ridurre ulteriormente le dimensioni della transazione. Ad esempio, un account è rappresentato da un indice anziché da un indirizzo, il che riduce la transazione da 32 byte a soli 4 byte. Le transazioni sono scritte in Ethereum anche come `calldata`, riducendo il carburante. - -#### Pro e contro {#zk-pros-and-cons} - -| Pro | Contro | -| -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -| Tempo di finalità più veloce, poiché lo stato è verificato istantaneamente una volta che le prove sono inviate alla catena principale. | Alcuni non sono supportati dall'EVM. | -| Non vulnerabile agli attacchi economici a cui i [rollup ottimistici](#optimistic-pros-and-cons) possono essere esposti. | Le prove di validità sono ardue da calcolare, non ne vale la pena per applicazioni con poca attività sulla catena. | -| Sicuro e decentralizzato, dal momento che i dati necessari per recuperare lo stato sono sulla catena del layer 1. | Un operatore può influenzare l'ordine della transazione | - -#### Una spiegazione visiva dei rollup ZK {#zk-video} - -Guarda Finematics spiegare i rollup ZK: - - - -#### Usare i rollup ZK {#use-zk-rollups} - -Esistono molteplici implementazioni dei rollup ZK che puoi integrare nelle tue dApp: - -- [Loopring](https://loopring.org/#/) -- [Starkware](https://starkware.co/) -- [Matter Labs zkSync](https://zksync.io/) -- [Aztec 2.0](https://aztec.network/) -- [Polygon Hermez](https://hermez.io/) -- [zkTube](https://zktube.io/) - -## Soluzioni ibride {#hybrid-solutions} - -Esistono soluzioni ibride che combinano il meglio di varie tecnologie del layer 2 e possono offrire trade-off configurabili. - -### Usare le soluzioni ibride {#use-hybrid-solutions} - -- [Celer](https://www.celer.network/) - -## Letture consigliate {#further-reading} - -- [Una guida incompleta ai rollup](https://vitalik.ca/general/2021/01/05/rollup.html) -- [Rollup ottimistici vs Rollup ZK](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/) -- [Scalabilità della blockchain a conoscenza zero](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf) -- [Perché rollup e shard di dati sono l'unica soluzione sostenibile per un'elevata scalabilità](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48) -- [Rollup ZK basati su Ethereum: fuoriclasse a livello mondiale](https://hackmd.io/@canti/rkUT0BD8K) - -**Rollup ZK** - -- [Cosa sono i rollup a conoscenza zero?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups) -- [EthHub sui rollup ZK](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/) - -**Rollup ottimistici** - -- [Tutto ciò che devi sapere sul rollup ottimistico](https://research.paradigm.xyz/rollups) -- [EthHub sui rollup ottimistici](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/optimistic_rollups/) -- [La guida essenziale ad Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [Come funziona realmente il rollup ottimistico?](https://research.paradigm.xyz/optimism) -- [Immersione profonda nell'OVM](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) - -**Soluzioni ibride** - -- [Aggiungere la sidechain ibrida PoS-Rollup alla piattaforma coerente del livello 2 di Celer su Ethereum](https://medium.com/celer-network/adding-hybrid-pos-rollup-sidechain-to-celers-coherent-layer-2-platform-d1d3067fe593) -- [Voliture: il meglio di tutti i mondi](https://polynya.medium.com/volitions-best-of-all-worlds-cfd313aec9a8) - -**Video** - -- [Rollup - La strategia di scalabilità definitiva di Ethereum?](https://youtu.be/7pWxCklcNsU) - -_Conosci una risorsa pubblica che ti è stata utile? Modifica questa pagina e aggiungila!_ diff --git a/src/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md new file mode 100644 index 00000000000..e8b6ebf6226 --- /dev/null +++ b/src/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md @@ -0,0 +1,59 @@ +--- +title: Rollup ottimistici +description: Introduzione ai rollup ottimistici +lang: it +sidebar: true +--- + +## Prerequisiti {#prerequisites} + +Occorre avere una buona comprensione di tutti gli argomenti fondamentali ed un elevato livello di comprensione della [scalabilità di Ethereum](/developers/docs/scaling/). L'implementazione di soluzioni di scalabilità, come i rollup, è un argomento avanzato in quanto la tecnologia è meno testata nel campo e continua ad essere oggetto di ricerca e sviluppo. + +Stai cercando una risorsa più adatta ai principianti? Consulta la nostra [introduzione al livello 2](/layer-2/). + +## Rollup ottimistici {#optimistic-rollups} + +I rollup ottimistici si collocano parallelamente alla catena principale di Ethereum sul livello 2. Possono apportare miglioramenti a livello di scalabilità perché non eseguono calcoli di default. Invece, dopo una transazione, propongono il nuovo stato alla rete principale o "autenticano" la transazione. + +Con i rollup ottimistici, le transazioni sono scritte sulla catena principale di Ethereum come `calldata`, ottimizzandoli ulteriormente attraverso la riduzione del costo del carburante. + +Siccome il calcolo è la parte lenta e costosa di Ethereum, i rollup ottimistici possono offrire miglioramenti a livello di scalabilità fino a 10-100x, a seconda della transazione. Questo numero aumenterà ancora di più con l'introduzione delle [shard chains](/upgrades/shard-chains), poiché saranno disponibili più dati se una transazione viene contestata. + +### Transazioni contestate {#disputing-transactions} + +I rollup ottimistici non calcolano la transazione, quindi occorre un meccanismo per assicurarsi che le transazioni siano legittime e non fraudolente. E qui entrano in gioco le prove di frode. Se qualcuno nota una transazione fraudolenta, il rollup esegue una prova di frode e avvia il calcolo della transazione utilizzando i dati di stato disponibili. Ciò significa che potresti avere tempi d'attesa maggiori per la conferma della transazione rispetto a un rollup ZK, poiché la transazione potrebbe essere contestata. + +![Diagramma che mostra cosa succede quando avviene una transazione fraudolenta in un rollup ottimistico in Ethereum](./optimistic-rollups.png) + +Il carburante che serve per eseguire il calcolo della prova di frode viene rimborsato. Ben Jones di Optimism descrive così il metodo in uso: + +"_chiunque sia in grado di eseguire un'azione che qualcuno dovrà provare come fraudolenta per proteggere i propri fondi richiede l'invio di un'obbligazione. In pratica, si bloccano alcuni ETH con la dichiarazione "Giuro di dire la verità"... Se non dico la verità e la frode viene confermata, il denaro sparisce (slashing). Non solo viene eseguito lo slashing di parte del denaro, ma un'altra parte pagherà il carburante necessario per effettuare la prova di frode_" + +Perciò puoi vedere gli incentivi: i partecipanti vengono penalizzati se realizzano una frode e rimborsati se invece ne dimostrano una. + +### Pro e contro {#optimistic-pros-and-cons} + +| Pro | Contro | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| Tutto quello si può fare con il livello 1 di Ethereum, si può fare anche con i rollup ottimistici, in quanto sono compatibili con EVM e Solidity. | Tempi di attesa lunghi per le transazioni sulla catena a causa di potenziali contestazioni di frodi. | +| Tutti i dati della transazione sono memorizzati sulla catena di livello 1, il che significa sicurezza e decentralizzazione. | Un operatore può influenzare l'ordine della transazione. | + +### Una spiegazione visiva dei rollup ottimistici {#optimistic-video} + +Guarda Finematics spiegare i rollup ottimistici: + + + +### Utilizzo dei rollup ottimistici {#use-optimistic-rollups} + +Esistono molteplici implementazioni dei rollup Ottimistici che puoi integrare nelle tue dapp: + + + +**Lettura dei rollup ottimistici** + +- [Tutto ciò che devi sapere sul rollup ottimistico](https://research.paradigm.xyz/rollups) +- [EthHub sui rollup ottimsitici](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/optimistic_rollups/) +- [La guida essenziale ad Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) +- [Come funziona realmente il rollup ottimistico?](https://research.paradigm.xyz/optimism) +- [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) diff --git a/src/content/translations/it/developers/docs/scaling/plasma/index.md b/src/content/translations/it/developers/docs/scaling/plasma/index.md index c5779114497..6031a27f418 100644 --- a/src/content/translations/it/developers/docs/scaling/plasma/index.md +++ b/src/content/translations/it/developers/docs/scaling/plasma/index.md @@ -7,7 +7,7 @@ incomplete: true sidebarDepth: 3 --- -Una catena plasma è una blockchain separata e collegata alla catena principale Ethereum che utilizza le prove di frode (come i [rollup ottimistici](/developers/docs/scaling/layer-2-rollups/#optimistic-rollups)) per arbitrare le dispute. Queste catene sono talvolta denominate catene "figlie", poiché sono essenzialmente delle copie più piccole della rete principale di Ethereum. Gli alberi di Merkle consentono la creazione di una pila illimitata di queste catene, che può aiutare a scaricare la larghezza di banda dalle catene principali (inclusa la rete principale). Da questi deriva la loro sicurezza attraverso [le prove di frode](/glossary/#fraud-proof), ed ogni catena figlia ha un proprio meccanismo per la convalida dei blocchi. +Una catena plasma è una blockchain separata ancorata alla catena principale di Ethereum, che utilizza le prove di frode (come i [rollup ottimistici](/developers/docs/scaling/optimistic-rollups/)) per arbitrare le dispute. Queste catene sono talvolta denominate catene "figlie", poiché sono essenzialmente delle copie più piccole della rete principale di Ethereum. Gli alberi di Merkle consentono la creazione di una pila illimitata di queste catene, che può aiutare a scaricare la larghezza di banda dalle catene principali (inclusa la rete principale). Da questi deriva la loro sicurezza attraverso [le prove di frode](/glossary/#fraud-proof), ed ogni catena figlia ha un proprio meccanismo per la convalida dei blocchi. ## Prerequisiti {#prerequisites} @@ -15,12 +15,12 @@ Dovresti avere una buona comprensione di tutti gli argomenti fondamentali ed una ## Pro e contro {#pros-and-cons} -| Pro | Contro | -| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Volumi elevati, basso costo per transazione. | Non supporta il calcolo generale. Solo trasferimenti di base di token, scambi e pochi altri tipi di transazione sono supportati tramite logica dei predicati. | -| Ottima per transazioni tra utenti arbitrari (non c'è sovraccarico per coppia di utenti se entrambi sono sulla catena plasma) | Necessità di monitorare la rete periodicamente (requisito di liveness) o delegare la responsabilità a qualcun altro per garantire la sicurezza dei fondi. | -| | Fa affidamento ad uno o più operatori per archiviare i dati e fornirli su richiesta. | -| | I prelievi sono ritardati di diversi giorni per consentire eventuali contestazioni. Per gli attivi fungibili, questo aspetto può essere mitigato da fornitori di liquidità, ma è sempre presente un costo di capitale. | +| Pro | Contro | +| ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Volumi elevati, basso costo per transazione. | Non supporta il calcolo generale. Solo trasferimenti di base di token, scambi e pochi altri tipi di transazione sono supportati tramite logica dei predicati. | +| Ottima per transazioni tra utenti arbitrari (non c'è sovraccarico per coppia di utenti se entrambi sono sulla catena plasma). | Necessità di monitorare la rete periodicamente (requisito di liveness) o delegare la responsabilità a qualcun altro per garantire la sicurezza dei fondi. | +| | Fa affidamento ad uno o più operatori per archiviare i dati e fornirli su richiesta. | +| | I prelievi sono ritardati di diversi giorni per consentire eventuali contestazioni. Per gli attivi fungibili, questo aspetto può essere mitigato da fornitori di liquidità, ma è sempre presente un costo di capitale. | ### Usare Plasma {#use-plasma} diff --git a/src/content/translations/it/developers/docs/scaling/sidechains/index.md b/src/content/translations/it/developers/docs/scaling/sidechains/index.md index 55db50b50e2..7cfbb2587d2 100644 --- a/src/content/translations/it/developers/docs/scaling/sidechains/index.md +++ b/src/content/translations/it/developers/docs/scaling/sidechains/index.md @@ -27,8 +27,8 @@ Dovresti avere una buona comprensione di tutti gli argomenti fondamentali ed una Diversi progetti forniscono implementazioni di sidechain che puoi integrare nelle tue dApp: +- [Polygon PoS](https://polygon.technology/solutions/polygon-pos) - [Skale](https://skale.network/) -- [POA Network](https://www.poa.network/) - [Gnosis Chain (in precedenza xDai)](https://www.xdaichain.com/) ## Letture consigliate {#further-reading} diff --git a/src/content/translations/it/developers/docs/scaling/validium/index.md b/src/content/translations/it/developers/docs/scaling/validium/index.md index 29a33bc38f6..400022a2ac4 100644 --- a/src/content/translations/it/developers/docs/scaling/validium/index.md +++ b/src/content/translations/it/developers/docs/scaling/validium/index.md @@ -7,7 +7,7 @@ incomplete: true sidebarDepth: 3 --- -Usa prove di validità come [i rollup ZK](/developers/docs/scaling/layer-2-rollups#zk-rollups) ma i dati non sono archiviati sul livello 1 della catena di Ethereum. Ciò può tradursi in 10.000 transazioni al secondo per catena validium, con la possibilità di eseguire più catene in parallelo. +Usa prove di validità come [i rollup ZK](/developers/docs/scaling/zk-rollups/) ma i dati non sono archiviati sul livello 1 della catena di Ethereum. Ciò può tradursi in 10.000 transazioni al secondo per catena validium, con la possibilità di eseguire più catene in parallelo. ## Prerequisiti {#prerequisites} @@ -28,7 +28,6 @@ Diversi progetti forniscono implementazioni di Validium che puoi integrare nelle - [Starkware](https://starkware.co/) - [Matter Labs zkPorter](https://matter-labs.io/) -- [Loopring](https://loopring.org/#/) ## Letture consigliate {#further-reading} diff --git a/src/content/translations/it/developers/docs/scaling/zk-rollups/index.md b/src/content/translations/it/developers/docs/scaling/zk-rollups/index.md new file mode 100644 index 00000000000..dddcc03ad8f --- /dev/null +++ b/src/content/translations/it/developers/docs/scaling/zk-rollups/index.md @@ -0,0 +1,48 @@ +--- +title: Rollup a conoscenza zero (zero-knowledge) +description: Introduzione ai rollup a conoscenza zero +lang: it +sidebar: true +--- + +## Prerequisiti {#prerequisites} + +Occorre avere una buona comprensione di tutti gli argomenti fondamentali ed una conoscenza approfondita della [scalabilità di Ethereum](/developers/docs/scaling/). L'implementazione di soluzioni di scalabilità, come i rollup, è un argomento avanzato in quanto la tecnologia è meno testata sul campo e continua ad essere oggetto di ricerca e sviluppo. + +Stai cercando una risorsa più adatta ai principianti? Consulta la nostra [introduzione al livello 2](/layer-2/). + +## Rollup a conoscenza zero (zero-knowledge) {#zk-rollups} + +I **rollup a conoscenza zero (rollup ZK)** inglobano (o "avvolgono") centinaia di trasferimenti al di fuori della catena e generano una prova crittografica. Queste prove possono essere sotto forma di SNARK (argomenti di conoscenza succinti non interattivi) o STARK (argomenti di conoscenza trasparenti e scalabili). SNARK e STARK sono noti come prove di validità e sono pubblicati al livello 1. + +Il contratto intelligente del rollup ZK mantiene lo stato di tutti i trasferimenti sul livello 2 e, questo stato, è aggiornabile solo con una prova di validità. Questo significa che i rollup ZK necessitano solo della prova di validità invece di tutti i dati della transazione. Con un rollup ZK, convalidare un blocco è più rapido ed economico perché sono inclusi meno dati. + +Con un rollup ZK, non ci sono ritardi spostando i fondi dal livello 2 all'1, poiché una prova di validità accettata dal contratto del rollup ZK ha già verificato i fondi. + +Essendo sul livello 2, i rollup ZK sono ottimizzabili per ridurre ulteriormente le dimensioni della transazione. Ad esempio, un account è rappresentato da un indice anziché da un indirizzo, riducendo la transazione da 32 byte a soli 4 byte. Le transazioni sono scritte in Ethereum anche come `calldata`, riducendo il gas. + +### Pro e contro {#zk-pros-and-cons} + +| Pro | Contro | +| -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| Tempo di finalizzazione più veloce, poiché lo stato è verificato istantaneamente una volta che le prove sono inviate alla catena principale. | Alcuni non sono supportati dall'EVM. | +| Non vulnerabile agli attacchi economici a cui i [rollup ottimistici](#optimistic-pros-and-cons) possono essere esposti. | Le prove di validità sono difficili da calcolare, non ne vale la pena per applicazioni con poca attività sulla catena. | +| Sicuro e decentralizzato, dal momento che i dati necessari per recuperare lo stato sono sulla catena del livello 1. | Un operatore può influenzare l'ordine della transazione | + +### Una spiegazione grafica dei rollup ZK {#zk-video} + +Guarda Finematics spiegare i rollup ZK: + + + +### Utilizzo dei rollup ZK {#use-zk-rollups} + +Esistono molteplici implementazioni dei rollup ZK che puoi integrare nelle tue dapp: + + + +**Lettura dei rollup ZK** + +- [Cosa sono i rollup a conoscenza zero?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups) +- [EthHub sui rollup ZK](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/) +- \[STARK vs SNARK\] (https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/) diff --git a/src/content/translations/it/developers/docs/standards/index.md b/src/content/translations/it/developers/docs/standards/index.md index ce9a146b9a9..0ce81627375 100644 --- a/src/content/translations/it/developers/docs/standards/index.md +++ b/src/content/translations/it/developers/docs/standards/index.md @@ -14,7 +14,7 @@ Normalmente, gli standard vengono introdotti come [proposte di miglioramento di - [Introduzione alle EIP](/eips/) - [Elenco delle EIP](https://eips.ethereum.org/) -- [Repository Github delle EIP](https://github.com/ethereum/EIPs) +- [Repo di GitHub delle EIP](https://github.com/ethereum/EIPs) - [Forum di discussione per le EIP](https://ethereum-magicians.org/c/eips) - [Introduzione alla Governance di Ethereum](/governance/) - [Ethereum Governance Overview](https://web.archive.org/web/20201107234050/https://blog.bmannconsulting.com/ethereum-governance/) _March 31, 2019 - Boris Mann_ diff --git a/src/content/translations/it/developers/docs/standards/tokens/erc-1155/index.md b/src/content/translations/it/developers/docs/standards/tokens/erc-1155/index.md index db7d775a302..c7e92e00f33 100644 --- a/src/content/translations/it/developers/docs/standards/tokens/erc-1155/index.md +++ b/src/content/translations/it/developers/docs/standards/tokens/erc-1155/index.md @@ -1,5 +1,5 @@ --- -title: ERC-1155 Standard Multi-Token +title: Standard Multi-Token ERC-1155 description: lang: it sidebar: true @@ -144,3 +144,4 @@ _Nota_: tutte le funzioni batch compreso l'hook esistono anche come versioni sen - [EIP-1155 Standard Multi-Token](https://eips.ethereum.org/EIPS/eip-1155) - [ERC-1155: Openzeppelin Docs](https://docs.openzeppelin.com/contracts/3.x/erc1155) - [ERC-1155: Github Repo](https://github.com/enjin/erc-1155) +- [API di Alchemy NFT](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api) diff --git a/src/content/translations/it/developers/docs/standards/tokens/erc-721/index.md b/src/content/translations/it/developers/docs/standards/tokens/erc-721/index.md index 9d0a3eb163d..347a730a1ff 100644 --- a/src/content/translations/it/developers/docs/standards/tokens/erc-721/index.md +++ b/src/content/translations/it/developers/docs/standards/tokens/erc-721/index.md @@ -241,3 +241,4 @@ recent_births = [get_event_data(w3.codec, ck_extra_events_abi[1], log)["args"] f - [EIP-721: ERC-721 Non-Fungible Token Standard](https://eips.ethereum.org/EIPS/eip-721) - [OpenZeppelin - ERC-721 Docs](https://docs.openzeppelin.com/contracts/3.x/erc721) - [OpenZeppelin - ERC-721 Implementation](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol) +- [API di Alchemy NFT](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api) From f841dbfa42547822b1fc010504ed73b1e8fd99f9 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 12 May 2022 17:30:58 -0700 Subject: [PATCH 134/167] tr Advanced docs import latest from Crowdin --- .../tr/developers/docs/mev/index.md | 130 +++++ .../tr/developers/docs/oracles/index.md | 444 ++++++++++++++++++ .../tr/developers/docs/scaling/index.md | 113 +++++ .../docs/scaling/optimistic-rollups/index.md | 59 +++ .../developers/docs/scaling/plasma/index.md | 39 ++ .../docs/scaling/sidechains/index.md | 39 ++ .../docs/scaling/state-channels/index.md | 76 +++ .../developers/docs/scaling/validium/index.md | 36 ++ .../docs/scaling/zk-rollups/index.md | 48 ++ .../tr/developers/docs/standards/index.md | 41 ++ .../docs/standards/tokens/erc-1155/index.md | 147 ++++++ .../docs/standards/tokens/erc-20/index.md | 149 ++++++ .../docs/standards/tokens/erc-721/index.md | 244 ++++++++++ .../docs/standards/tokens/erc-777/index.md | 42 ++ .../developers/docs/standards/tokens/index.md | 36 ++ 15 files changed, 1643 insertions(+) create mode 100644 src/content/translations/tr/developers/docs/mev/index.md create mode 100644 src/content/translations/tr/developers/docs/oracles/index.md create mode 100644 src/content/translations/tr/developers/docs/scaling/index.md create mode 100644 src/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md create mode 100644 src/content/translations/tr/developers/docs/scaling/plasma/index.md create mode 100644 src/content/translations/tr/developers/docs/scaling/sidechains/index.md create mode 100644 src/content/translations/tr/developers/docs/scaling/state-channels/index.md create mode 100644 src/content/translations/tr/developers/docs/scaling/validium/index.md create mode 100644 src/content/translations/tr/developers/docs/scaling/zk-rollups/index.md create mode 100644 src/content/translations/tr/developers/docs/standards/index.md create mode 100644 src/content/translations/tr/developers/docs/standards/tokens/erc-1155/index.md create mode 100644 src/content/translations/tr/developers/docs/standards/tokens/erc-20/index.md create mode 100644 src/content/translations/tr/developers/docs/standards/tokens/erc-721/index.md create mode 100644 src/content/translations/tr/developers/docs/standards/tokens/erc-777/index.md create mode 100644 src/content/translations/tr/developers/docs/standards/tokens/index.md diff --git a/src/content/translations/tr/developers/docs/mev/index.md b/src/content/translations/tr/developers/docs/mev/index.md new file mode 100644 index 00000000000..bab88ef36ac --- /dev/null +++ b/src/content/translations/tr/developers/docs/mev/index.md @@ -0,0 +1,130 @@ +--- +title: Maksimal çıkarılabilir değer (MEV) +description: Maksimal çıkarılabilir değere (MEV) giriş +lang: tr +sidebar: true +--- + +Maksimal çıkarılabilir değer (MEV), bir bloktaki işlemlerin sırasını dahil ederek, hariç tutarak ve değiştirerek standart blok ödülü ve gaz ücretlerini aşan blok üretiminden elde edilebilecek maksimum değeri ifade eder. + +### Madenci çıkarılabilirlik değeri + +Bu kavram ilk olarak [iş ispatı](/developers/docs/consensus-mechanisms/pow/) bağlamında uygulandı ve başlangıçta "Madenci çıkarılabilirlik değeri" olarak adlandırıldı. Bunun sebebi, iş ispatında madencilerin katılım, çıkarım ve sıralamayı kontrol etmesidir. Ancak, [Birleştirme](/upgrades/merge) aracılığıyla hisse ispatına geçişten sonra bu rollerden doğrulayıcılar sorumlu olacak ve madencilik artık geçerli olmayacak. Buradaki değer çıkarma yöntemleri, bu geçişten sonra da devam edeceği için bir isim değişikliğine ihtiyaç duyuldu. Süreklilik için aynı kısaltmayı korurken aynı temel anlamı korumak için "maksimal çıkarılabilir değer" artık daha kapsayıcı bir ikame olarak kullanılmaktadır. + +## Ön Koşullar {#prerequisites} + +[İşlemler](/developers/docs/transactions/), [bloklar](/developers/docs/blocks/), [gaz](/developers/docs/gas/) ve [madencilik](/developers/docs/consensus-mechanisms/pow/mining/) hakkında bilgi sahibi olduğunuzdan emin olun. [Dapp'ler](/dapps/) ve [DeFi](/defi/) ile aşina olmak da yardımcı olabilir. + +## MEV çıkarma {#mev-extraction} + +Teoride MEV, madenciler kârlı bir MEV fırsatının yürütülmesini garanti edebilecek tek taraf oldukları için tamamen madencilere tahakkuk eder (en azından mevcut iş ispatı zincirinde böyle, bu durum [Birleştirme](/upgrades/merge/)'den sonra değişecektir). Ancak pratikte, MEV'in büyük bir kısmı "arayıcılar" olarak bilinen bağımsız ağ katılımcıları tarafından çıkarılır. Arayıcılar kârlı MEV fırsatlarını tespit etmek için blok zinciri verisi üzerinde karmaşık algoritmalar çalıştırırlar ve botların otomatik olarak bu karlı işlemleri ağa göndermesini sağlarlar. + +Madenciler tüm MEV miktarının bir kısmını her şekilde alırlar çünkü arayıcılar kârlı işlemlerinin bir bloğa katılımının yüksek ihtimali karşılığında yüksek gaz ücretleri (madencilere giden) ödemeye razılardır. Arayıcıların ekonomik olarak rasyonel olduklarını varsayarsak, bir arayıcının ödemeye razı olduğu gaz ücreti, arayıcının MEV'sinin %100'üne kadar bir miktar olacaktır (çünkü gaz ücreti daha yüksek olsaydı, arayıcı para kaybederdi). + +Bununla birlikte, [DEX arbitrajı](#mev-examples-dex-arbitrage) gibi oldukça rekabetçi MEV fırsatları için, arayıcıların toplam MEV gelirlerinin %90'ını veya daha fazlasını madenciye gaz ücretleri olarak ödemek zorundadır, çünkü pek çok insan aynı kârlı arbitraj ticareti yapmak istiyor. Bunun nedeni, arbitraj işlemlerinin devam etmesini garanti etmenin tek yolunun, işlemi en yüksek gaz fiyatıyla sunmak olmasıdır. + +### Gaz golfü {#mev-extraction-gas-golfing} + +Bu dinamik, "gaz golfü"nde iyi olmayı, yani işlemleri en az miktarda gaz kullanacak şekilde programlamayı bir rekabet avantajı hâline getirdi, çünkü bu, arayıcıların toplam gaz ücretlerini sabit tutarken daha yüksek bir gaz fiyatı belirlemesine olanak tanır (gaz ücretleri = gaz fiyatı \* kullanılan gaz). + +Birkaç iyi bilinen gazlı golf tekniği: daha az depolama alanı (ve böylece gaz) harcadıkları için uzun bir sıfır dizisiyle başlayan adresler kullanmak (ör. [0x000000000C521824EaFf97Eac7B73B084ef9306](https://etherscan.io/address/0x0000000000c521824eaff97eac7b73b084ef9306)); bir depolama yuvası başlatmak (bakiye 0 olduğunda gerçekleşen durum), bir depolama yuvasını güncellemekten daha fazla gaza mal olduğu için sözleşmelerde ufak bir [ERC-20](/developers/docs/standards/tokens/erc-20/) token bakiyesi bırakmak. Gaz kullanımını azaltmak için daha fazla teknik bulmak, arayıcılar arasında aktif bir araştırma alanıdır. + +### Genelleştirilmiş öncüler (frontrunner) {#mev-extraction-generalized-frontrunners} + +Kârlı MEV fırsatlarını tespit etmek için karmaşık algoritmalar programlamaktansa, bazı arayıcılar genelleştirilmiş öncüler kullanırlar. Genelleştirilmiş öncüler, bellek havuzunu kârlı işlemleri tespit etmek için izleyen botlardır. Öncü, kâr potansiyeli olan işlemin kodunu kopyalar, adresleri öncü adresiyle değiştirir ve değiştirilmiş işlemin öncü adresine kâr olarak döndüğünü iki kez kontrol etmek için işlemi yerel olarak çalıştırır. İşlem gerçekten kârlıysa öncü, değiştirilmiş işlemi değiştirilmiş adresle ve daha yüksek bir gaz ücretiyle gönderecektir, yani orijinal işleme "öncülük" yapacak ve orijinal arayıcının MEV'ini alacaktır. + +### Flashbotlar {#mev-extraction-flashbots} + +Flashbotlar, go-ethereum istemcisini, arama yapanların MEV işlemlerini genel bellek havuzuna açıklamadan madencilere göndermelerine olanak tanıyan bir hizmetle genişleten bağımsız bir projedir. Bu, işlemlere genelleştirilmiş öncüler tarafından öncülük edilmesini önler. + +Bu yazım itibariyle, MEV işlemlerinin önemli bir kısmı Flashbotlar aracılığıyla yönlendirildiği için genelleştirilmiş öncüler eskisi kadar etkili değil. + +## MEV örnekleri {#mev-examples} + +MEV, blok zincirinde birkaç şekilde ortaya çıkar. + +### DEX arbitrajı {#mev-examples-dex-arbitrage} + +[Merkeziyetsiz borsa](/glossary/#dex) (DEX) arbitraj yapılması en basit ve yaygın MEV fırsatıdır. Bunun sonucu olarak ayrıca en rekabetçi olandır. + +Şu şekilde çalışır: İki DEX bir token'ı iki farklı fiyattan sunuyorsa, biri token'ı düşük fiyatlı DEX'te satın alabilir ve tek bir atomik işlemde daha yüksek fiyatlı DEX'te satabilir. Blok zinciri mekanikleri sayesinde, bu gerçek ve risksiz bir arbitraj sağlar. + +[Burada](https://etherscan.io/tx/0x5e1657ef0e9be9bc72efefe59a2528d0d730d478cfc9e6cdd09af9f997bb3ef4) bir araştırmacının Uniswap ve Sushiswap'ta ETH/DAI çiftinin farklı fiyatlandırmasından yararlanarak 1.000 ETH'yi 1.045 ETH'ye çevirdiği kârlı bir arbitraj işlemi örneği verilmiştir. + +### Likidasyon {#mev-examples-liquidations} + +Borç protokolü likidasyonları başka bir yaygın MEV fırsatını sunar. + +Maker ve Aave gibi borç protokolleri, kullanıcıların bir tür teminat (örneğin ETH) yatırmasını gerektirerek çalışır. Kullanıcılar daha sonra ihtiyaç duydukları şeye bağlı olarak yatırılan teminatlarının belirli bir miktarı kadar, örneğin %30 (tam borçlanma gücü yüzdesi protokol tarafından belirlenir), diğerlerinden farklı varlıklar ve token'lar ödünç alabilirler (örneğin, bir MakerDAO yönetişim teklifine oy vermek isterlerse MKR; Sushiswap'ta işlem ücretlerinin bir kısmını kazanmak istiyorlarsa SUSHI ödünç alabilirler). Bu durumda diğer token'ları borç aldıkları kullanıcılar, borç veren görevi görürler. + +Bir borçlunun teminatı dalgalandıkça, borç alma gücü de azalır. Piyasa dalgalanmaları nedeniyle ödünç alınan varlıkların değeri, teminatlarının değerinin %30'unu aşarsa (yine, kesin yüzde protokol tarafından belirlenir), protokol tipik olarak herkesin teminatı likide etmesine izin vererek borç verenlere anında ödeme yapmasına izin verir (bu, geleneksel finanstaki [teminat çağrılarının](https://www.investopedia.com/terms/m/margincall.asp) işleyişine benzer). Likide edilirse, borçlu genellikle bir kısmı likide eden kişiye giden yüksek bir likidasyon ücreti ödemek zorundadır: MEV fırsatı bu noktada devreye girer. + +Arayıcılar, hangi borçluların likide edilebileceğini belirlemek ve bir likidasyon işlemi gönderen ve likidasyon ücretini kendileri için toplayan ilk kişi olmak için blok zinciri verilerini mümkün olduğunca hızlı bir şekilde ayrıştırmak için rekabet eder. + +### Sandviç ticareti {#mev-examples-sandwich-trading} + +Sandviç ticareti, başka bir yaygın MEV çıkarma yöntemidir. + +Arayıcı, sandviçlemek için bellek havuzunda büyük DEX ticaretleri arar. Örneğin, birinin Uniswap üzerinde DAI ile 10.000 UNI satın almak istediğini varsayalım. Bu büyüklükteki bir ticaret, UNI/DAI çifti üzerinde anlamlı bir etkiye sahip olacak ve DAI'ye göre UNI'nin fiyatını potansiyel olarak önemli ölçüde artıracaktır. + +Bir arayıcı, bu büyük ticaretin UNI/DAI çifti üzerindeki yaklaşık fiyat etkisini hesaplayabilir ve büyük ticaretten hemen _önce_ bir optimal satın alma emri yürüterek UNI'yi ucuza satın alabilir, ardından büyük ticaretten hemen _sonra_ bir satış emri yürüterek, büyük emirin neden olduğu daha yüksek fiyata satar. + +Ancak sandviçleme, atomik olmadığı için daha risklidir (yukarıda açıklandığı gibi DEX arbitrajının aksine) ve bir [salmonella saldırısına](https://github.com/Defi-Cartel/salmonella) açıktır. + +### NFT MEV {#mev-examples-nfts} + +MEV, NFT dünyası içinde yükselen bir fenomendir ve muhakkak kârlı olmayabilir. + +Bununla birlikte NFT işlemleri, diğer tüm Ethereum işlemleri tarafından paylaşılan aynı blok zincirinde gerçekleştiğinden, arayıcılar NFT pazarındaki geleneksel MEV fırsatlarında kullanılanlara benzer teknikleri de kullanabilirler. + +Örneğin, popüler bir NFT yayınlanacaksa ve bir arayıcı belirli bir NFT veya NFT seti istiyorsa, NFT'yi satın almak için ilk sırada olacak şekilde bir işlemi programlayabilir veya NFT setinin tamamını tek seferde tek işlemde satın alabilir. Veya bir NFT [hatayla düşük bir fiyata listelenirse](https://www.theblockcrypto.com/post/113546/mistake-sees-69000-cryptopunk-sold-for-less-than-a-cent), bir arayıcı diğer alıcıların önüne geçebilir ve onu ucuza kapabilir. + +Önde gelen bir NFT MEV örneği, bir arayıcı her bir Cryptopunk'u taban fiyatta [satın almak](https://etherscan.io/address/0x650dCdEB6ecF05aE3CAF30A70966E2F395d5E9E5) için 7 milyon $ harcadığında gerçekleşti. Bir blok zinciri araştırmacısı, [Twitter'da](https://twitter.com/IvanBogatyy/status/1422232184493121538) alıcının satın alım işlemini gizlemek için bir MEV sağlayıcısıyla nasıl çalıştığını açıkladı. + +### Uzun kuyruk {#mev-examples-long-tail} + +DEX arbitrajı, likidasyonlar ve sandviç ticareti çok iyi bilinen MEV fırsatlarıdır ve yeni arayıcılar için kârlı olmaları pek olası değildir. Bununla birlikte, daha az bilinen MEV fırsatlarından oluşan uzun bir kuyruk bulunur (NFT MEV'in böyle bir fırsat olduğu söylenebilir). + +Yeni başlayan arayıcılar, bu uzun kuyrukta MEV'i arayarak daha fazla başarıya erişebilirler. Flashbotların [MEV iş ilanları](https://github.com/flashbots/mev-job-board), bazı yükselen fırsatları listeler. + +## MEV'in etkileri {#effects-of-mev} + +MEV tamamen kötü değildir: Ethereum üzerinde MEV'in iyi ve kötü sonuçları bulunmaktadır. + +### İyi {#effects-of-mev-the-good} + +Birçok DeFi projesi, protokollerinin kullanışlılığını ve istikrarını sağlamak için ekonomik olarak rasyonel aktörlere güvenir. Örneğin DEX arbitrajı, kullanıcıların token'ları için en iyi, en doğru fiyatları almalarını sağlar ve borç verme protokolleri, borç verenlere ödeme yapılmasını sağlamak için borç alanlar teminatlandırma oranlarının altına düştüğünde hızlı likidasyonlara dayanır. + +Ekonomik verimsizlikleri araştıran ve düzelten ve protokollerin ekonomik teşviklerinden yararlanan rasyonel arayıcılar olmadan, DeFi protokolleri ve genel olarak dapp'ler bugün olduğu kadar sağlam olmayabilirdi. + +### Kötü {#effects-of-mev-the-bad} + +Uygulama katmanında, sandviç ticareti gibi bazı MEV biçimleri kullanıcılar için kesinlikle daha kötü bir deneyime neden olur. Sandviçlenen kullanıcılar yüksek düşüş ve ticaretlerinde daha kötü yürütme ile karşı karşıya kalırlar. + +Ağ katmanında, genelleştirilmiş öncüler ve sıklıkla katıldıkları gaz fiyatı açık artırmaları (iki veya daha fazla öncü, kendi işlemlerinin gaz fiyatını aşamalı olarak yükselterek işlemlerini bir sonraki bloğa dahil etmek için rekabet ettiğinde) normal işlemler yapmaya çalışan herkes için ağ tıkanıklığına ve yüksek gaz fiyatı maliyetine neden olur. + +Bloklar _içinde_ gerçekleşenlerin ötesinde MEV, bloklar _arası_ zararlı etkilere sahip olabilir. Bir blokta bulunan MEV, standart blok ödülünü önemli ölçüde aşarsa, madenciler blokları yeniden işlemeye ve MEV'yi kendi adlarına yakalamaya teşvik edilebilir, bu da blok zincirinin yeniden düzenlenmesine ve mutabakat kararsızlığına neden olabilir. + +Blok zincirinin yeniden düzenlenmesine yönelik bu ihtimal [geçmişte Bitcoin blok zincirinde incelenmiştir](https://dl.acm.org/doi/10.1145/2976749.2978408). Bitcoin'in blok ödülü yarıları ve işlem ücretleri, blok ödülünün gitgide daha büyük bir bölümünü oluşturduğundan madencilerin bir sonraki bloğun ödülünden vazgeçmesinin ve bunun yerine geçmiş blokları daha yüksek ücretlerle yeniden kazmasının ekonomik olarak rasyonel hâle geldiği durumlar ortaya çıkıyor. MEV'nin büyümesiyle Ethereum'da benzer bir durum meydana gelebilir ve blok zincirinin bütünlüğü tehlikeye girebilir. + +## MEV'nin Durumu {#state-of-mev} + +MEV çıkarımı 2021'in başlarında balonlanarak yılın ilk birkaç ayında son derece yüksek gaz fiyatlarına neden oldu. Flashbotların MEV rölesinin ortaya çıkması, genelleştirilmiş öncülerin etkinliğini azalttı ve gaz fiyatı açık artırmalarını zincirden çıkararak sıradan kullanıcılar için gaz fiyatlarını düşürdü. + +Birçok arayıcı MEV'den hâlâ iyi para kazanırken, fırsatlar bilinir hâle geldikçe ve daha fazla arayıcı aynı fırsat için rekabet ettikçe, madenciler giderek daha fazla toplam MEV geliri elde edecekler (çünkü başlangıçta yukarıda açıklanan türde gaz ihaleleri özel olarak da olsa Flashbotlarda da meydana gelir ve madenciler ortaya çıkan gaz gelirini yakalarlar). MEV ayrıca Ethereum'a özgü değildir ve fırsatlar Ethereum'da daha rekabetçi hâle geldikçe arayıcılar, Ethereum'dakilere benzer MEV fırsatlarının daha az rekabetle mevcut olduğu Binance Smart Chain gibi alternatif blok zincirlerine yöneliyorlar. + +DeFi büyüdükçe ve popülaritesi arttıkça, MEV yakında temel Ethereum blok ödülünden önemli ölçüde daha ağır basabilir. Bu, beraberinde artan bir bencil blok kazma ve mutabakat istikrarsızlığı olasılığı geliyor. Bazıları bunun Ethereum için varoluşsal bir tehdit olduğunu düşünüyor ve bencil madencilikten caydırma, Ethereum protokol teorisinde aktif bir araştırma alanı hâlindedir. Şu anda keşfedilen bir çözüm, [MEV ödülü yumuşatmadır](https://ethresear.ch/t/committee-driven-mev-smoothing/10408). + +## İlgili kaynaklar {#related-resources} + +- [Flashbotlar GitHub](https://github.com/flashbots/pm) +- [MEV-Explore](https://explore.flashbots.net/) _MEV işlemleri için gösterge paneli ve canlı işlem gezgini_ + +## Daha fazla bilgi {#further-reading} + +- [Madenci Çıkarılabilirlik Değeri (MEV) nedir?](https://blog.chain.link/what-is-miner-extractable-value-mev/) +- [MEV ve Ben](https://research.paradigm.xyz/MEV) +- [Ethereum Karanlık bir Ormandır](https://www.paradigm.xyz/2020/08/ethereum-is-a-dark-forest/) +- [Karanlık Ormandan Kaçış](https://samczsun.com/escaping-the-dark-forest/) +- [Flashbotlar: MEV Krizine Öncülük Etmek](https://medium.com/flashbots/frontrunning-the-mev-crisis-40629a613752) +- [@bertcmiller'ın MEV Yazıları](https://twitter.com/bertcmiller/status/1402665992422047747) diff --git a/src/content/translations/tr/developers/docs/oracles/index.md b/src/content/translations/tr/developers/docs/oracles/index.md new file mode 100644 index 00000000000..ab7cccfc857 --- /dev/null +++ b/src/content/translations/tr/developers/docs/oracles/index.md @@ -0,0 +1,444 @@ +--- +title: Oracles +description: Kâhinler (Oracle), gerçek dünya verilerini Ethereum uygulamanıza almanıza yardımcı olur çünkü akıllı sözleşmeler gerçek dünya verilerini kendi başlarına sorgulayamaz. +lang: tr +sidebar: true +incomplete: true +--- + +Kâhinler, akıllı sözleşmelerinizdeki verileri sorgulayabilmeniz için Ethereum'u zincir dışı ve gerçek dünya bilgilerine bağlayan veri akışlarıdır. Örneğin, tahmin piyasası uygulamaları, olaylara dayalı olarak ödemeleri tamamlamak için kâhinleri kullanır. Bir tahmin piyasası, Amerika Birleşik Devletleri'nin bir sonraki başkanına ETH'nize bahse girmenizi isteyebilir. Sonucu onaylamak ve kazananlara ödeme yapmak için bir kâhin kullanırlar. + +## Ön koşullar {#prerequisites} + +[Düğümlere](/developers/docs/nodes-and-clients/), [mutabakat mekanizmalarına](/developers/docs/consensus-mechanisms/) ve özellikle olaylar olmak üzere [akıllı sözleşme anatomisine](/developers/docs/smart-contracts/anatomy/) aşina olduğunuzdan emin olun. + +## Kâhin nedir {#what-is-an-oracle} + +Kâhin, blok zinciri ile gerçek dünya arasında bir köprüdür. Akıllı sözleşmelerinize bilgi almak için sorgulayabileceğiniz zincir üstü API görevi görürler. Bu, fiyat bilgisinden hava durumu raporlarına kadar her şey olabilir. Kâhinler, verileri gerçek dünyaya "göndermek" için iki yönlü olarak da kullanılabilir. + +Patrick'in Kâhinler hakkındaki açıklamasını izleyin: + + + +## Bunlar neden gereklidir? {#why-are-they-needed} + +Ethereum gibi bir blok zinciri ile her işlemi tekrar yapmak ve aynı sonucu garanti etmek için ağdaki her düğüme ihtiyacınız vardır. API'ler potansiyel olarak değişken veriler sunar. Bir fiyat API'si kullanarak kabul edilmiş bir $USD değerine dayalı olarak ETH gönderiyorsanız, sorgu bir günden diğerine farklı bir sonuç döndürür. Ayrıca API hack'lenebilir veya kullanımdan kaldırılabilir. Bu olursa, ağdaki düğümler Ethereum'un mevcut durumu üzerinde anlaşamaz ve [mutabakatı](/developers/docs/consensus-mechanisms/) etkin bir şekilde bozar. + +Kâhinler, bu sorunu verileri blok zincirine göndererek çözer. Bu nedenle, işlemi yeniden yürüten herhangi bir düğüm, herkesin görmesi için gönderilen aynı değişmez verileri kullanacaktır. Bunu yapmak için, bir kâhin tipik olarak bir akıllı sözleşmeden ve API'leri sorgulayabilen ve ardından akıllı sözleşmenin verilerini güncellemek için periyodik olarak işlemler gönderebilen bazı zincir dışı bileşenlerden oluşur. + +### Kâhin sorunu {#oracle-problem} + +Bahsettiğimiz gibi, Ethereum işlemleri zincir dışı verilere doğrudan erişemez. Aynı zamanda, veri sağlamak için tek bir gerçek kaynağına güvenmek güvenli değildir ve akıllı bir sözleşmenin merkeziyetsizliğini geçersiz kılar. Bu, kâhin problemi olarak bilinir. + +Birden çok veri kaynağından veri alan merkeziyetsiz bir kâhin kullanarak Kâhin probleminden kaçınabiliriz; bir veri kaynağı saldırıya uğrarsa veya başarısız olursa, akıllı sözleşme amaçlandığı gibi çalışmaya devam eder. + +### Güvenlik {#security} + +Bir kâhin, yalnızca kendi veri kaynakları kadar güvenlidir. Bir dapp, ETH/DAI fiyat beslemesi için bir kâhin olarak Uniswap'i kullanırsa bir saldırgan, dapp'in mevcut fiyat anlayışını manipüle etmek için Uniswap'teki fiyatı hareket ettirebilir. Bununla nasıl mücadele edileceğine dair bir örnek, MakerDAO tarafından kullanılan, sadece tek bir kaynağa güvenmek yerine birçok harici fiyat beslemelerinden fiyat verilerini toplayan [bir besleme sistemidir](https://developer.makerdao.com/feeds/). + +### Mimari {#architecture} + +Bu, basit bir Kâhin mimarisinin bir örneğidir, ancak zincir dışı hesaplamayı tetiklemek için bundan daha fazla yol vardır. + +1. [Akıllı sözleşme olayınızla](/developers/docs/smart-contracts/anatomy/#events-and-logs) bir kayıt yayınlayın +2. Zincir dışı bir hizmet (genellikle JSON-RPC `eth_subscribe` komutu gibi bir şey kullanarak) bu belirli günlüklere abone olmuştur. +3. Zincir dışı hizmet, kayıtlarda tanımlanan bazı görevleri yerine getirmeye devam eder. +4. Zincir dışı hizmet, akıllı sözleşmeye ikincil bir işlemde istenen verilerle yanıt verir. + +Verileri 1'e 1 şeklinde böyle alabilirsiniz ancak güvenliği artırmak için zincir dışı verileri toplama şeklinizi merkeziyetsizleştirmek isteyebilirsiniz. + +Bir sonraki adım, farklı API'lere ve kaynaklara bu çağrıları yapan ve zincirdeki verileri toplayan bu düğümlerden oluşan bir ağa sahip olmak olabilir. + +[Chainlink Zincir Dışı Raporlaması](https://blog.chain.link/off-chain-reporting-live-on-mainnet/) (Chainlink OCR), zincir dışı kâhin ağının birbirleriyle iletişim kurması, yanıtlarını kriptografik olarak imzalaması, yanıtlarını zincir dışı olarak toplaması ve sonuçta zincir üstünde yalnızca bir işlem göndermesi ile bu metodolojiyi geliştirdi. Bu şekilde daha az gaz harcanmasının yanı sıra her düğüm, işlemin kendi bölümünü imzaladığı ve işlemi gönderen düğüm tarafından değiştirilemez hâle getirdiği için merkeziyetsiz veri garantisine sahip olursunuz. Düğüm işlem yapmazsa yükseltme politikası devreye girer ve sonraki düğüm işlemi gönderir. + +## Kullanım {#usage} + +Chainlink gibi hizmetleri kullanarak, halihazırda gerçek dünyadan alınmış ve bir araya getirilmiş zincir üzerindeki merkeziyetsiz verileri referans verebilirsiniz. Merkeziyetsiz veriler için bir tür ortak ortak alan gibidir. Aradığınız herhangi bir özelleştirilmiş veriyi elde etmek için kendi modüler kâhin ağlarınızı da oluşturabilirsiniz. Ek olarak, zincir dışı hesaplama yapabilir ve gerçek dünyaya da bilgi gönderebilirsiniz. Chainlink şunları yapabilmeniz için altyapılara sahiptir: + +- [Sözleşmenizde kripto fiyat bilgileri alın](https://chain.link/solutions/defi) +- [Doğrulanabilir rastgele sayılar oluşturun (oyunlar için kullanışlıdır)](https://chain.link/solutions/chainlink-vrf) +- [Harici API'leri çağırma](https://docs.chain.link/docs/request-and-receive-data) - Bunun yeni bir kullanımı, [ wBTC rezervlerini kontrol etmektir](https://cointelegraph.com/news/1b-in-wrapped-bitcoin-now-being-audited-using-chainlink-s-proof-of-reserve) + +Bir Chainlink fiyat beslemesi kullanarak akıllı sözleşmenizde en son ETH fiyatını nasıl alacağınıza dair bir örnek: + +### Chainlink Bilgi Beslemeleri {#chainlink-data-feeds} + +```solidity +pragma solidity ^0.6.7; + +import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol"; + +contract PriceConsumerV3 { + + AggregatorV3Interface internal priceFeed; + + /** + * Network: Kovan + * Aggregator: ETH/USD + * Address: 0x9326BFA02ADD2366b30bacB125260Af641031331 + */ + constructor() public { + priceFeed = AggregatorV3Interface(0x9326BFA02ADD2366b30bacB125260Af641031331); + } + + /** + * Returns the latest price + */ + function getLatestPrice() public view returns (int) { + ( + uint80 roundID, + int price, + uint startedAt, + uint timeStamp, + uint80 answeredInRound + ) = priceFeed.latestRoundData(); + return price; + } +} +``` + +[Bunu, bu bağlantı ile remix'te test edebilirsiniz](https://remix.ethereum.org/#version=soljson-v0.6.7+commit.b8d736ae.js&optimize=false&evmVersion=null&gist=0c5928a00094810d2ba01fd8d1083581) + +[Belgeleri görüntüle](https://docs.chain.link/docs/get-the-latest-price) + +### Chainlink VRF {#chainlink-vrf} + +Chainlink VRF (Doğrulanabilir Rastgele İşlev), akıllı sözleşmeler için tasarlanmış, kanıtlanabilir şekilde adil ve doğrulanabilir bir rastgelelik kaynağıdır. Akıllı sözleşme geliştiricileri, öngörülemeyen sonuçlara dayanan herhangi bir uygulama için güvenilir akıllı sözleşmeler oluşturmak üzere kurcalamaya karşı korumalı rastgele sayı oluşturma (RNG) olarak Chainlink VRF'yi kullanabilir: + +- Blok zinciri oyunları ve NFT'ler +- Görevlerin ve kaynakların rastgele atanması (örneğin yargıçların davalara rastgele atanması) +- Mutabakat mekanizmaları için temsili bir örnek seçme + +Blok zincirleri deterministik olduğu için Rrastgele sayılar zordur. + +Chainlink Kâhinleri ile veri akışlarının dışında çalışmak, Chainlink ile çalışmanın [talep ve alma döngüsünü](https://docs.chain.link/docs/architecture-request-model) takip eder. Yanıtları döndürmek için Kâhin sağlayıcılarına Kâhin gazı göndermek için LINK token'ını kullanırlar. LINK token, özellikle kâhinlerle çalışmak üzere tasarlanmıştır ve [ERC-20](/developers/docs/standards/tokens/erc-20/) ile geriye dönük uyumlu olan yükseltilmiş ERC-677 token'ı temel alır. Aşağıdaki kod, Kovan test ağında dağıtılırsa kriptografik olarak kanıtlanmış bir rastgele sayı alır. Talepte bulunmak için sözleşmeyi, [Kovan LINK Faucet](https://kovan.chain.link/)'ten alabileceğiniz bir test ağı LINK token'ı ile finanse edin. + +```javascript + +pragma solidity 0.6.6; + +import "@chainlink/contracts/src/v0.6/VRFConsumerBase.sol"; + +contract RandomNumberConsumer is VRFConsumerBase { + + bytes32 internal keyHash; + uint256 internal fee; + + uint256 public randomResult; + + /** + * Constructor inherits VRFConsumerBase + * + * Network: Kovan + * Chainlink VRF Coordinator address: 0xdD3782915140c8f3b190B5D67eAc6dc5760C46E9 + * LINK token address: 0xa36085F69e2889c224210F603D836748e7dC0088 + * Key Hash: 0x6c3699283bda56ad74f6b855546325b68d482e983852a7a82979cc4807b641f4 + */ + constructor() + VRFConsumerBase( + 0xdD3782915140c8f3b190B5D67eAc6dc5760C46E9, // VRF Coordinator + 0xa36085F69e2889c224210F603D836748e7dC0088 // LINK Token + ) public + { + keyHash = 0x6c3699283bda56ad74f6b855546325b68d482e983852a7a82979cc4807b641f4; + fee = 0.1 * 10 ** 18; // 0.1 LINK (varies by network) + } + + /** + * Requests randomness from a user-provided seed + */ + function getRandomNumber(uint256 userProvidedSeed) public returns (bytes32 requestId) { + require(LINK.balanceOf(address(this)) >= fee, "Not enough LINK - fill contract with faucet"); + return requestRandomness(keyHash, fee, userProvidedSeed); + } + + /** + * Callback function used by VRF Coordinator + */ + function fulfillRandomness(bytes32 requestId, uint256 randomness) internal override { + randomResult = randomness; + } +} +``` + +### Chainlink Keepers {#chainlink-keepers} + +Akıllı sözleşmeler, keyfi zamanlarda veya keyfi koşullar altında kendi işlevlerini tetikleyemez veya başlatamaz. Durum değişiklikleri, yalnızca başka bir hesap bir işlem (bir kullanıcı, kâhin veya sözleşme gibi) başlattığında gerçekleşir. [Chainlink Keeper Network](https://docs.chain.link/docs/chainlink-keepers/introduction/), düzenli bakım görevlerini güvenle en aza indirilmiş ve merkeziyetsiz bir şekilde dışarıdan temin etmek için akıllı sözleşmeler için seçenekler sunar. + +Chainlink Keepers'ı kullanmak için, bir akıllı sözleşme [KeeperCompatibleInterface](https://docs.chain.link/docs/chainlink-keepers/compatible-contracts/) arayüzünü sağlamalıdır, bu arayüz iki fonksiyondan oluşur: + +- `checkUpkeep` - Sözleşmede iş yapılmasının gerekip gerekmediğini kontrol eder. +- `performUpkeep` - checkUpkeep tarafından emir verilirse işi sözleşme üzerinde gerçekleştirir. + +Aşağıdaki örnek basit bir karşı sözleşmedir. `counter` değişkeni, `performUpkeep` öğesine yapılan her çağrıda birer birer artırılır. [Sıradaki kodu Remix kullanarak deneyebilirsiniz](https://remix.ethereum.org/#url=https://docs.chain.link/samples/Keepers/KeepersCounter.sol) + +```javascript +// SPDX-License-Identifier: MIT +pragma solidity ^0.7.0; + +// KeeperCompatible.sol imports the functions from both ./KeeperBase.sol and +// ./interfaces/KeeperCompatibleInterface.sol +import "@chainlink/contracts/src/v0.7/KeeperCompatible.sol"; + +contract Counter is KeeperCompatibleInterface { + /** + * Public counter variable + */ + uint public counter; + + /** + * Use an interval in seconds and a timestamp to slow execution of Upkeep + */ + uint public immutable interval; + uint public lastTimeStamp; + + constructor(uint updateInterval) { + interval = updateInterval; + lastTimeStamp = block.timestamp; + + counter = 0; + } + + function checkUpkeep(bytes calldata /* checkData */) external override returns (bool upkeepNeeded, bytes memory /* performData */) { + upkeepNeeded = (block.timestamp - lastTimeStamp) > interval; + // We don't use the checkData in this example. CheckData, Upkeep kaydedildiğinde tanımlanır. + } + + function performUpkeep(bytes calldata /* performData */) external override { + lastTimeStamp = block.timestamp; + counter = counter + 1; + // We don't use the performData in this example. PerformData, Keeper'ın checkUpkeep işlevinize yaptığı çağrıyla oluşturulur. + } +} +``` + +Keeper uyumlu bir sözleşmeyi dağıttıktan sonra, sözleşmeyi [Bakım](https://docs.chain.link/docs/chainlink-keepers/register-upkeep/) için kaydettirmeli ve sözleşmeniz hakkında Keeper Network'ü bilgilendirmek amacıyla LINK ile bunu finans etmelisiniz, böylece işiniz sürekli olarak yapılır. + +### Keepers projeleri {#keepers} + +- [Chainlink Keepers](https://keepers.chain.link/) +- [Keep3r Network](https://docs.keep3r.network/) + +### Chainlink API Çağrısı {#chainlink-api-call} + +[Chainlink API Çağrıları](https://docs.chain.link/docs/make-a-http-get-request), web'in geleneksel şekilde çalıştığı şekilde zincir dışı dünyadan veri almanın en kolay yoludur: API çağrıları. Bunun tek bir örneğini yapmak ve tek bir kâhine sahip olmak, bunu doğası gereği merkezileştirir. Bir akıllı sözleşme platformunun, gerçekten merkeziyetsiz şekilde kalmak için bir [harici veri pazarında](https://market.link/) bulunan çok sayıda düğümü kullanması gerekir. + +[Test etmek için aşağıdaki kodu kovan ağında remix'te dağıtın](https://remix.ethereum.org/#version=soljson-v0.6.7+commit.b8d736ae.js&optimize=false&evmVersion=null&gist=8a173a65099261582a652ba18b7d96c1) + +Bu aynı zamanda kâhinlerin talep ve alma döngüsünü de takip eder ve çalışması için Kovan LINK (kâhin gazı) ile finanse edilecek sözleşmeye ihtiyaç duyar. + +```javascript +pragma solidity ^0.6.0; + +import "@chainlink/contracts/src/v0.6/ChainlinkClient.sol"; + +contract APIConsumer is ChainlinkClient { + + uint256 public volume; + + address private oracle; + bytes32 private jobId; + uint256 private fee; + + /** + * Network: Kovan + * Oracle: 0x2f90A6D021db21e1B2A077c5a37B3C7E75D15b7e + * Job ID: 29fa9aa13bf1468788b7cc4a500a45b8 + * Fee: 0.1 LINK + */ + constructor() public { + setPublicChainlinkToken(); + oracle = 0x2f90A6D021db21e1B2A077c5a37B3C7E75D15b7e; + jobId = "29fa9aa13bf1468788b7cc4a500a45b8"; + fee = 0.1 * 10 ** 18; // 0.1 LINK + } + + /** + * Create a Chainlink request to retrieve API response, find the target + * data, then multiply by 1000000000000000000 (to remove decimal places from data). + */ + function requestVolumeData() public returns (bytes32 requestId) + { + Chainlink.Request memory request = buildChainlinkRequest(jobId, address(this), this.fulfill.selector); + + // Set the URL to perform the GET request on + request.add("get", "https://min-api.cryptocompare.com/data/pricemultifull?fsyms=ETH&tsyms=USD"); + + // Set the path to find the desired data in the API response, where the response format is: + // {"RAW": + // {"ETH": + // {"USD": + // { + // "VOLUME24HOUR": xxx.xxx, + // } + // } + // } + // } + request.add("path", "RAW.ETH.USD.VOLUME24HOUR"); + + // Multiply the result by 1000000000000000000 to remove decimals + int timesAmount = 10**18; + request.addInt("times", timesAmount); + + // Sends the request + return sendChainlinkRequestTo(oracle, request, fee); + } + + /** + * Receive the response in the form of uint256 + */ + function fulfill(bytes32 _requestId, uint256 _volume) public recordChainlinkFulfillment(_requestId) + { + volume = _volume; + } +} +``` + +[Chainlink geliştiricileri bloğunu](https://blog.chain.link/tag/developers/) okuyarak Chainlink uygulamaları hakkında daha fazla bilgi edinebilirsiniz. + +## Kâhin hizmetleri {#other-services} + +- [Chainlink](https://chain.link/) +- [Witnet](https://witnet.io/) +- [Provable](https://provable.xyz/) +- [Paralink](https://paralink.network/) +- [Dos.Network](https://dos.network/) + +### Bir Kâhin akıllı sözleşmesi oluşturun {#build-an-oracle-smart-contract} + +İşte Pedro Costa'nın örnek bir kâhin sözleşmesi. [Ethereum'da Blok Zinciri Kâhin Uygulaması](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) makalesinde daha fazla açıklama bulabilirsiniz. + +```solidity +pragma solidity >=0.4.21 <0.6.0; + +contract Oracle { + Request[] requests; //list of requests made to the contract + uint currentId = 0; //increasing request id + uint minQuorum = 2; //minimum number of responses to receive before declaring final result + uint totalOracleCount = 3; // Hardcoded oracle count + + // defines a general api request + struct Request { + uint id; //request id + string urlToQuery; //API url + string attributeToFetch; //json attribute (key) to retrieve in the response + string agreedValue; //value from key + mapping(uint => string) anwers; //answers provided by the oracles + mapping(address => uint) quorum; //oracles which will query the answer (1=oracle hasn't voted, 2=oracle has voted) + } + + //event that triggers oracle outside of the blockchain + event NewRequest ( + uint id, + string urlToQuery, + string attributeToFetch + ); + + //triggered when there's a consensus on the final result + event UpdatedRequest ( + uint id, + string urlToQuery, + string attributeToFetch, + string agreedValue + ); + + function createRequest ( + string memory _urlToQuery, + string memory _attributeToFetch + ) + public + { + uint lenght = requests.push(Request(currentId, _urlToQuery, _attributeToFetch, "")); + Request storage r = requests[lenght-1]; + + // Hardcoded oracles address + r.quorum[address(0x6c2339b46F41a06f09CA0051ddAD54D1e582bA77)] = 1; + r.quorum[address(0xb5346CF224c02186606e5f89EACC21eC25398077)] = 1; + r.quorum[address(0xa2997F1CA363D11a0a35bB1Ac0Ff7849bc13e914)] = 1; + + // launch an event to be detected by oracle outside of blockchain + emit NewRequest ( + currentId, + _urlToQuery, + _attributeToFetch + ); + + // increase request id + currentId++; + } + + //called by the oracle to record its answer + function updateRequest ( + uint _id, + string memory _valueRetrieved + ) public { + + Request storage currRequest = requests[_id]; + + //check if oracle is in the list of trusted oracles + //and if the oracle hasn't voted yet + if(currRequest.quorum[address(msg.sender)] == 1){ + + //marking that this address has voted + currRequest.quorum[msg.sender] = 2; + + //iterate through "array" of answers until a position if free and save the retrieved value + uint tmpI = 0; + bool found = false; + while(!found) { + //find first empty slot + if(bytes(currRequest.anwers[tmpI]).length == 0){ + found = true; + currRequest.anwers[tmpI] = _valueRetrieved; + } + tmpI++; + } + + uint currentQuorum = 0; + + //iterate through oracle list and check if enough oracles(minimum quorum) + //have voted the same answer has the current one + for(uint i = 0; i < totalOracleCount; i++){ + bytes memory a = bytes(currRequest.anwers[i]); + bytes memory b = bytes(_valueRetrieved); + + if(keccak256(a) == keccak256(b)){ + currentQuorum++; + if(currentQuorum >= minQuorum){ + currRequest.agreedValue = _valueRetrieved; + emit UpdatedRequest ( + currRequest.id, + currRequest.urlToQuery, + currRequest.attributeToFetch, + currRequest.agreedValue + ); + } + } + } + } + } +} +``` + +_Bir Kâhin akıllı sözleşmesi oluşturmaya ilişkin daha fazla belgeye sahip olmak istiyoruz. Yardım edebilecekseniz, bir PR oluşturun!_ + +## Daha fazla bilgi {#further-reading} + +**Makaleler** + +- [Bir Blok Zinciri Kâhini nedir?](https://chain.link/education/blockchain-oracles) - _Chainlink_ +- [Kâhinler](https://docs.ethhub.io/built-on-ethereum/oracles/what-are-oracles/) – _EthHub_ +- [Blok Zinciri Kâhini nedir?](https://betterprogramming.pub/what-is-a-blockchain-oracle-f5ccab8dbd72) - _Patrick Collins_ +- [Merkeziyetsiz Kâhinler: kapsamlı bir genel bakış](https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841) – _Julien Thevenard_ +- [Ethereum'da Blok Zinciri Kâhin Uygulaması](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) – _Pedro Costa_ +- [Akıllı sözleşmeler neden API çağrıları yapamıyor?](https://ethereum.stackexchange.com/questions/301/why-cant-contracts-make-api-calls) - _StackExchange_ +- [Neden merkeziyetsiz kâhinlere ihtiyaç duyuyoruz](https://newsletter.banklesshq.com/p/why-we-need-decentralized-oracles) - _Bankless_ +- [Demek bir fiyat kâhini kullanmak istiyorsunuz](https://samczsun.com/so-you-want-to-use-a-price-oracle/) -_samczsun_ + +**Videolar** + +- [Kâhinler ve Blok Zinciri Hizmetlerinin Genişlemesi](https://youtu.be/BVUZpWa8vpw) - _Real Vision Finance_ + +**Öğreticiler** + +- [Solidity'de Mevcut Ethereum Fiyatı Nasıl Alınır](https://blog.chain.link/fetch-current-crypto-price-data-solidity/) - _Chainlink_ diff --git a/src/content/translations/tr/developers/docs/scaling/index.md b/src/content/translations/tr/developers/docs/scaling/index.md new file mode 100644 index 00000000000..866766471d8 --- /dev/null +++ b/src/content/translations/tr/developers/docs/scaling/index.md @@ -0,0 +1,113 @@ +--- +title: Ölçeklendirme +description: Ethereum topluluğu tarafından geliştirilmekte olan farklı ölçekleme seçeneklerine giriş. +lang: tr +sidebar: true +sidebarDepth: 3 +--- + +## Ölçeklendirmeye genel bakış {#scaling-overview} + +Ethereum kullanan kişi sayısı arttıkça blok zinciri belirli kapasite sınırlamalarına ulaştı. Bu durum, ağı kullanma maliyetini artırarak "ölçeklendirme çözümlerine" yönelik bir ihtiyaç doğurdu. Benzer hedeflere ulaşmak için farklı yaklaşımlar benimseyen, araştırılan, test edilen ve uygulanan çok sayıda çözüm vardır. + +Ölçeklenebilirliğin ana hedefi, merkeziyetsizlikten veya güvenlikten ödün vermeden işlem hızını (daha hızlı kesinlik) ve işlem verimini (saniye başına yüksek işlem) artırmaktır ([Ethereum'un vizyonu](/upgrades/vision/) hakkında daha fazla bilgi). Katman 1 Ethereum blok zincirinde yüksek talep, daha yavaş işlemlere ve elverişsiz [gaz fiyatlarına](/developers/docs/gas/) yol açar. Ethereum'un anlamlı ve toplu olarak benimsenmesi için ağ kapasitesini hız ve verim açısından artırmak çok önemlidir. + +Hız ve verim önemli olsa da, bu hedefleri mümkün kılan ölçeklendirme çözümlerinin merkeziyetsiz ve güvenli kalması çok önemlidir. Düğüm operatörleri için giriş engelini düşük tutmak, merkezi ve güvenli olmayan bilgi işlem gücüne doğru ilerlemeyi önlemede kritik önem arz eder. + +Kavramsal olarak, ölçeklendirmeyi ilk olarak zincir üstünde veya zincir dışında ölçeklendirme olarak sınıflandırıyoruz. + +## Ön Koşullar {#prerequisites} + +Tüm temel konuları kapsamlı olarak anlamanız gerekmektedir. Bu teknoloji henüz pek kullanılmadığı için ve araştırılmaya ve geliştirilmeye devam edildiğinden, ölçeklendirme çözümlerinin uygulanması ileri seviye bilgi gerektirir. + +## Zincir üstünde ölçeklendirme {#on-chain-scaling} + +Bu ölçeklendirme yöntemi, Ethereum protokolünde değişiklik yapılmasını gerektirir (katman 1 [Mainnet](/glossary/#mainnet)). Parçalama, şu anda bu ölçeklendirme yönteminin ana odak noktasıdır. + +### Parçalama {#sharding} + +Parçalama, yükü yaymak için bir veri tabanını yatay olarak bölme işlemidir. Ethereum bağlamında parçalama, "parça" olarak bilinen yeni zincirler oluşturarak ağ tıkanıklığını azaltır ve saniye başına işlem kapasitesini artırır. Bu, aynı zamanda doğrulayıcıların ağdaki işlemlerin tamamını işleme zorunluluğunu ortadan kaldırarak tüm doğrulayıcıların yükünü azaltır. + +[Parçalama](/upgrades/shard-chains/) hakkında daha fazla bilgi. + +## Zincir dışında ölçeklendirme {#off-chain-scaling} + +Zincir dışı çözümler, katman 1 Mainnet'ten ayrı olarak uygulanır: Mevcut Ethereum protokolünde herhangi bir değişiklik gerektirmezler. "Katman 2" çözümleri olarak bilinen bazı çözümler, güvenliklerini doğrudan [iyimser toplamalar](/developers/docs/scaling/optimistic-rollups/), [sıfır bilgi toplamaları](/developers/docs/scaling/zk-rollups/) veya [durum kanalları](/developers/docs/scaling/state-channels/) gibi katman 1 Ethereum mutabakatından alır. Diğer çözümler, [yan zincirler](#sidechains) veya [plazma zincirleri](#plasma) gibi, güvenliklerini Mainnet'ten ayrı olarak türeten çeşitli biçimlerde yeni zincirlerin oluşturulmasını içerir. Bu çözümler Mainnet ile iletişim kurar, ancak çeşitli hedeflere ulaşmak için güvenliklerini farklı şekilde elde eder. + +### Katman 2 ölçeklendirme {#layer-2-scaling} + +Bu zincir dışı çözümler kategorisi, güvenliğini Mainnet Ethereum'dan alır. + +Katman 2, Mainnet'in sağlam merkeziyetsiz güvenlik modelinden yararlanırken, Ethereum Mainnet'ten (katman 1) işlemleri yöneterek uygulamanızı ölçeklendirmeye yardımcı olmak için tasarlanmış çözümler için kullanılan toplu bir terimdir. Ağ meşgulken işlem hızı düşer ve belirli türdeki dapp'ler için kullanıcı deneyimi olumsuz etkilenir. Ve ağ yoğunluğu arttıkça işlem yapmak isteyenler birbirlerinden daha fazla işlem ücreti sunarak işlem ücretlerinin artmasına neden olurlar. Bu, Ethereum'u kullanmayı çok pahalı hâle getirebilir. + +Katman 2 çözümlerinin çoğu düğüm, doğrulayıcı, operatör, sıralayıcı veya blok üreticileri gibi sunucu veya sunucu kümeleri etrafında toplanır. Uygulamaya bağlı olarak, bu katman 2 düğümleri, onları kullanan kişiler, işletmeler veya kuruluşlar veya bir 3. taraf operatör veya büyük bir grup kişi tarafından (Mainnet'e benzer şekilde) çalıştırılabilir. Genel olarak konuşursak, işlemler doğrudan katman 1'e (Mainnet) gönderilmek yerine bu katman 2 düğümlerine gönderilir. Bazı çözümlerde, katman 2 örneği daha sonra bu işlemleri katman 1'e bağlamadan önce gruplara ayırır, ardından bu işlemler katman 1 tarafından sabitlenir ve değiştirilemez. Bu sürece ilişkin ayrıntılar, farklı katman 2 teknolojileri ve uygulamaları arasında önemli ölçüde farklılık gösterir. + +Belirli bir katman 2 örneği açık olabilir ve birçok uygulama tarafından paylaşılabilir veya bir proje tarafından kullanılarak yalnızca uygulamalarını desteklemeye adanmış olabilir. + +#### Katman 2 neden gerekli? {#why-is-layer-2-needed} + +- Saniye başına artan işlem, kullanıcı deneyimini büyük ölçüde iyileştirir ve Mainnet Ethereum'daki ağ tıkanıklığını azaltır. +- İşlemler, Mainnet Ethereum'da tek bir işlemde toplanır ve Ethereum'u tüm dünyadaki insanlar için daha kapsayıcı ve erişilebilir hâle getiren kullanıcılar için gaz ücretlerini azaltır. +- Ölçeklendirme ile ilgili hiçbir gelişme güvenlik veya merkeziyetsizlikten taviz vermemelidir: Katman 2 çözümleri Ethereum'u olduğu hâliyle geliştirir. +- Ölçekli varlıklarla çalışırken kendi verimlilik setlerini kullanan uygulamaya özel katman 2 ağları bulunuyor. + +#### Toplamalar {#rollups} + +Toplamalar, işlem yürütmesini katman 1 dışında gerçekleştirir ve ardından veriler, mutabakata varılan katman 1'e gönderilir. İşlem verileri katman 1 bloklarına dahil edildiğinden bu, toplamaların yerel Ethereum güvenliği ile güvence altına alınmasına izin verir. + +Farklı güvenlik modellerine sahip iki tür toplama vardır: + +- **İyimser toplamalar**: İşlemlerin varsayılan olarak geçerli olduğunu varsayar ve yalnızca bir meydan okuma ile karşılaşıldığında [**dolandırıcılık kanıtı**](/glossary/#fraud-proof) aracılığıyla hesaplama çalıştırır. [İyimser toplamalar üzerine daha fazla bilgi](/developers/docs/scaling/optimistic-rollups/). +- **Sıfır bilgi toplamaları**: Zincir dışı hesaplamalar çalıştırır ve zincire bir [**doğruluk ispatı**](/glossary/#validity-proof) gönderir. [Sıfır bilgi toplamaları üzerine daha fazla bilgi](/developers/docs/scaling/zk-rollups/). + +#### Durum kanalları {#channels} + +Durum kanalları, katılımcıların zincir dışında hızlı ve özgürce işlem yapmalarını sağlamak için çoklu imza sözleşmelerini kullanır ve ardından Mainnet ile kesinliği kararlaştırır. Bu, ağ tıkanıklığını, ücretleri ve gecikmeleri en aza indirger. Şu andaki durum kanalları ve ödeme kanalları olarak iki tür kanal bulunur. + +[Durum kanalları](/developers/docs/scaling/state-channels/) hakkında daha fazla bilgi. + +### Yan zincirler {#sidechains} + +Bir yan zincir, Mainnet'e paralel olarak çalışan bağımsız bir Ethereum Sanal Makinesi uyumlu blok zinciridir. Bunlar, iki yönlü köprüler aracılığıyla Ethereum ile uyumludur ve kendi seçtikleri mutabakat kuralları ve blok parametreleri altında çalışırlar. + +[Yan zincirler](/developers/docs/scaling/sidechains/) hakkında daha fazla bilgi. + +### Plazma {#plasma} + +Plazma zinciri, ana Ethereum zincirine bağlı olan ve anlaşmazlıkları tahkim etmek için dolandırıcılık kanıtlarını ([iyimser toplamalar](/developers/docs/scaling/optimistic-rollups/) gibi) kullanan ayrı bir blok zinciridir. + +[Plazma](/developers/docs/scaling/plasma/) hakkında daha fazla bilgi. + +### Validium {#validium} + +Bir Validium zinciri, sıfır bilgi toplamaları gibi doğruluk ispatlarını kullanır, ancak veriler ana katman 1 Ethereum zincirinde depolanmaz. Bu, her bir Validium zinciri başına saniyede 10 bin işlem yapılabilmesini ve birden çok zincirle birlikte paralel olarak çalışabilmesine olanak sağlar. + +[Validium](/developers/docs/scaling/validium/) hakkında daha fazla bilgi. + +## Neden bu kadar çok ölçeklendirme çözümüne ihtiyaç var? {#why-do-we-need-these} + +- Birden çok çözüm, ağın herhangi bir bölümündeki genel tıkanıklığı azaltmaya yardımcı olabilir ve ayrıca tek hata noktalarını da önler. +- Bütün, parçalarının toplamından daha büyüktür. Farklı çözümler var olabilir ve uyum içinde çalışabilir, bu da gelecekteki işlem hızı ve verimi üzerinde üstel bir etkiye izin verir. +- Tüm çözümler, Ethereum mutabakat algoritmasının doğrudan kullanılmasını gerektirmez ve alternatifler, aksi takdirde elde edilmesi zor olacak faydalar sunabilir. +- [Ethereum vizyonunu](/upgrades/vision/) gerçekleştirmek için tek bir ölçeklendirme çözümü yeterli değildir. + +## Görsel olarak öğrenmeyi mi tercih ediyorsunuz? {#visual-learner} + + + +_Videodaki açıklamanın "Katman 2" terimini tüm zincir dışı ölçeklendirme çözümlerini ifade etmek için kullandığına dikkat edin: Biz "Katman 2"yi, güvenliğini katman 1 Mainnet mutabakatından alan zincir dışı bir çözüm olarak ayırıyoruz._ + + + +## Daha fazla bilgi {#further-reading} + +- [Toplama merkezli bir Ethereum yol haritası](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) _Vitalik Buterin_ +- [Ethereum için Katman 2 ölçeklendirme çözümlerinde güncel analitikler](https://www.l2beat.com/) +- [Ethereum katman 2 Ölçeklendirme Çözümlerini Değerlendirme: Bir Karşılaştırma Çerçevesi](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955) +- [Toplamalar için Tamamlanmamış Bir Kılavuz](https://vitalik.ca/general/2021/01/05/rollup.html) +- [Ethereum destekli ZK-Toplamaları: Dünya Liderleri](https://hackmd.io/@canti/rkUT0BD8K) +- [İyimser Toplamalar ile ZK Toplamalarının Karşılaştırması](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/) +- [Sıfır Bilgi Blok Zinciri Ölçeklendirilebilirliği](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf) +- [Toplamalar + veri parçalarının, yüksek ölçeklenebilirlik için tek sürdürülebilir çözüm olma nedeni](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48) + +_Size yardımcı olan bir topluluk kaynağı mı biliyorsunuz? Bu sayfayı düzenleyin ve onu ekleyin!_ diff --git a/src/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md new file mode 100644 index 00000000000..5fba9595b6c --- /dev/null +++ b/src/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md @@ -0,0 +1,59 @@ +--- +title: İyimser Toplamalar +description: İyimser toplamalara giriş +lang: tr +sidebar: true +--- + +## Ön Koşullar {#prerequisites} + +Tüm temel konuları iyi anlamalı ve [Ethereum ölçeklendirme](/developers/docs/scaling/) konusunda üst düzey bir bilgiye sahip olmalısınız. Toplamalar gibi ölçeklendirme çözümlerini yürürlüğe koymak teknoloji az test edildiği, araştırıldığı ve geliştirildiği için ileri seviye bir konudur. + +Yeni başlayanlar için daha uygun bir kaynak mı arıyorsunuz? [Katman 2'ye giriş](/layer-2/) makalemize bakın. + +## İyimser toplamalar {#optimistic-rollups} + +İyimser toplamalar, katman 2'deki ana Ethereum zincirine paralel bir zeminde bulunur. Varsayılan olarak herhangi bir hesaplama yapmadıkları için ölçeklenebilirlikte iyileştirmeler sunabilirler. Bunun yerine bir işlemden sonra, yeni durumu Mainnet'e önerir veya işlemi "notere" tasdik ettirir. + +İyimser toplamalarla, işlemler ana Ethereum zincirine `calldata` olarak yazılır ve gaz maliyetini azaltarak daha da optimize edilir. + +Hesaplama, Ethereum kullanmanın yavaş ve pahalı kısmı olduğundan İyimser toplamalar, işleme bağlı olarak ölçeklenebilirlikte 10-100 kata kadar iyileştirme sunabilir. [Parça zincirlerin](/upgrades/shard-chains) kullanıma sunulmasıyla bu sayı daha da artacak çünkü bir işleme itiraz edildiğinde daha fazla veri mevcut olacak. + +### İşlemlere itiraz etme {#disputing-transactions} + +İyimser toplamalar işlemi hesaplamaz, bu nedenle işlemlerin meşru ve hileli olmadığından emin olmak için bir mekanizma olması gerekir. Dolandırıcılık kanıtları da bu noktada devreye girer. Birisi hileli bir işlem fark ederse toplama, bir dolandırıcılık kanıtı yürütür ve mevcut durum verilerini kullanarak işlemin hesaplamasını çalıştırır. Bu, işlem sorgulanabileceğinden, işlem onayı için bir ZK-toplamasından daha uzun bekleme sürelerine sahip olabileceğiniz anlamına gelir. + +![Ethereum'daki iyimser bir toplamada hileli bir işlem gerçekleştiğinde ne olduğunu gösteren diyagram](./optimistic-rollups.png) + +Dolandırıcılık kanıtı hesaplamasını yapmak için ihtiyacınız olan gaz bile geri ödenir. Optimism'den Ben Jones, mevcut bağlama sistemini şöyle anlatıyor: + +_Fonlarınızı güvence altına almak için sahtekârlık yaptığınızı kanıtlamanız gereken bir eylemde bulunabilecek herhangi biri, bir bono göndermenizi ister. Basitçe açıklamak gererkise biraz ETH alıp kitlersiniz ve "Hey, doğruyu söyleyeceğime söz veriyorum" dersiniz... Doğruyu söylemezsem ve sahtekârlık kanıtlanırsa bu para kesilecektir. Bu paranın bir kısmı kesilmekle kalmıyor, bir kısmı da insanların sahtekârlığı kanıtlamak için harcadıkları gazın bedelini öder_" + +Böylece teşvikleri görebilirsiniz: katılımcılar dolandırıcılık yaptıkları için cezalandırılırlar ve sahtekârlığı kanıtladıkları için geri ödeme alırlar. + +### Artıları ve eksileri {#optimistic-pros-and-cons} + +| Artıları | Eksileri | +| ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| Ethereum katman 1'de yapabileceğiniz her şeyi, EVM ve Solidity uyumlu olduğu için İyimser toplamalarla yapabilirsiniz. | Potansiyel dolandırıcılık meydan okumaları nedeniyle zincir üstü işlemler için uzun bekleme süreleri. | +| Tüm işlem verileri, katman 1 zincirinde depolanır, bu da güvenli ve merkeziyetsiz olduğu anlamına gelir. | Bir operatör, işlem sırasını etkileyebilir. | + +### İyimser toplamaların görsel açıklaması {#optimistic-video} + +Finematics'in iyimser toplamalar açıklamasını izleyin: + + + +### İyimser toplamaları kullanın {#use-optimistic-rollups} + +Dapp'lerinize entegre edebileceğiniz birden çok İyimser toplama uygulaması mevcuttur: + + + +**İyimser toplamalar hakkında bilgi** + +- [İyimser Toplama hakkında bilmeniz gereken her şey](https://research.paradigm.xyz/rollups) +- [EthHub'un iyimser toplamalar hakkındaki içerikleri](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/optimistic_rollups/) +- [Temel Arbitrum Rehberi](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) +- [Optimism'in Toplaması aslında nasıl çalışıyor?](https://research.paradigm.xyz/optimism) +- [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) diff --git a/src/content/translations/tr/developers/docs/scaling/plasma/index.md b/src/content/translations/tr/developers/docs/scaling/plasma/index.md new file mode 100644 index 00000000000..64c7edec358 --- /dev/null +++ b/src/content/translations/tr/developers/docs/scaling/plasma/index.md @@ -0,0 +1,39 @@ +--- +title: Plazma zincirleri +description: Şu anda Ethereum topluluğu tarafından kullanılan bir ölçeklendirme çözümü olarak plazma zincirlerine giriş. +lang: tr +sidebar: true +incomplete: true +sidebarDepth: 3 +--- + +Plazma zinciri, ana Ethereum zincirine bağlı olan ve anlaşmazlıkları tahkim etmek için dolandırıcılık kanıtlarını ([iyimser toplamalar](/developers/docs/scaling/optimistic-rollups/) gibi) kullanan ayrı bir blok zinciridir. Bu zincirler, esasen Ethereum Mainnet'in daha küçük kopyaları oldukları için bazen "alt" zincirler olarak adlandırılır. Merkle ağaçları, üst zincirlerdeki bant genişliği yükünü (Mainnet dâhil) boşaltmak için çalışabilen bu zincirlerin, sınırsız bir yığınının oluşturulmasını sağlar. Bunlar, güvenliklerini [dolandırıcılık kanıtları](/glossary/#fraud-proof) yoluyla sağlar ve her alt zincirin blok doğrulama için kendi mekanizması vardır. + +## Ön koşullar {#prerequisites} + +Temeli oluşturan tüm konuları iyi anlamalı ve [Ethereum ölçeklendirilmesi](/developers/docs/scaling/) konusunda ileri düzeyde bilgiye sahip olmalısınız. Plazma gibi ölçeklendirme çözümlerini uygulamak, teknoloji henüz pek kullanılmadığı için ve araştırılmaya ve geliştirilmeye devam edildiğinden ileri seviye bilgi gerektirir. + +## Artıları ve eksileri {#pros-and-cons} + +| Artıları | Eksileri | +| -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Yüksek verim, işlem başına düşük maliyet. | Genel hesaplamayı desteklemez. Yüklem mantığı aracılığıyla yalnızca temel token aktarımları, takaslar ve diğer birkaç işlem türü desteklenir. | +| Rastgele kullanıcılar arasındaki işlemler için iyi (her ikisi de plazma zincirinde kuruluysa, kullanıcı çifti başına ek yük bulunmaz). | Fonlarınızın güvenliğini sağlamak için ağı periyodik olarak izlemeniz (canlılık gereksinimi) veya bu sorumluluğu başka birine devretme ihtiyacı. | +| | Verileri depolamak ve talep üzerine sunmak için bir veya daha fazla operatöre ihtiyaç duyar. | +| | Zorluklara izin vermek için para çekme işlemleri birkaç gün ertelenir. Değiştirilebilir varlıklar için bu, likidite sağlayıcıları tarafından hafifletilebilir, ancak bununla ilişkili bir sermaye maliyeti vardır. | + +### Plazma kullanın {#use-plasma} + +Birden çok proje, dapp'lerinize entegre edebileceğiniz Plazma uygulamaları sağlar: + +- [OMG Network](https://omg.network/) +- [Polygon](https://polygon.technology/) (eskiden Matic Network) +- [Gluon](https://gluon.network/) +- [LeapDAO](https://ipfs.leapdao.org/) + +## Daha fazla bilgi {#further-reading} + +- [EthHub'un Plazma hakkındaki içerikleri](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/plasma/) +- [Plazmayı öğrenin](https://www.learnplasma.org/en/) + +_Size yardımcı olan bir topluluk kaynağı mı biliyorsunuz? Bu sayfayı düzenleyin ve onu ekleyin!_ diff --git a/src/content/translations/tr/developers/docs/scaling/sidechains/index.md b/src/content/translations/tr/developers/docs/scaling/sidechains/index.md new file mode 100644 index 00000000000..f813a8eb5ef --- /dev/null +++ b/src/content/translations/tr/developers/docs/scaling/sidechains/index.md @@ -0,0 +1,39 @@ +--- +title: Yan zincirler +description: Şu anda Ethereum topluluğu tarafından kullanılan bir ölçeklendirme çözümü olarak yan zincirlere giriş. +lang: tr +sidebar: true +incomplete: true +sidebarDepth: 3 +--- + +Yan zincir, Ethereum Mainnet'e paralel olarak çalışan ve bağımsız olarak çalışan ayrı bir blok zinciridir. Kendi [mutabakat algoritmasına](/developers/docs/consensus-mechanisms/) sahiptir (örn. [yetki ispatı](https://wikipedia.org/wiki/Proof_of_authority), [Delege edilmiş stake ispatı](https://en.bitcoinwiki.org/wiki/DPoS), [Bizans hata toleransı](https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained)). Mainnet'e iki yönlü bir köprü ile bağlanır. + +Yan zincirlere dair özellikle heyecan verici olan şey, [EVM](/developers/docs/evm/)'yi temel aldığı için zincirin ana Ethereum zinciriyle aynı şekilde çalışmasıdır. Ethereum kullanmaz, bizzat Ethereum'dur. Bu, [dapp](/developers/docs/dapps/)'inizi bir yan zincirde kullanmak istiyorsanız, yalnızca kodunuzu bu yan zincire dağıtmanız gerektiği anlamına gelir. Tıpkı Mainnet gibi görünür, hissettirir ve hareket eder: Solidity'de sözleşmeler yazarsınız ve Web3 API aracılığıyla zincirle etkileşime girersiniz. + +## Ön Koşullar {#prerequisites} + +Temeli oluşturan tüm konuları iyi anlamalı ve [Ethereum ölçeklendirilmesi](/developers/docs/scaling/) konusunda ileri düzeyde bilgiye sahip olmalısınız. + +## Artıları ve eksileri {#pros-and-cons} + +| Artıları | Eksileri | +| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| Yaygın olarak kullanılan teknoloji. | Daha az merkeziyetsiz. | +| Genel hesaplamayı, EVM uyumluluğunu destekler. | Ayrı bir mutabakat mekanizması kullanır. Katman 1 tarafından korunmaz (yani teknik olarak katman 2 değildir). | +| | Yan zincir doğrulayıcılarının çoğunluğu dolandırıcılık yapabilir. | + +### Yan zincirler kullanın {#use-sidechains} + +Birden çok proje, dapp'lerinize entegre edebileceğiniz yan zincirlerin uygulamalarını sağlar: + +- [Polygon PoS](https://polygon.technology/solutions/polygon-pos) +- [Skale](https://skale.network/) +- [Gnosis Chain (eskiden xDai)](https://www.xdaichain.com/) + +## Daha fazla bilgi {#further-reading} + +- [EthHub'un yan zincirler hakkındaki içerikleri](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/sidechains/) +- [Ethereum Dapp'lerinin Yan Zincirler Üzerinden Ölçeklendirilmesi](https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447) _8 Şubat 2018 - Georgios Konstantopoulos_ + +_Size yardımcı olan bir topluluk kaynağı mı biliyorsunuz? Bu sayfayı düzenleyin ve onu ekleyin!_ diff --git a/src/content/translations/tr/developers/docs/scaling/state-channels/index.md b/src/content/translations/tr/developers/docs/scaling/state-channels/index.md new file mode 100644 index 00000000000..bae6ccb80cd --- /dev/null +++ b/src/content/translations/tr/developers/docs/scaling/state-channels/index.md @@ -0,0 +1,76 @@ +--- +title: Durum Kanalları +description: Şu anda Ethereum topluluğu tarafından kullanılan bir ölçeklendirme çözümü olarak durum kanallarına ve ödeme kanallarına giriş. +lang: tr +sidebar: true +incomplete: true +sidebarDepth: 3 +--- + +Durum kanalları, katılımcıların Ethereum ağına yalnızca iki zincir üstü işlem gönderirken zincir dışı `x` sayıda işlem yapmasına izin verir. Bu, son derece yüksek işlem hacmine izin verir. + +## Ön Koşullar {#prerequisites} + +Tüm temel konuları iyi anlamalı ve [Ethereum ölçeklendirme](/developers/docs/scaling/) konusunda üst düzey bir anlayışa sahip olmalısınız. Kanallar gibi ölçeklendirme çözümlerini uygulamak, teknoloji henüz pek kullanılmadığı için ve araştırılmaya ve geliştirilmeye devam edildiğinden ileri seviye bilgi gerektirir. + +## Kanallar {#channels} + +Katılımcılar, Ethereum'un durumunun bir kısmını, bir ETH yatırma işlemi gibi, çok imzalı bir sözleşmeye kilitlemelidir. Çoklu imza sözleşmesi, yürütülmesi için birden çok özel anahtarın imzasını (ve dolayısıyla anlaşmasını) gerektiren bir sözleşme türüdür. + +Durumu bu şekilde kilitlemek ilk işlemdir ve kanalı açar. Katılımcılar daha sonra zincir dışı hızlı ve özgürce işlem yapabilirler. Etkileşim bittiğinde, durumun kilidini açan son bir zincir üstü işlem gönderilir. + +**Şunlar için kullanışlıdır**: + +- birçok durum güncellemesi +- katılımcı sayısı önceden bilindiğinde +- katılımcılar her zaman müsait olduğunda + +Şu anda iki tür kanal var: durum kanalları ve ödeme kanalları. + +## Durum kanalları {#state-channels} + +Durum kanalı en iyi şekilde "tic tac toe" oyunu gibi bir örnekle açıklanabilir: + +1. Ethereum ana zincirinde "tic-tac-toe" kurallarını anlayan ve Alice ile Bob'u oyunumuzdaki iki oyuncu olarak tanımlayabilen çok imzalı bir akıllı sözleşme "Judge"ı oluşturun. Bu sözleşme, 1ETH ödülüne sahiptir. + +2. Ardından Alice ve Bob, oyunu oynamaya başlayarak durum kanalını açarlar. Her hareket, bir "nonce" içeren zincir dışı bir işlem oluşturur; bu, hareketlerin hangi sırayla gerçekleştiğini daha sonra her zaman anlayabileceğimiz anlamına gelir. + +3. Bir kazanan olduğunda, yalnızca tek bir işlem ücreti ödeyerek nihai durumu (örneğin bir işlem listesi) Judge sözleşmesine göndererek kanalı kapatırlar. Judge, bu "nihai durumun" her iki tarafça da imzalanmasını sağlar ve kimsenin sonuca meşru bir şekilde itiraz edememesini sağlamak için bir süre bekler ve ardından 1ETH ödülünü Alice'e öder. + +## Ödeme kanalları {#payment-channels} + +Yalnızca ödemelerle ilgilenen basitleştirilmiş durum kanalları (ör. ETH transferleri). Transferlerinin net toplamı yatırılan token'ları aşmadığı sürece, iki katılımcı arasında zincir dışı transferlere izin verirler. + +## Artıları ve eksileri {#channels-pros-and-cons} + +| Artıları | Eksileri | +| ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Mainnet'te anında para çekme/kararlaştırma (bir kanaldaki her iki taraf da iş birliği yaparsa) | Bir kanalı kurmak ve kapatmak için gereken zaman ve maliyet: Rastgele kullanıcılar arasında ara sıra yapılan tek seferlik işlemler için pek uygun değil. | +| Son derece yüksek verim mümkündür | Fonlarınızın güvenliğini sağlamak için ağı periyodik olarak izlemeniz (canlılık gereksinimi) veya bu sorumluluğu başka birine devretme ihtiyacı. | +| İşlem başına en düşük maliyet: Mikro ödeme akışı için iyi | Açık ödeme kanallarında fonları kilitlemek zorunlu | +| | Açık katılım desteklenmiyor | + +## Durum kanallarını kullanın {#use-state-channels} + +Birden çok proje, dapp'lerinize entegre edebileceğiniz durum kanallarının uygulamalarını sağlar: + +- [Connext](https://connext.network/) +- [Kchannels](https://www.kchannels.io/) +- [Perun](https://perun.network/) +- [Raiden](https://raiden.network/) +- [Statechannels.org](https://statechannels.org/) + +## Daha fazla bilgi {#further-reading} + +**Durum kanalları** + +- [EthHub'un durum kanalları hakkındaki içerikleri](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/state-channels/) +- [Ethereum'un Katman 2 Ölçeklendirme Çözümlerini Anlama: Durum Kanalları, Plazma ve Truebit](https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4) _– Josh Stark, 12 Şubat 2018_ +- [Durum Kanalları - bir açıklama](https://www.jeffcoleman.ca/state-channels/) _6 Kasım 2015 - Jeff Coleman_ +- [Durum Kanallarının Temelleri](https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/) _District0x_ + +**Ödeme kanalları** + +- [EthHub'un ödeme kanalları hakkındaki içerikleri](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/payment-channels/) + +_Size yardımcı olan bir topluluk kaynağı mı biliyorsunuz? Bu sayfayı düzenleyin ve onu ekleyin!_ diff --git a/src/content/translations/tr/developers/docs/scaling/validium/index.md b/src/content/translations/tr/developers/docs/scaling/validium/index.md new file mode 100644 index 00000000000..3c83af8cc3f --- /dev/null +++ b/src/content/translations/tr/developers/docs/scaling/validium/index.md @@ -0,0 +1,36 @@ +--- +title: Validium +description: Şu anda Ethereum topluluğu tarafından kullanılan bir ölçeklendirme çözümü olarak Validium'a giriş. +lang: tr +sidebar: true +incomplete: true +sidebarDepth: 3 +--- + +[ZK-rolluplar](/developers/docs/scaling/zk-rollups/) gibi doğruluk ispatlarını kullanırlar fakat veri, Ethereum katman 1 zincirinde depolanmaz. Bu, her bir validium zinciri başına saniyede 10 bin işlem yapılabilmesini ve birden çok zincirle birlikte paralel olarak çalışabilmesine olanak sağlar. + +## Ön Koşullar {#prerequisites} + +Temeli oluşturan tüm konuları iyi anlamalı ve [Ethereum ölçeklendirilmesi](/developers/docs/scaling/) konusunda ileri düzeyde bilgiye sahip olmalısınız. Validium gibi ölçeklendirme çözümlerini yürürlüğe koymak teknoloji az test edildiği, araştırıldığı ve geliştirildiği için ileri seviye bir konudur. + +## Artıları ve Eksileri {#pros-and-cons} + +| Artıları | Eksileri | +| --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Para çekme gecikmesi yok (zincir/zincirler arası işlem gecikmesi yok); sonuç olarak daha fazla sermaye verimliliği sunar. | Genel hesaplama/akıllı sözleşmeler için sınırlı destek sunarlar; özelleşmiş diller gerekir. | +| Yüksek değere sahip uygulamalarda kullanılan, dolandırıcılık kanıtı bazlı sistemler gibi belirli ekonomik saldırılara karşı savunmasız değillerdir. | ZK kanıtları oluşturmak için gereken yüksek hesaplama gücü; düşük verimli uygulamalar için uygun maliyetli değildir. | +| | Daha yavaş öznel kesinlik süresi (bir ZK kanıtı oluşturmak için 10-30 dakika) (ancak anlaşmazlık süresi gecikmesi olmadığı için tam kesinliğe daha hızlı ulaşır). | +| | Bir kanıt oluşturmak, zincir dışı verilerin her zaman erişilebilir olmasını gerektirir. | + +### Validium'u kullanın {#use-validium} + +Birçok proje, dapp'lerinize entegre edebileceğiniz Validium uygulamalarını sağlar: + +- [Starkware](https://starkware.co/) +- [Matter Labs zkPorter](https://matter-labs.io/) + +## Daha fazla bilgi {#further-reading} + +- [Validium ve Katman 2 Yan Yana — Issue No. 99](https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two) + +_Size yardımcı olan bir topluluk kaynağı mı biliyorsunuz? Bu sayfayı düzenleyin ve onu ekleyin!_ diff --git a/src/content/translations/tr/developers/docs/scaling/zk-rollups/index.md b/src/content/translations/tr/developers/docs/scaling/zk-rollups/index.md new file mode 100644 index 00000000000..945333b78bc --- /dev/null +++ b/src/content/translations/tr/developers/docs/scaling/zk-rollups/index.md @@ -0,0 +1,48 @@ +--- +title: Sıfır-Bilgi Toplamaları +description: Sıfır bilgi toplamalarına giriş +lang: tr +sidebar: true +--- + +## Ön Koşullar {#prerequisites} + +Tüm temel konuları iyi anlamalı ve [Ethereum ölçeklendirme](/developers/docs/scaling/) konusunda üst düzey bir bilgiye sahip olmalısınız. Toplamalar gibi ölçeklendirme çözümlerini yürürlüğe koymak teknoloji az test edildiği, araştırıldığı ve geliştirildiği için ileri seviye bir konudur. + +Yeni başlayanlar için daha uygun bir kaynak mı arıyorsunuz? [Katman 2'ye giriş](/layer-2/) makalemize bakın. + +## Sıfır-bilgi toplamalar {#zk-rollups} + +**Sıfır-bilgi ispatı ile çalışan "toplamalar" (ZK-toplamaları)**, yüzlerce işlemi zincir dışında birleştirir (veya "toplar") ve kriptografik ispat oluşturur. Bu ispatlar, SNARK'lar (öz ve interaktif olmayan bilgi argümanı) veya STARK'lar (ölçeklenebilir şeffaf bilgi argümanı) şeklinde olabilir. SNARK'lar ve STARK'lar, doğruluk ispatları olarak bilinir ve katman 1'e gönderilir. + +ZK-toplaması akıllı kontratı, katman 2'deki aktarımların tüm bilgilerini muhafaza eder, bu bilgiler sadece doğruluk ispatları ile güncellenebilir. Bu, ZK-toplamalarının tüm işlem verilerinin yerine sadece doğruluk ispatlarına ihtiyacı olduğu anlamına gelir. Bir ZK-toplaması ile, daha az veri dahil edildiğinden bir bloğu doğrulamak daha hızlı ve daha ucuzdur. + +Bir ZK toplaması ile, fonları katman 2'den katman 1'e taşırken herhangi bir gecikme olmaz çünkü ZK-toplaması sözleşmesi tarafından kabul edilen bir doğruluk ispatı, fonları zaten doğrulamıştır. + +Katman 2'de bulunan ZK-toplamaları, işlem boyutunu daha da azaltmak için optimize edilebilir. Örneğin bir hesap, bir işlemi 32 bayttan sadece 4 bayta indiren bir adres yerine bir dizin ile temsil edilir. İşlemler ayrıca Ethereum'a `calldata` olarak yazılır, bu da gazı azaltır. + +### Artıları ve eksileri {#zk-pros-and-cons} + +| Artıları | Eksileri | +| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| Kanıtlar ana zincire gönderildikten sonra durum anında doğrulandığından daha hızlı kesinlik süresi. | Bazılarının EVM desteği yoktur. | +| [İyimser toplamaların](#optimistic-pros-and-cons) savunmasız olabileceği ekonomik saldırılara karşı savunmasız değildir. | Doğruluk ispatlarının hesaplanması yoğun enerji harcar: Zincir üzerinde etkinliği az olan uygulamalar için bu enerjiye değmez. | +| Durumu kurtarmak için gereken veriler katman 1 zincirinde depolandığı için güvenli ve merkeziyetsizdir. | Bir operatör, işlem sırasını etkileyebilir | + +### ZK-toplamalarının görsel açıklaması {#zk-video} + +Finematics'in ZK-toplaması açıklamasını izleyin: + + + +### ZK toplamalarını kullanın {#use-zk-rollups} + +Dapp'lerinize entegre edebileceğiniz birden fazla ZK-toplaması uygulaması mevcuttur: + + + +**ZK-toplamaları hakkında bilgiler** + +- [Sıfır-Bilgi Toplamaları nedir?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups) +- [EthHub'un zk-toplamaları hakkındaki içerikleri](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/) +- \[STARK'lar ve SNARK'lar\] (https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/) diff --git a/src/content/translations/tr/developers/docs/standards/index.md b/src/content/translations/tr/developers/docs/standards/index.md new file mode 100644 index 00000000000..e8b4a44babf --- /dev/null +++ b/src/content/translations/tr/developers/docs/standards/index.md @@ -0,0 +1,41 @@ +--- +title: Ethereum Geliştirme Standartları +description: +lang: tr +sidebar: true +incomplete: true +--- + +## Standartlara genel bakış {#standards-overview} + +Ethereum topluluğu, projelerin ([Ethereum istemcileri](/developers/docs/nodes-and-clients/) ve cüzdanlar gibi) uygulamalar arasında birlikte çalışabilir durumda kalmasına yardımcı olan ve akıllı sözleşmeler ve dapp'lerin birleştirilebilir kalmasını sağlayan birçok standardı benimsemiştir. + +Genellikle standartlar, bir [standart süreci](https://eips.ethereum.org/EIPS/eip-1) aracılığıyla topluluk üyeleri tarafından tartışılan [Ethereum İyileştirme Önerileri](/eips/) (EIP'ler) olarak sunulur. + +- [EIP'lere giriş](/eips/) +- [EIP listesi](https://eips.ethereum.org/) +- [EIP GitHub deposu](https://github.com/ethereum/EIPs) +- [EIP tartışma panosu](https://ethereum-magicians.org/c/eips) +- [Ethereum Yönetişimine Giriş](/governance/) +- [Ethereum Yönetişimine Genel Bakış](https://web.archive.org/web/20201107234050/https://blog.bmannconsulting.com/ethereum-governance/) _31 Mart 2019 - Boris Mann_ +- [Ethereum Protokol Geliştirme Yönetişimi ve Ağ Yükseltme Koordinasyonu](https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) _23 Mart 2020 - Hudson Jameson_ +- [Ethereum Çekirdek Geliştiricilerinin Bütün Toplantılarını İçeren Oynatma Listesi](https://www.youtube.com/playlist?list=PLaM7G4Llrb7zfMXCZVEXEABT8OSnd4-7w) _(YouTube Oynatma Listesi)_ + +## Standart türleri {#types-of-standards} + +Bazı EIP'ler uygulama seviyesinde standartlar (ör. standart akıllı sözleşme formatı) ile ilgilidir, bunlar [Ethereum Yorum Talebi (ERC)](https://eips.ethereum.org/erc) olarak sunulmuştur. Pek çok ERC, Ethereum ekosisteminde geniş çaplı kullanılan kritik standartlardır. + +- [ERC'lerin listesi](https://eips.ethereum.org/erc) + +### Token standartları {#token-standards} + +- [ERC-20](/developers/docs/standards/tokens/erc-20/) - Oylama token'ları, stake etme token'ları veya sanal para birimleri gibi değiştirilebilir (birbirinin yerine geçebilir) token'lar için standart bir arayüz. +- [ERC-721](/developers/docs/standards/tokens/erc-721/) - Bir şarkı veya sanat eserinin telif hakkı gibi değiştirilemez token'lar için standart bir arayüz. +- [ERC-777](/developers/docs/standards/tokens/erc-777/) - ERC-20'yi geliştiren bir token standardı. +- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - Hem değiştirilebilir hem de değiştirilemez varlıkları içerebilen bir token standardı. + +[Token standartları](/developers/docs/standards/tokens/) hakkında daha fazla bilgi edinin. + +## Daha fazla bilgi {#further-reading} + +_Size yardımcı olan bir topluluk kaynağı mı biliyorsunuz? Bu sayfayı düzenleyin ve onu ekleyin!_ diff --git a/src/content/translations/tr/developers/docs/standards/tokens/erc-1155/index.md b/src/content/translations/tr/developers/docs/standards/tokens/erc-1155/index.md new file mode 100644 index 00000000000..1b9696a9772 --- /dev/null +++ b/src/content/translations/tr/developers/docs/standards/tokens/erc-1155/index.md @@ -0,0 +1,147 @@ +--- +title: ERC-1155 Çoklu Token Standardı +description: +lang: tr +sidebar: true +--- + +## Giriş {#introduction} + +Birden çok token türünü yöneten sözleşmeler için standart bir arayüz. Dağıtılan tek bir sözleşme; değiştirilebilir token, değiştirilemez token veya diğer yapılandırmaların (örneğin yarı-değişebilir token) herhangi bir kombinasyonunu içerebilir. + +**Çoklu-Token Standardı ne anlama geliyor?** + +Basit bir fikirdir: Herhangi bir sayıda değiştirilebilir ve değiştirilemez token türünü temsil edebilen ve kontrol edebilen bir akıllı sözleşme arayüzü oluşturmayı amaçlar. Böylece ERC-1155 token'ı, [ERC-20](/developers/docs/standards/tokens/erc-20/) ve [ERC-721](/developers/docs/standards/tokens/erc-721/) token'ı ile aynı işlevleri gerçekleştirebilir. Hatta ikisini aynı anda bile yapabilir. Ve hepsinden iyisi, her iki standardın işlevselliğini geliştirerek daha verimli hâle getirmek ve ERC-20 ve ERC-721 standartlarındaki bariz uygulama hatalarını düzeltmek. + +ERC-1155 token'ı, [EIP-1155](https://eips.ethereum.org/EIPS/eip-1155)'te tam olarak açıklanmıştır. + +## Ön Koşullar {#prerequisites} + +Bu sayfayı daha iyi anlamak için öncelikle [token standartları](/developers/docs/standards/tokens/), [ERC-20](/developers/docs/standards/tokens/erc-20/) ve [ERC-721](/developers/docs/standards/tokens/erc-721/) hakkında okuma yapmanızı öneririz. + +## ERC-1155 Fonksiyonları ve Özellikleri: {#body} + +- [Toplu Aktarım](#batch_transfers): Tek bir aramada birden çok varlığı aktarın. +- [Toplu Bakiye](#batch_balance): Birden fazla varlığın bakiyesini tek bir çağrıda alın. +- [Toplu Onay](#batch_approval): Bir adres için tüm token'ları onaylayın. +- [Kancalar](#recieve_hook): Token kancalarını alın. +- [NFT Desteği](#nft_support): Arz yalnızca 1 ise, bunu NFT olarak düşünün. +- [Güvenli Aktarım Kuralları](#safe_transfer_rule): Güvenli aktarım için birtakım kurallar. + +### Toplu Aktarımlar {#batch-transfers} + +Toplu aktarım, normal ERC-20 aktarımlarına çok benzer şekilde çalışır. Normal ERC-20 transferFrom fonksiyonuna bakalım: + +```solidity +// ERC-20 +function transferFrom(address from, address to, uint256 value) external returns (bool); + +// ERC-1155 +function safeBatchTransferFrom( + address _from, + address _to, + uint256[] calldata _ids, + uint256[] calldata _values, + bytes calldata _data +) external; +``` + +ERC-1155'teki tek fark, değerleri bir dizi olarak geçirmemiz ve ayrıca bir dizi kimlik geçirmemizdir. Örneğin, `ids=[3, 6, 13]` ve `values=[100, 200, 5]` olduğunda, elde edilen aktarımlar şöyle olacaktır + +1. Kimliği 3 olan 100 token'ı `_from`'dan `_to`'ya aktarın. +2. Kimliği 6 olan 200 token'ı `_from`'dan `_to`'ya aktarın. +3. 13 kimliğine sahip 5 token'ı `_from`'dan `_to`'ya aktarın. + +ERC-1155'de sadece `transferFrom` bulunur, `transfer` yoktur. Normal bir `transfer` gibi kullanmak için, gönderen adresini fonksiyonu çağıran adrese ayarlayın. + +### Toplu Bakiye {#batch-balance} + +İlgili ERC-20 `balanceOf` çağrısı da aynı şekilde toplu destekli ortak fonksiyonuna sahiptir. Bir hatırlatma olarak, ERC-20 sürümü şudur: + +```solidity +// ERC-20 +function balanceOf(address owner) external view returns (uint256); + +// ERC-1155 +function balanceOfBatch( + address[] calldata _owners, + uint256[] calldata _ids +) external view returns (uint256[] memory); +``` + +Bakiye çağrısı için daha da basit şekilde tek bir aramada birden fazla bakiye alabiliriz. Sahip dizisini ve ardından token kimlikleri dizisini geçiriyoruz. + +Örneğin, `_ids=[3, 6, 13]` ve `_owners=[0xbeef..., 0x1337..., 0x1111...]` olduğunda döndürülen değer şu olacaktır + +```solidity +[ + balanceOf(0xbeef...), + balanceOf(0x1337...), + balanceOf(0x1111...) +] +``` + +### Toplu Onay {#batch-approval} + +```solidity +// ERC-1155 +function setApprovalForAll( + address _operator, + bool _approved +) external; + +function isApprovedForAll( + address _owner, + address _operator +) external view returns (bool); +``` + +Onaylar, ERC-20'den biraz farklıdır. Belirli miktarları onaylamak yerine, `setApprovalForAll` aracılığıyla bir operatörü onaylandı veya onaylanmadı olarak ayarlarsınız. + +Mevcut durumun okunması `isApprovedForAll` üzerinden yapılabilir. Gördüğünüz gibi, bir ya hep ya hiç durumu mevcut. Kaç token onaylanacağını ve hatta hangi token sınıflarının onaylanacağını tanımlayamazsınız. + +Bu kasıtlı olarak basitlik göz önünde bulundurularak tasarlanmıştır. Her şeyi yalnızca bir adres için onaylayabilirsiniz. + +### Alma Kancası {#receive-hook} + +```solidity +function onERC1155BatchReceived( + address _operator, + address _from, + uint256[] calldata _ids, + uint256[] calldata _values, + bytes calldata _data +) external returns(bytes4); +``` + +[EIP-165](https://eips.ethereum.org/EIPS/eip-165) desteği göz önünde bulundurulduğunda, ERC-1155 yalnızca akıllı sözleşmeler için alma kancalarını destekler. Kanca fonksiyonu, şu şekilde olan bir sihirli önceden tanımlanmış bytes4 değeri döndürmelidir: + +```solidity +bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)")) +``` + +Alıcı sözleşme bu değeri döndürdüğünde, sözleşmenin aktarımı kabul ettiği ve ERC-1155 token'larını nasıl kullanacağını bildiği varsayılır. Harika, artık bir sözleşmede sıkışmış token'lar yok! + +### NFT Desteği {#nft-support} + +Arz yalnızca bir olduğunda, token esasen bir değiştirilemez token'dır (NFT). Ve ERC-721 için standart olduğu gibi, bir meta veri URL'si tanımlayabilirsiniz. URL istemciler tarafından okunabilir ve modifiye edilebilir, [burada](https://eips.ethereum.org/EIPS/eip-1155#metadata) görebilirsiniz. + +### Güvenli Aktarım Kuralı {#safe-transfer-rule} + +Birkaç güvenli aktarım kuralına daha önceki açıklamalarda değinmiştik. Ama kuralların en önemlisine bir bakalım: + +1. Arayanın, `_from` adresi için token'ları harcaması için onaylanmış olması veya arayanın, `_from` değerine eşit olması gerekir. +2. Transfer çağrısı şu durumlarda geri dönmelidir + 1. `_to` adresi 0'sa. + 2. `_ids` uzunluğu `_values` uzunluğuyla eşit değilse. + 3. `_ids` içindeki token'lar için sahiplerin herhangi bir bakiyesi, alıcıya gönderilen `_values` içindeki ilgili miktardan daha düşükse. + 4. başka herhangi bir hata gerçekleşirse. + +_Not_: Kanca dahil tüm toplu fonksiyonlar, toplu olmayan sürümler olarak da mevcuttur. Bu, yalnızca bir varlığın aktarılmasının muhtemelen hâlâ en yaygın kullanılan yol olacağı düşünülerek, gaz verimliliği için yapılır. Güvenli aktarım kuralları da dahil olmak üzere açıklamalarda basitlik için bunlardan bahsetmedik. İsimler aynıdır: Sadece "Batch"i kaldırın. + +## Daha fazla bilgi {#further-reading} + +- [EIP-1155: Çoklu Token Standardı](https://eips.ethereum.org/EIPS/eip-1155) +- [ERC-1155: Openzeppelin Belgeleri](https://docs.openzeppelin.com/contracts/3.x/erc1155) +- [ERC-1155: Github Deposu](https://github.com/enjin/erc-1155) +- [Alchemy NFT API](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api) diff --git a/src/content/translations/tr/developers/docs/standards/tokens/erc-20/index.md b/src/content/translations/tr/developers/docs/standards/tokens/erc-20/index.md new file mode 100644 index 00000000000..cebed1d7280 --- /dev/null +++ b/src/content/translations/tr/developers/docs/standards/tokens/erc-20/index.md @@ -0,0 +1,149 @@ +--- +title: ERC-20 Token Standardı +description: +lang: tr +sidebar: true +--- + +## Giriş {#introduction} + +**Token nedir?** + +Token'lar Ethereum'daki hemen hemen her şeyi temsil edebilir: + +- çevrimiçi bir platformdaki itibar puanları +- bir oyundaki karakterin becerileri +- çekiliş biletleri +- şirket hissesi gibi finansal varlıklar +- ABD Doları gibi itibari para birimi +- ons altın +- ve daha fazlası... + +Ethereum'un bu kadar güçlü bir özelliği güçlü bir standart tarafından idare edilmeli, değil mi? ERC-20 tam da bu noktada devreye giriyor! Bu standart, geliştiricilerin diğer ürün ve servislerle uyumlu token uygulamaları inşa etmesini sağlar. + +**ERC-20 nedir?** + +ERC-20, Değiştirilebilir Tokenler için bir standart ortaya çıkarır: Başka bir deyişle her bir Token'ın başka bir Token ile tamamen aynı (tür ve değer olarak) olmasını sağlayan bir özelliğe sahiptir. Örnek olarak, bir ERC-20 Token'ı tıpkı ETH gibi davranır, yani 1 Token her zaman tüm diğer Token'lara eşit olur. + +## Ön Koşullar {#prerequisites} + +- [Hesaplar](/developers/docs/accounts) +- [Akıllı Sözleşmeler](/developers/docs/smart-contracts/) +- [Token standartları](/developers/docs/standards/tokens/) + +## Şablon {#body} + +Fabian Vogelsteller tarafından Kasım 2015'te önerilen ERC-20 (Ethereum Yorum Talebi 20), Akıllı Sözleşmeler içindeki token'lar için bir API sağlayan bir Token Standardıdır. + +ERC-20'nin sağladığı örnek işlevler: + +- token'ları bir hesaptan diğerine aktarma +- bir hesabın mevcut token bakiyesini alma +- ağda mevcut olan token'ların toplam arzını alma +- bir hesaptaki token miktarının bir üçüncü taraf hesabı tarafından harcanıp harcanamayacağını onaylama + +Eğer bir Akıllı Sözleşme aşağıdaki metodları ve olayları uygularsa bir ERC-20 Token Sözleşmesi olarak çağrılabilir ve dağıtıldığı andan itibaren Ethereum'da oluşturulan token'ları takip etmekten sorumludur. + +[EIP-20](https://eips.ethereum.org/EIPS/eip-20)'den: + +#### Yöntemler {#methods} + +```solidity +function name() public view returns (string) +function symbol() public view returns (string) +function decimals() public view returns (uint8) +function totalSupply() public view returns (uint256) +function balanceOf(address _owner) public view returns (uint256 balance) +function transfer(address _to, uint256 _value) public returns (bool success) +function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) +function approve(address _spender, uint256 _value) public returns (bool success) +function allowance(address _owner, address _spender) public view returns (uint256 remaining) +``` + +#### Olaylar {#events} + +```solidity +event Transfer(address indexed _from, address indexed _to, uint256 _value) +event Approval(address indexed _owner, address indexed _spender, uint256 _value) +``` + +### Örnekler {#web3py-example} + +Ethereum'daki herhangi bir ERC-20 Token Sözleşmesini incelememizi basitleştirmek için bir Standart'ın ne kadar önemli olduğunu görelim. Herhangi bir ERC-20 token'a arayüz oluşturmak için sadece Sözleşme Uygulama İkili Arayüzü'ne (ABI) ihtiyacımız var. Aşağıda görebileceğiniz gibi az sürtünmeli bir örnek olması için basitleştirilmiş bir ABI kullanacağız. + +#### Web3.py Örneği {#web3py-example} + +İlk olarak, [Web3.py](https://web3py.readthedocs.io/en/stable/quickstart.html#installation) Python kütüphanesini kurduğunuzdan emin olun: + +``` +$ pip install web3 +``` + +```python +from web3 import Web3 + + +w3 = Web3(Web3.HTTPProvider("https://cloudflare-eth.com")) + +dai_token_addr = "0x6B175474E89094C44Da98b954EedeAC495271d0F" # DAI +weth_token_addr = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" # Wrapped ether (WETH) + +acc_address = "0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11" # Uniswap V2: DAI 2 + +# This is a simplified Contract Application Binary Interface (ABI) of an ERC-20 Token Contract. +# It will expose only the methods: balanceOf(address), decimals(), symbol() and totalSupply() +simplified_abi = [ + { + 'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], + 'name': 'balanceOf', + 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'decimals', + 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'symbol', + 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'totalSupply', + 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + } +] + +dai_contract = w3.eth.contract(address=w3.toChecksumAddress(dai_token_addr), abi=simplified_abi) +symbol = dai_contract.functions.symbol().call() +decimals = dai_contract.functions.decimals().call() +totalSupply = dai_contract.functions.totalSupply().call() / 10**decimals +addr_balance = dai_contract.functions.balanceOf(acc_address).call() / 10**decimals + +# DAI +print("===== %s =====" % symbol) +print("Total Supply:", totalSupply) +print("Addr Balance:", addr_balance) + +weth_contract = w3.eth.contract(address=w3.toChecksumAddress(weth_token_addr), abi=simplified_abi) +symbol = weth_contract.functions.symbol().call() +decimals = weth_contract.functions.decimals().call() +totalSupply = weth_contract.functions.totalSupply().call() / 10**decimals +addr_balance = weth_contract.functions.balanceOf(acc_address).call() / 10**decimals + +# WETH +print("===== %s =====" % symbol) +print("Total Supply:", totalSupply) +print("Addr Balance:", addr_balance) +``` + +## daha fazla okuma {#further-reading} + +- [EIP-20: ERC-20 Token Standardı](https://eips.ethereum.org/EIPS/eip-20) +- [OpenZeppelin - Token'lar](https://docs.openzeppelin.com/contracts/3.x/tokens#ERC20) +- [OpenZeppelin - ERC-20 Uygulaması](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol) diff --git a/src/content/translations/tr/developers/docs/standards/tokens/erc-721/index.md b/src/content/translations/tr/developers/docs/standards/tokens/erc-721/index.md new file mode 100644 index 00000000000..951f1cbd87d --- /dev/null +++ b/src/content/translations/tr/developers/docs/standards/tokens/erc-721/index.md @@ -0,0 +1,244 @@ +--- +title: ERC-721 Değiştirilemez Token Standardı +description: +lang: tr +sidebar: true +--- + +## Giriş {#introduction} + +**Değiştirilemeyen Token nedir?** + +Bir Değiştirilemez Token (NFT), bir şeyi veya bir kimseyi eşsiz bir yolla tanımlamak için kullanılır. Bu Token türü; koleksiyon öğeleri, erişim anahtarları, çekiliş biletleri, konserler ve spor maçları için numaralı koltuklar vb. sunan platformlarda kullanılmak için mükemmeldir. Bu özel Token türü, inanılmaz olanaklara sahip olduğu için uygun bir Standardı hak ediyor: ERC-721 bunu çözmek için geldi! + +**ERC-721 nedir?** + +ERC-721, NFT için bir standart getirir, başka bir deyişle, bu Token türü benzersizdir ve örneğin yaşı, nadirliği ve hatta görseli gibi başka bir şey nedeniyle aynı Akıllı Sözleşmedeki başka bir Token'dan farklı değere sahip olabilir. Görsel mi? + +Evet! Tüm NFT'ler `tokenId` denilen bir `uint256` değişkenine sahiptir, yani herhangi bir ERC-721 sözleşmesi için, `sözleşme adresi, uint256 tokenId` çifti küresel olarak eşsiz olmalıdır. Bununla birlikte bir dApp, girdi olarak `tokenId` kullanan ve zombiler, silahlar, yetenekler veya müthiş kedicikler gibi havalı bir şeyin resmini veren bir "dönüştürücüye" sahip olabilir! + +## Ön Koşullar {#prerequisites} + +- [Hesaplar](/developers/docs/accounts/) +- [Akıllı Sözleşmeler](/developers/docs/smart-contracts/) +- [Token standartları](/developers/docs/standards/tokens/) + +## Şablon {#body} + +William Entriken, Dieter Shirley, Jacob Evans ve Nastassia Sachs tarafından Ocak 2018'de önerilen ERC-721 (Ethereum Yorum Talebi 721), Akıllı Sözleşmeler içindeki token'lar için bir API uygulayan bir Değiştirilebilir Token Standardıdır. + +Token'ları bir hesaptan diğerine aktarmak, bir hesabın mevcut token bakiyesini almak, belirli bir token'ın sahibini almak ve ayrıca ağda mevcut olan token'ın toplam arzını almak gibi işlevler sağlar. Bunların yanı sıra, bir hesaptan bir miktar token'ın üçüncü taraf bir hesap tarafından taşınabileceğini onaylamak gibi başka işlevleri de vardır. + +Bir Akıllı Sözleşme aşağıdaki yöntemleri ve olayları uygularsa, ERC-721 Değiştirilemez Token Sözleşmesi olarak adlandırılabilir ve dağıtıldıktan sonra, Ethereum üzerinde oluşturulan token'ları takip etmekten sorumlu olur. + +[EIP-721](https://eips.ethereum.org/EIPS/eip-721)'den: + +#### Yöntemler {#methods} + +```solidity + function balanceOf(address _owner) external view returns (uint256); + function ownerOf(uint256 _tokenId) external view returns (address); + function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable; + function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable; + function transferFrom(address _from, address _to, uint256 _tokenId) external payable; + function approve(address _approved, uint256 _tokenId) external payable; + function setApprovalForAll(address _operator, bool _approved) external; + function getApproved(uint256 _tokenId) external view returns (address); + function isApprovedForAll(address _owner, address _operator) external view returns (bool); +``` + +#### Olaylar {#events} + +```solidity + event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId); + event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId); + event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved); +``` + +### Örnekler {#web3py-example} + +Ethereum'daki herhangi bir ERC-721 Token Sözleşmesini incelememizi basitleştirmek için bir Standart'ın ne kadar önemli olduğunu görelim. Herhangi bir ERC-721 token'a arayüz oluşturmak için sadece sözleşmenin Uygulama İkili Arayüzü'ne (ABI) ihtiyacımız var. Aşağıda görebileceğiniz gibi az sürtünmeli bir örnek olması için basitleştirilmiş bir ABI kullanacağız. + +#### Web3.py Örneği {#web3py-example} + +İlk olarak, [Web3.py](https://web3py.readthedocs.io/en/stable/quickstart.html#installation) Python kütüphanesini kurduğunuzdan emin olun: + +``` +$ pip install web3 +``` + +```python +from web3 import Web3 +from web3._utils.events import get_event_data + + +w3 = Web3(Web3.HTTPProvider("https://cloudflare-eth.com")) + +ck_token_addr = "0x06012c8cf97BEaD5deAe237070F9587f8E7A266d" # CryptoKitties Contract + +acc_address = "0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C" # CryptoKitties Sales Auction + +# This is a simplified Contract Application Binary Interface (ABI) of an ERC-721 NFT Contract. +# It will expose only the methods: balanceOf(address), name(), ownerOf(tokenId), symbol(), totalSupply() +simplified_abi = [ + { + 'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], + 'name': 'balanceOf', + 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], + 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'name', + 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], + 'name': 'ownerOf', + 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], + 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'symbol', + 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'totalSupply', + 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, +] + +ck_extra_abi = [ + { + 'inputs': [], + 'name': 'pregnantKitties', + 'outputs': [{'name': '', 'type': 'uint256'}], + 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [{'name': '_kittyId', 'type': 'uint256'}], + 'name': 'isPregnant', + 'outputs': [{'name': '', 'type': 'bool'}], + 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True + } +] + +ck_contract = w3.eth.contract(address=w3.toChecksumAddress(ck_token_addr), abi=simplified_abi+ck_extra_abi) +name = ck_contract.functions.name().call() +symbol = ck_contract.functions.symbol().call() +kitties_auctions = ck_contract.functions.balanceOf(acc_address).call() +print(f"{name} [{symbol}] NFTs in Auctions: {kitties_auctions}") + +pregnant_kitties = ck_contract.functions.pregnantKitties().call() +print(f"{name} [{symbol}] NFTs Pregnants: {pregnant_kitties}") + +# Using the Transfer Event ABI to get info about transferred Kitties. +tx_event_abi = { + 'anonymous': False, + 'inputs': [ + {'indexed': False, 'name': 'from', 'type': 'address'}, + {'indexed': False, 'name': 'to', 'type': 'address'}, + {'indexed': False, 'name': 'tokenId', 'type': 'uint256'}], + 'name': 'Transfer', + 'type': 'event' +} + +# We need the event's signature to filter the logs +event_signature = w3.sha3(text="Transfer(address,address,uint256)").hex() + +logs = w3.eth.getLogs({ + "fromBlock": w3.eth.blockNumber - 120, + "address": w3.toChecksumAddress(ck_token_addr), + "topics": [event_signature] +}) + +# Notes: +# - 120 blocks is the max range for CloudFlare Provider +# - If you didn't find any Transfer event you can also try to get a tokenId at: +# https://etherscan.io/address/0x06012c8cf97BEaD5deAe237070F9587f8E7A266d#events +# Click to expand the event's logs and copy its "tokenId" argument + +recent_tx = [get_event_data(w3.codec, tx_event_abi, log)["args"] for log in logs] + +kitty_id = recent_tx[0]['tokenId'] # Paste the "tokenId" here from the link above +is_pregnant = ck_contract.functions.isPregnant(kitty_id).call() +print(f"{name} [{symbol}] NFTs {kitty_id} is pregnant: {is_pregnant}") +``` + +CryptoKitties Sözleşmesi, Standart olanlar dışında bazı ilginç Olaylara sahiptir. + +Hadi ikisine bakalım, `Pregnant` ve `Birth`. + +```python +# Using the Pregnant and Birth Events ABI to get info about new Kitties. +ck_extra_events_abi = [ + { + 'anonymous': False, + 'inputs': [ + {'indexed': False, 'name': 'owner', 'type': 'address'}, + {'indexed': False, 'name': 'matronId', 'type': 'uint256'}, + {'indexed': False, 'name': 'sireId', 'type': 'uint256'}, + {'indexed': False, 'name': 'cooldownEndBlock', 'type': 'uint256'}], + 'name': 'Pregnant', + 'type': 'event' + }, + { + 'anonymous': False, + 'inputs': [ + {'indexed': False, 'name': 'owner', 'type': 'address'}, + {'indexed': False, 'name': 'kittyId', 'type': 'uint256'}, + {'indexed': False, 'name': 'matronId', 'type': 'uint256'}, + {'indexed': False, 'name': 'sireId', 'type': 'uint256'}, + {'indexed': False, 'name': 'genes', 'type': 'uint256'}], + 'name': 'Birth', + 'type': 'event' + }] + +# We need the event's signature to filter the logs +ck_event_signatures = [ + w3.sha3(text="Pregnant(address,uint256,uint256,uint256)").hex(), + w3.sha3(text="Birth(address,uint256,uint256,uint256,uint256)").hex(), +] + +# Here is a Pregnant Event: +# - https://etherscan.io/tx/0xc97eb514a41004acc447ac9d0d6a27ea6da305ac8b877dff37e49db42e1f8cef#eventlog +pregnant_logs = w3.eth.getLogs({ + "fromBlock": w3.eth.blockNumber - 120, + "address": w3.toChecksumAddress(ck_token_addr), + "topics": [ck_event_signatures[0]] +}) + +recent_pregnants = [get_event_data(w3.codec, ck_extra_events_abi[0], log)["args"] for log in pregnant_logs] + +# Here is a Birth Event: +# - https://etherscan.io/tx/0x3978028e08a25bb4c44f7877eb3573b9644309c044bf087e335397f16356340a +birth_logs = w3.eth.getLogs({ + "fromBlock": w3.eth.blockNumber - 120, + "address": w3.toChecksumAddress(ck_token_addr), + "topics": [ck_event_signatures[1]] +}) + +recent_births = [get_event_data(w3.codec, ck_extra_events_abi[1], log)["args"] for log in birth_logs] +``` + +## Popüler NFT'ler {#popular-nfts} + +- [Etherscan NFT Tracker](https://etherscan.io/tokens-nft), aktarım hacmine göre Ethereum üzerindeki en yüksek NFT'leri sıralar. +- [CryptoKitties](https://www.cryptokitties.co/) yetiştirilebilen, toplanabilen ve aşırı şirin olan CryptoKitties dediğimiz yaratıklar çevresinde gelişen bir oyundur. +- [Sorare](https://sorare.com/), sınırlı sayılı koleksiyon parçaları toplayabileceğiniz, takımlarınızı yönetebileceğiniz ve ödüller kazanmak için rekabet edebileceğiniz küresel bir fantezi futbol oyunudur. +- [Ethereum İsim Hizmeti (ENS)](https://ens.domains/); basit, insanlar tarafından okunabilir isimler kullanarak hem blok zinciri üstünde hem de dışında kaynakları yönetmenin güvenli ve merkeziyetsiz bir yolunu sunar. +- [Unstoppable Domains](https://unstoppabledomains.com/), blok zincirleri üzerinde alan adları inşa eden San-Francisco merkezli bir şirkettir. Blok zinciri alan adları, kripto para adreslerini insanlar tarafından okunabilir adlarla değiştirir ve sansüre dayanıklı web sitelerini etkinleştirmek için kullanılabilir. +- [Gods Unchained Cards](https://godsunchained.com/), oyun içi varlıklara gerçek sahiplik getirmek için NFT'leri kullanan Ethereum blok zinciri üzerindeki bir Kart Ticareti Oyunudur. +- [Bored Ape Yacht Club](https://boredapeyachtclub.com), kanıtlanabilir derecede ender bir sanat eseri olmasının yanı sıra, kulübe üyelik simgesi olarak hareket eden ve topluluk çabalarının sonucu olarak zamanla artan üye avantajları ve faydaları sağlayan 10.000 benzersiz NFT'den oluşan bir koleksiyondur. + +## Daha fazla bilgi {#further-reading} + +- [EIP-721: ERC-721 Değiştirilemez Token Standardı](https://eips.ethereum.org/EIPS/eip-721) +- [OpenZeppelin - ERC-721 Belgeleri](https://docs.openzeppelin.com/contracts/3.x/erc721) +- [OpenZeppelin - ERC-721 Uygulaması](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol) +- [Alchemy NFT API](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api) diff --git a/src/content/translations/tr/developers/docs/standards/tokens/erc-777/index.md b/src/content/translations/tr/developers/docs/standards/tokens/erc-777/index.md new file mode 100644 index 00000000000..2f827fa6f6f --- /dev/null +++ b/src/content/translations/tr/developers/docs/standards/tokens/erc-777/index.md @@ -0,0 +1,42 @@ +--- +title: ERC-777 Token Standardı +description: +lang: tr +sidebar: true +--- + +## Giriş {#introduction} + +ERC-777, mevcut [ERC-20](/developers/docs/standards/tokens/erc-20/) standardını geliştiren bir değiştirilebilir token standardıdır. + +## Ön Koşullar {#prerequisites} + +Bu sayfayı daha iyi anlamanız için, ilk olarak [ERC-20](/developers/docs/standards/tokens/erc-20/) hakkında okuma yapmanızı öneririz. + +## ERC-777, ERC-20 üzerine ne tür gelişmeler önerir? {#-erc-777-vs-erc-20} + +ERC-777, ERC-20 üzerine aşağıdaki gelişmeleri sağlar. + +### Kancalar {#hooks} + +Kancalar, bir akıllı sözleşmenin kodunda açıklanan bir fonksiyondur. Kancalar, token'lar sözleşme aracılığıyla gönderildiğinde veya alındığında çağrılır. Bu, bir akıllı sözleşmenin gelen veya giden token'lara tepki vermesini sağlar. + +Kancalar, [ERC-1820](https://eips.ethereum.org/EIPS/eip-1820) standardı kullanılarak kaydedilir ve keşfedilir. + +#### Kancalar neden kullanışlıdır? {#why-are-hooks-great} + +1. Kancalar, bir sözleşmeye token göndermeyi ve sözleşmeyi tek bir işlemde bilgilendirmeyi sağlar, bunun aksine [ERC-20](https://eips.ethereum.org/EIPS/eip-20) ise bunu başarmak için çift çağrı (`approve`/`transferFrom`) gerektirir. +2. Kayıtlı kancalara sahip olmayan sözleşmeler ERC-777 ile uyumsuzlardır. Gönderen sözleşme, alıcı sözleşme bir kanca kaydetmediyse işlemi iptal eder. Bu, ERC-777 dışındaki akıllı sözleşmelere yanlışlıkla transfer yapılmasını önler. +3. Kancalar işlemleri reddedebilirler. + +### Ondalıklar {#decimals} + +Standart ayrıca ERC-20'de oluşan `decimals` hakkındaki kafa karışıklığını çözer. Bu netlik, geliştirici deneyimini geliştirir. + +### ERC-20 ile geriye doğru uyumluluk {#backwards-compatibility-with-erc-20} + +ERC-777 sözleşmeleri ile sanki ERC-20 sözleşmeleriymiş gibi etkileşime geçilebilir. + +## Daha fazla bilgi {#further-reading} + +[EIP-777: Token Standardı](https://eips.ethereum.org/EIPS/eip-777) diff --git a/src/content/translations/tr/developers/docs/standards/tokens/index.md b/src/content/translations/tr/developers/docs/standards/tokens/index.md new file mode 100644 index 00000000000..5195c1c25a3 --- /dev/null +++ b/src/content/translations/tr/developers/docs/standards/tokens/index.md @@ -0,0 +1,36 @@ +--- +title: Token Standartları +description: +lang: tr +sidebar: true +incomplete: true +--- + +## Giriş {#introduction} + +Birçok Ethereum geliştirme standartlarından biri token arayüzlerine odaklanır. Bu standartlar akıllı sözleşmelerin birleştirilebilir kalmasını sağlamaya yardımcı olur: Örneğin yeni bir proje bir token çıkardığı zaman token'ın mevcut merkeziyetsiz borsalarla uyumlu kalması gibi. + +## Ön Koşullar {#prerequisites} + +- [Ethereum geliştirme standartları](/developers/docs/standards/) +- [Akıllı sözleşmeler](/developers/docs/smart-contracts/) + +## Token standartları {#token-standards} + +Bunlar Ethereum'daki en popüler token standartlarından bazılarıdır: + +- [ERC-20](/developers/docs/standards/tokens/erc-20/) - Oylama token'ları, stake etme token'ları veya sanal para birimleri gibi değiştirilebilir (birbirinin yerine geçebilir) token'lar için standart bir arayüz. +- [ERC-721](/developers/docs/standards/tokens/erc-721/) - Bir şarkı veya sanat eserinin telif hakkı gibi değiştirilemez token'lar için standart bir arayüz. +- [ERC-777](/developers/docs/standards/tokens/erc-777/) - ERC-777, gelişmiş işlem gizliliği için bir mikser sözleşmesi veya özel anahtarlarınızı kaybederseniz sizi kurtarmak için bir acil durum kurtarma işlevi gibi token'ların üzerine ek işlevler oluşturmasına olanak tanır. +- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - ERC-1155, daha verimli alım satımlara ve işlemlerin gruplandırılmasına olanak tanır: Böylece maliyetlerden tasarruf sağlar. Bu token standardı, hem yardımcı token'ların ($BNB veya $BAT gibi) hem de CryptoPunks gibi Değiştirilemez Token'ların oluşturulmasına izin verir. + +## daha fazla okuma {#further-reading} + +_Size yardımcı olan bir topluluk kaynağı mı biliyorsunuz? Bu sayfayı düzenleyin ve onu ekleyin!_ + +## İlgili öğreticiler {#related-tutorials} + +- [Token entegrasyonu kontrol listesi](/developers/tutorials/token-integration-checklist/) _– Token'larla etkileşim kurarken göz önünde bulundurulması gerekenleri içeren bir kontrol listesi._ +- [ERC20 token akıllı sözleşmesini anlayın](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _– İlk akıllı sözleşmenizi bir Ethereum test ağında dağıtmaya giriş._ +- [ERC20 token'larının bir Solidity akıllı sözleşmesinden transferleri ve onaylanması](/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/) _– Solidity dilini kullanarak bir token'la etkileşim kurmak için bir akıllı sözleşme nasıl kullanılır?_ +- [Bir ERC721 pazarının uygulanması [nasıl yapılır kılavuzu]](/developers/tutorials/how-to-implement-an-erc721-market/) _– Merkeziyetsiz bir ilan panosunda token'laştırılmış ürünler nasıl satışa sunulur?_ From 737347c9c91e51aa993662e28e35d2c8e82aa363 Mon Sep 17 00:00:00 2001 From: Samarth Saxena <72488638+AweSamarth@users.noreply.github.com> Date: Fri, 13 May 2022 17:45:11 +0530 Subject: [PATCH 135/167] Update index.md --- src/content/developers/docs/consensus-mechanisms/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/consensus-mechanisms/index.md b/src/content/developers/docs/consensus-mechanisms/index.md index f06fa6d50cc..d8ae9ec29cd 100644 --- a/src/content/developers/docs/consensus-mechanisms/index.md +++ b/src/content/developers/docs/consensus-mechanisms/index.md @@ -40,7 +40,7 @@ Ethereum, like Bitcoin, currently uses a **proof-of-work (PoW)** consensus proto #### Block creation {#pow-block-creation} -Proof-of-work is done by [miners](/developers/docs/consensus-mechanisms/pow/mining/), who compete to create new blocks full of processed transactions. The winner shares the new block with the rest of the network and earns some freshly minted ETH. The race is won by whosever computer can solve a math puzzle fastest – this produces the cryptographic link between the current block and the block that went before. Solving this puzzle is the work in "proof-of-work". +Proof-of-work is done by [miners](/developers/docs/consensus-mechanisms/pow/mining/), who compete to create new blocks full of processed transactions. The winner shares the new block with the rest of the network and earns some freshly minted ETH. The race is won by that computer which is able to solve a math puzzle fastest – this produces the cryptographic link between the current block and the block that went before. Solving this puzzle is the work in "proof-of-work". #### Security {#pow-security} From 503e6d4f4a03e73f271985aaf9219c44cb1d81ac Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Fri, 13 May 2022 15:04:38 +0100 Subject: [PATCH 136/167] Update src/content/translations/ru/eips/index.md --- src/content/translations/ru/eips/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/translations/ru/eips/index.md b/src/content/translations/ru/eips/index.md index f44eaada3b4..2188954af04 100644 --- a/src/content/translations/ru/eips/index.md +++ b/src/content/translations/ru/eips/index.md @@ -62,6 +62,6 @@ EIP играют центральную роль в том, как измене -Часть содержимого страницы предоставил Хадсон Джеймсон [Управление разработкой протокола Ethereum и координация обновления сети] (https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) +Часть содержимого страницы предоставил Хадсон Джеймсон [Управление разработкой протокола Ethereum и координация обновления сети](https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) From e47641a7a8fcf389c40688c5155f6319964f815c Mon Sep 17 00:00:00 2001 From: Marc-Antoine Thevenet Date: Sun, 15 May 2022 08:20:58 +0200 Subject: [PATCH 137/167] Update index.md ## EASY FIX ! not many typos to fix however,
are real nightmares for translators when using translation tools like Crowdin, or others. This way I removed unnecessary newlines so that it will be much more easier to translate. --- .../uniswap-v2-annotated-code/index.md | 553 +++++------------- 1 file changed, 157 insertions(+), 396 deletions(-) diff --git a/src/content/developers/tutorials/uniswap-v2-annotated-code/index.md b/src/content/developers/tutorials/uniswap-v2-annotated-code/index.md index ff0dceb2032..8d6b9a5dc16 100644 --- a/src/content/developers/tutorials/uniswap-v2-annotated-code/index.md +++ b/src/content/developers/tutorials/uniswap-v2-annotated-code/index.md @@ -11,37 +11,27 @@ lang: en ## Introduction {#introduction} -[Uniswap v2](https://uniswap.org/whitepaper.pdf) can create an exchange market between any two ERC-20 tokens. In this -article we will go over the source code for the contracts that implement this protocol and see why they are written -this way. +[Uniswap v2](https://uniswap.org/whitepaper.pdf) can create an exchange market between any two ERC-20 tokens. In this article we will go over the source code for the contracts that implement this protocol and see why they are written this way. ### What Does Uniswap Do? {#what-does-uniswap-do} Basically, there are two types of users: liquidity providers and traders. -The _liquidity providers_ provide the pool with the two tokens that can be exchanged (we'll call them -**Token0** and **Token1**). In return, they receive a third token that represents partial ownership of -the pool called a _liquidity token_. +The _liquidity providers_ provide the pool with the two tokens that can be exchanged (we'll call them **Token0** and **Token1**). In return, they receive a third token that represents partial ownership of the pool called a _liquidity token_. -_Traders_ send one type of token to the pool and receive the other (for example, send **Token0** and receive -**Token1**) out of the pool provided by the liquidity providers. The exchange rate is determined by the -relative number of **Token0**s and **Token1**s that the pool has. In addition, the pool takes a small -percent as a reward for the liquidity pool. +_Traders_ send one type of token to the pool and receive the other (for example, send **Token0** and receive **Token1**) out of the pool provided by the liquidity providers. The exchange rate is determined by the relative number of **Token0**s and **Token1**s that the pool has. In addition, the pool takes a small percent as a reward for the liquidity pool. -When liquidity providers want their assets back they can burn the pool tokens and receive back their tokens, -including their share of the rewards. +When liquidity providers want their assets back they can burn the pool tokens and receive back their tokens, including their share of the rewards. [Click here for a fuller description](https://uniswap.org/docs/v2/core-concepts/swaps/). ### Why v2? Why not v3? {#why-v2} -As I'm writing this, [Uniswap v3](https://uniswap.org/whitepaper-v3.pdf) is almost ready. However, it is an upgrade -that is much more complicated than the original. It is easier to first learn v2 and then go to v3. +As I'm writing this, [Uniswap v3](https://uniswap.org/whitepaper-v3.pdf) is almost ready. However, it is an upgrade that is much more complicated than the original. It is easier to first learn v2 and then go to v3. ### Core Contracts vs Periphery Contracts {#contract-types} -Uniswap v2 is divided into two components, a core and a periphery. This division allows the core contracts, -which hold the assets and therefore _have_ to be secure, to be simpler and easier to audit. +Uniswap v2 is divided into two components, a core and a periphery. This division allows the core contracts, which hold the assets and therefore _have_ to be secure, to be simpler and easier to audit. All the extra functionality required by traders can then be provided by periphery contracts. ## Data and Control Flows {#flows} @@ -59,16 +49,14 @@ This is most common flow, used by traders: #### Caller {#caller} 1. Provide the periphery account with an allowance in the amount to be swapped. -2. Call one of the periphery contract's many swap functions (which one depends on whether ETH is involved - or not, whether the trader specifies the amount of tokens to deposit or the amount of tokens to get back, etc). - Every swap function accepts a `path`, an array of exchanges to go through. +2. Call one of the periphery contract's many swap functions (which one depends on whether ETH is involved or not, whether the trader specifies the amount of tokens to deposit or the amount of tokens to get back, etc). +Every swap function accepts a `path`, an array of exchanges to go through. #### In the periphery contract (UniswapV2Router02.sol) {#in-the-periphery-contract-uniswapv2router02-sol} 3. Identify the amounts that need to be traded on each exchange along the path. 4. Iterates over the path. For every exchange along the way it sends the input token and then calls the exchange's `swap` function. - In most cases the destination address for the tokens is the next pair exchange in the path. In the final exchange it is the address - provided by the trader. + In most cases the destination address for the tokens is the next pair exchange in the path. In the final exchange it is the address provided by the trader. #### In the core contract (UniswapV2Pair.sol) {#in-the-core-contract-uniswapv2pairsol-2} @@ -86,13 +74,12 @@ This is most common flow, used by traders: #### Caller {#caller-2} 1. Provide the periphery account with an allowance in the amounts to be added to the liquidity pool. -2. Call one of the periphery contract's addLiquidity functions. +2. Call one of the periphery contract's `addLiquidity` functions. #### In the periphery contract (UniswapV2Router02.sol) {#in-the-periphery-contract-uniswapv2router02sol-2} 3. Create a new pair exchange if necessary -4. If there is an existing pair exchange, calculate the amount of tokens to add. This is supposed to be identical value for - both tokens, so the same ratio of new tokens to existing tokens. +4. If there is an existing pair exchange, calculate the amount of tokens to add. This is supposed to be identical value for both tokens, so the same ratio of new tokens to existing tokens. 5. Check if the amounts are acceptable (callers can specify a minimum amount below which they'd rather not add liquidity) 6. Call the core contract. @@ -106,7 +93,7 @@ This is most common flow, used by traders: #### Caller {#caller-3} 1. Provide the periphery account with an allowance of liquidity tokens to be burned in exchange for the underlying tokens. -2. Call one of the periphery contract's removeLiquidity functions. +2. Call one of the periphery contract's `removeLiquidity` functions. #### In the periphery contract (UniswapV2Router02.sol) {#in-the-periphery-contract-uniswapv2router02sol-3} @@ -114,9 +101,7 @@ This is most common flow, used by traders: #### In the core contract (UniswapV2Pair.sol) {#in-the-core-contract-uniswapv2pairsol-3} -4. Send the destination address the underlying tokens in proportion to the burned tokens. For example if - there are 1000 A tokens in the pool, 500 B tokens, and 90 liquidity tokens, and we receive 9 tokens - to burn, we're burning 10% of the liquidity tokens so we send back the user 100 A tokens and 50 B tokens. +4. Send the destination address the underlying tokens in proportion to the burned tokens. For example if there are 1000 A tokens in the pool, 500 B tokens, and 90 liquidity tokens, and we receive 9 tokens to burn, we're burning 10% of the liquidity tokens so we send back the user 100 A tokens and 50 B tokens. 5. Burn the liquidity tokens 6. Call `_update` to update the reserve amounts @@ -126,8 +111,7 @@ These are the secure contracts which hold the liquidity. ### UniswapV2Pair.sol {#UniswapV2Pair} -[This contract](https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2Pair.sol) implements the -actual pool that exchanges tokens. It is the core Uniswap functionality. +[This contract](https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2Pair.sol) implements the actual pool that exchanges tokens. It is the core Uniswap functionality. ```solidity pragma solidity =0.5.16; @@ -141,8 +125,7 @@ import './interfaces/IUniswapV2Factory.sol'; import './interfaces/IUniswapV2Callee.sol'; ``` -These are all the interfaces that the contract needs to know about, either because the contract implements them -(`IUniswapV2Pair` and `UniswapV2ERC20`) or because it calls contracts that implement them. +These are all the interfaces that the contract needs to know about, either because the contract implements them (`IUniswapV2Pair` and `UniswapV2ERC20`) or because it calls contracts that implement them. ```solidity contract UniswapV2Pair is IUniswapV2Pair, UniswapV2ERC20 { @@ -154,17 +137,14 @@ This contract inherits from `UniswapV2ERC20`, which provides the the ERC-20 func using SafeMath for uint; ``` -The [SafeMath library](https://docs.openzeppelin.com/contracts/2.x/api/math) is used to avoid overflows and -underflows. This is important because otherwise we might end up with a situation where a value should be `-1`, -but is instead `2^256-1`. +The [SafeMath library](https://docs.openzeppelin.com/contracts/2.x/api/math) is used to avoid overflows and underflows. This is important because otherwise we might end up with a situation where a value should be `-1`, but is instead `2^256-1`. ```solidity using UQ112x112 for uint224; ``` A lot of calculations in the pool contract require fractions. However, fractions are not supported by the EVM. -The solution that Uniswap found is to use 224 bit values, with 112 bits for the integer part, and 112 bits -for the fraction. So `1.0` is represented as `2^112`, `1.5` is represented as `2^112 + 2^111`, etc. +The solution that Uniswap found is to use 224 bit values, with 112 bits for the integer part, and 112 bits for the fraction. So `1.0` is represented as `2^112`, `1.5` is represented as `2^112 + 2^111`, etc. More details about this library are available [later in the document](#FixedPoint). @@ -174,38 +154,33 @@ More details about this library are available [later in the document](#FixedPoin uint public constant MINIMUM_LIQUIDITY = 10**3; ``` -To avoid cases of division by zero, there is a minimum number of liquidity tokens that always -exist (but are owned by account zero). That number is **MINIMUM_LIQUIDITY**, a thousand. +To avoid cases of division by zero, there is a minimum number of liquidity tokens that always exist (but are owned by account zero). That number is **MINIMUM_LIQUIDITY**, a thousand. ```solidity bytes4 private constant SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)'))); ``` -This is the ABI selector for the ERC-20 transfer function. It is used to transfer ERC-20 tokens -in the two token accounts. +This is the ABI selector for the ERC-20 transfer function. It is used to transfer ERC-20 tokens in the two token accounts. ```solidity address public factory; ``` -This is the factory contract that created this pool. Every pool is an exchange between two ERC-20 -tokens, the factory is a central point that connects all of these pools. +This is the factory contract that created this pool. Every pool is an exchange between two ERC-20 tokens, the factory is a central point that connects all of these pools. ```solidity address public token0; address public token1; ``` -There are the addresses of the contracts for the two types of ERC-20 tokens that can be exchanged -by this pool. +There are the addresses of the contracts for the two types of ERC-20 tokens that can be exchanged by this pool. ```solidity uint112 private reserve0; // uses single storage slot, accessible via getReserves uint112 private reserve1; // uses single storage slot, accessible via getReserves ``` -The reserves the pool has for each token type. We assume that the two represent the same amount of value, -and therefore each token0 is worth reserve1/reserve0 token1's. +The reserves the pool has for each token type. We assume that the two represent the same amount of value, and therefore each token0 is worth reserve1/reserve0 token1's. ```solidity uint32 private blockTimestampLast; // uses single storage slot, accessible via getReserves @@ -213,28 +188,22 @@ and therefore each token0 is worth reserve1/reserve0 token1's. The timestamp for the last block in which an exchange occurred, used to track exchange rates across time. -One of the biggest gas expenses of Ethereum contracts is storage, which persists from one call of the contract -to the next. Each storage cell is 256 bits long. So three variables, reserve0, reserve1, and blockTimestampLast, are allocated in such -a way a single storage value can include all three of them (112+112+32=256). +One of the biggest gas expenses of Ethereum contracts is storage, which persists from one call of the contract to the next. Each storage cell is 256 bits long. So three variables, `reserve0`, `reserve1`, and `blockTimestampLast`, are allocated in such a way a single storage value can include all three of them (112+112+32=256). ```solidity uint public price0CumulativeLast; uint public price1CumulativeLast; ``` -These variables hold the cumulative costs for each token (each in term of the other). They can be used to calculate -the average exchange rate over a period of time. +These variables hold the cumulative costs for each token (each in term of the other). They can be used to calculate the average exchange rate over a period of time. ```solidity uint public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event ``` -The way the pair exchange decides on the exchange rate between token0 and token1 is to keep the multiple of -the two reserves constant during trades. `kLast` is this value. It changes when a liquidity provider -deposits or withdraws tokens, and it increases slightly because of the 0.3% market fee. +The way the pair exchange decides on the exchange rate between token0 and token1 is to keep the multiple of the two reserves constant during trades. `kLast` is this value. It changes when a liquidity provider deposits or withdraws tokens, and it increases slightly because of the 0.3% market fee. -Here is a simple example. Note that for the sake of simplicity the table only has three digits after the decimal point, and we ignore the -0.3% trading fee so the numbers are not accurate. +Here is a simple example. Note that for the sake of simplicity the table only has three digits after the decimal point, and we ignore the 0.3% trading fee so the numbers are not accurate. | Event | reserve0 | reserve1 | reserve0 \* reserve1 | Average exchange rate (token1 / token0) | | ------------------------------------------- | --------: | --------: | -------------------: | --------------------------------------- | @@ -253,18 +222,14 @@ As traders provide more of token0, the relative value of token1 increases, and v uint private unlocked = 1; ``` -There is a class of security vulnerabilities that are based on -[reentrancy abuse](https://medium.com/coinmonks/ethernaut-lvl-10-re-entrancy-walkthrough-how-to-abuse-execution-ordering-and-reproduce-the-dao-7ec88b912c14). -Uniswap needs to transfer arbitrary ERC-20 tokens, which means calling ERC-20 contracts that may attempt to abuse the Uniswap market that calls them. -By having an `unlocked` variable as part of the contract, we can prevent functions from being called while they are running (within the same -transaction). +There is a class of security vulnerabilities that are based on [reentrancy abuse](https://medium.com/coinmonks/ethernaut-lvl-10-re-entrancy-walkthrough-how-to-abuse-execution-ordering-and-reproduce-the-dao-7ec88b912c14). Uniswap needs to transfer arbitrary ERC-20 tokens, which means calling ERC-20 contracts that may attempt to abuse the Uniswap market that calls them. +By having an `unlocked` variable as part of the contract, we can prevent functions from being called while they are running (within the same transaction). ```solidity modifier lock() { ``` -This function is a [modifier](https://docs.soliditylang.org/en/v0.8.3/contracts.html#function-modifiers), a function that wraps around a -normal function to change its behavior is some way. +This function is a [modifier](https://docs.soliditylang.org/en/v0.8.3/contracts.html#function-modifiers), a function that wraps around a normal function to change its behavior is some way. ```solidity require(unlocked == 1, 'UniswapV2: LOCKED'); @@ -277,8 +242,7 @@ If `unlocked` is equal to one, set it to zero. If it is already zero revert the _; ``` -In a modifier `_;` is the original function call (with all the parameters). Here it means that the function call only happens if -`unlocked` was one when it was called, and while it is running the value of `unlocked` is zero. +In a modifier `_;` is the original function call (with all the parameters). Here it means that the function call only happens if `unlocked` was one when it was called, and while it is running the value of `unlocked` is zero. ```solidity unlocked = 1; @@ -297,19 +261,16 @@ After the main function returns, release the lock. } ``` -This function provides callers with the current state of the exchange. Notice that Solidity functions [can return multiple -values](https://docs.soliditylang.org/en/v0.8.3/contracts.html#returning-multiple-values). +This function provides callers with the current state of the exchange. Notice that Solidity functions [can return multiple values](https://docs.soliditylang.org/en/v0.8.3/contracts.html#returning-multiple-values). ```solidity function _safeTransfer(address token, address to, uint value) private { (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value)); ``` -This internal function transfers an amount of ERC20 tokens from the exchange to somebody else. `SELECTOR` specifies -that the function we are calling is `transfer(address,uint)` (see definition above). +This internal function transfers an amount of ERC20 tokens from the exchange to somebody else. `SELECTOR` specifies that the function we are calling is `transfer(address,uint)` (see definition above). -To avoid having to import an interface for the token function, we "manually" create the call using one of the -[ABI functions](https://docs.soliditylang.org/en/v0.8.3/units-and-global-variables.html#abi-encoding-and-decoding-functions). +To avoid having to import an interface for the token function, we "manually" create the call using one of the [ABI functions](https://docs.soliditylang.org/en/v0.8.3/units-and-global-variables.html#abi-encoding-and-decoding-functions). ```solidity require(success && (data.length == 0 || abi.decode(data, (bool))), 'UniswapV2: TRANSFER_FAILED'); @@ -330,10 +291,7 @@ If either of these conditions happen, revert. event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); ``` -These two events are emitted when a liquidity provider either deposits liquidity (`Mint`) or withdraws it (`Burn`). In -either case, the amounts of token0 and token1 that are deposited or withdrawn are part of the event, as well as the identity -of the account that called us (`sender`). In the case of a withdrawal, the event also includes the target that received -the tokens (`to`), which may not be the same as the sender. +These two events are emitted when a liquidity provider either deposits liquidity (`Mint`) or withdraws it (`Burn`). In either case, the amounts of token0 and token1 that are deposited or withdrawn are part of the event, as well as the identity of the account that called us (`sender`). In the case of a withdrawal, the event also includes the target that received the tokens (`to`), which may not be the same as the sender. ```solidity event Swap( @@ -353,8 +311,7 @@ Each token may be either sent to the exchange, or received from it. event Sync(uint112 reserve0, uint112 reserve1); ``` -Finally, `Sync` is emitted every time tokens are added or withdrawn, regardless of the reason, to provide the latest reserve information -(and therefore the exchange rate). +Finally, `Sync` is emitted every time tokens are added or withdrawn, regardless of the reason, to provide the latest reserve information (and therefore the exchange rate). #### Setup Functions {#pair-setup} @@ -366,8 +323,7 @@ These functions are supposed to be called once when the new pair exchange is set } ``` -The constructor makes sure we'll keep track of the address of the factory that created the pair. This -information is required for `initialize` and for the factory fee (if one exists) +The constructor makes sure we'll keep track of the address of the factory that created the pair. This information is required for `initialize` and for the factory fee (if one exists) ```solidity // called once by the factory at time of deployment @@ -395,9 +351,7 @@ This function is called every time tokens are deposited or withdrawn. require(balance0 <= uint112(-1) && balance1 <= uint112(-1), 'UniswapV2: OVERFLOW'); ``` -If either balance0 or balance1 (uint256) is higher than uint112(-1) (=2^112-1) (so it overflows & wraps back to 0 when converted to uint112) refuse -to continue the \_update to prevent overflows. With a normal token that can be subdivided into 10^18 units, this means each -exchange is limited to about 5.1\*10^15 of each tokens. So far that has not been a problem. +If either balance0 or balance1 (uint256) is higher than uint112(-1) (=2^112-1) (so it overflows & wraps back to 0 when converted to uint112) refuse to continue the \_update to prevent overflows. With a normal token that can be subdivided into 10^18 units, this means each exchange is limited to about 5.1\*10^15 of each tokens. So far that has not been a problem. ```solidity uint32 blockTimestamp = uint32(block.timestamp % 2**32); @@ -405,8 +359,7 @@ exchange is limited to about 5.1\*10^15 of each tokens. So far that has not been if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) { ``` -If the time elapsed is not zero, it means we are the first exchange transaction on this block. In that case, -we need to update the cost accumulators. +If the time elapsed is not zero, it means we are the first exchange transaction on this block. In that case, we need to update the cost accumulators. ```solidity // * never overflows, and + overflow is desired @@ -415,9 +368,7 @@ we need to update the cost accumulators. } ``` -Each cost accumulator is updated with the latest cost (reserve of the other token/reserve of this token) times the elapsed time -in seconds. To get an average price you read the cumulative price is two points in time, and divide by the time difference -between them. For example, assume this sequence of events: +Each cost accumulator is updated with the latest cost (reserve of the other token/reserve of this token) times the elapsed time in seconds. To get an average price you read the cumulative price is two points in time, and divide by the time difference between them. For example, assume this sequence of events: | Event | reserve0 | reserve1 | timestamp | Marginal exchange rate (reserve1 / reserve0) | price0CumulativeLast | | -------------------------------------------------------- | --------: | --------: | --------- | -------------------------------------------: | -------------------------: | @@ -428,9 +379,7 @@ between them. For example, assume this sequence of events: | Trader D deposits 100 token1 and gets 109.01 token0 back | 990.990 | 1,009.090 | 5,110 | 1.018 | 91.37+10\*0.826 = 99.63 | | Trader E deposits 10 token0 and gets 10.079 token1 back | 1,000.990 | 999.010 | 5,150 | 0.998 | 99.63+40\*1.1018 = 143.702 | -Let's say we want to calculate the average price of **Token0** between the timestamps 5,030 and 5,150. The difference in the value of -`price0Cumulative` is 143.702-29.07=114.632. This is the average across two minutes (120 seconds). So the average price is -114.632/120 = 0.955. +Let's say we want to calculate the average price of **Token0** between the timestamps 5,030 and 5,150. The difference in the value of `price0Cumulative` is 143.702-29.07=114.632. This is the average across two minutes (120 seconds). So the average price is 114.632/120 = 0.955. This price calculation is the reason we need to know the old reserve sizes. @@ -451,37 +400,30 @@ Finally, update the global variables and emit a `Sync` event. function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) { ``` -In Uniswap 2.0 traders pay a 0.30% fee to use the market. Most of that fee (0.25% of the trade) -always goes to the liquidity providers. The remaining 0.05% can go either to the liquidity -providers or to an address specified by the factory as a protocol fee, which pays Uniswap for -their development effort. +In Uniswap 2.0 traders pay a 0.30% fee to use the market. Most of that fee (0.25% of the trade) always goes to the liquidity providers. The remaining 0.05% can go either to the liquidity providers or to an address specified by the factory as a protocol fee, which pays Uniswap for their development effort. -To reduce calculations (and therefore gas costs), this fee is only calculated when liquidity -is added or removed from the pool, rather than at each transaction. +To reduce calculations (and therefore gas costs), this fee is only calculated when liquidity is added or removed from the pool, rather than at each transaction. ```solidity address feeTo = IUniswapV2Factory(factory).feeTo(); feeOn = feeTo != address(0); ``` -Read the fee destination of the factory. If it is zero then there is no protocol fee and no -need to calculate it that fee. +Read the fee destination of the factory. If it is zero then there is no protocol fee and no need to calculate it that fee. ```solidity uint _kLast = kLast; // gas savings ``` The `kLast` state variable is located in storage, so it will have a value between different calls to the contract. -Access to storage is a lot more expensive than access to the volatile memory that is released when the function -call to the contract ends, so we use an internal variable to save on gas. +Access to storage is a lot more expensive than access to the volatile memory that is released when the function call to the contract ends, so we use an internal variable to save on gas. ```solidity if (feeOn) { if (_kLast != 0) { ``` -The liquidity providers get their cut simply by the appreciation of their liquidity tokens. But the protocol -fee requires new liquidity tokens to be minted and provided to the `feeTo` address. +The liquidity providers get their cut simply by the appreciation of their liquidity tokens. But the protocol fee requires new liquidity tokens to be minted and provided to the `feeTo` address. ```solidity uint rootK = Math.sqrt(uint(_reserve0).mul(_reserve1)); @@ -489,8 +431,7 @@ fee requires new liquidity tokens to be minted and provided to the `feeTo` addre if (rootK > rootKLast) { ``` -If there is new liquidity on which to collect a protocol fee. You can see the square root function -[later in this article](#Math) +If there is new liquidity on which to collect a protocol fee. You can see the square root function [later in this article](#Math) ```solidity uint numerator = totalSupply.mul(rootK.sub(rootKLast)); @@ -498,10 +439,7 @@ If there is new liquidity on which to collect a protocol fee. You can see the sq uint liquidity = numerator / denominator; ``` -This complicated calculation of fees is explained in [the whitepaper](https://uniswap.org/whitepaper.pdf) on page 5. We know -that between the time `kLast` was calculated and the present no liquidity was added or removed (because we run this -calculation every time liquidity is added or removed, before it actually changes), so any change in `reserve0 * reserve1` has to -come from transaction fees (without them we'd keep `reserve0 * reserve1` constant). +This complicated calculation of fees is explained in [the whitepaper](https://uniswap.org/whitepaper.pdf) on page 5. We know that between the time `kLast` was calculated and the present no liquidity was added or removed (because we run this calculation every time liquidity is added or removed, before it actually changes), so any change in `reserve0 * reserve1` has to come from transaction fees (without them we'd keep `reserve0 * reserve1` constant). ```solidity if (liquidity > 0) _mint(feeTo, liquidity); @@ -518,16 +456,12 @@ Use the `UniswapV2ERC20._mint` function to actually create the additional liquid } ``` -If there is no fee set `kLast` to zero (if it isn't that already). When this contract was written there -was a [gas refund feature](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-3298.md) that encouraged -contracts to reduce the overall size of the Ethereum state by zeroing out storage they did not need. +If there is no fee set `kLast` to zero (if it isn't that already). When this contract was written there was a [gas refund feature](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-3298.md) that encouraged contracts to reduce the overall size of the Ethereum state by zeroing out storage they did not need. This code gets that refund when possible. #### Externally Accessible Functions {#pair-external} -Note that while any transaction or contract _can_ call these functions, they are designed to be called from -the periphery contract. If you call them directly you won't be able to cheat the pair exchange, but you might -lose value through a mistake. +Note that while any transaction or contract _can_ call these functions, they are designed to be called from the periphery contract. If you call them directly you won't be able to cheat the pair exchange, but you might lose value through a mistake. ##### mint @@ -536,17 +470,13 @@ lose value through a mistake. function mint(address to) external lock returns (uint liquidity) { ``` -This function is called when a liquidity provider adds liquidity to the pool. It mints additional liquidity -tokens as a reward. It should be called from [a periphery contract](#UniswapV2Router02) -that calls it after adding the liquidity in the same transaction (so nobody else would be able to submit a -transaction that claims the new liquidity before the legitimate owner). +This function is called when a liquidity provider adds liquidity to the pool. It mints additional liquidity tokens as a reward. It should be called from [a periphery contract](#UniswapV2Router02) that calls it after adding the liquidity in the same transaction (so nobody else would be able to submit a transaction that claims the new liquidity before the legitimate owner). ```solidity (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings ``` -This is the way to read the results of a Solidity function that returns multiple values. We discard the last -returned values, the block timestamp, because we don't need it. +This is the way to read the results of a Solidity function that returns multiple values. We discard the last returned values, the block timestamp, because we don't need it. ```solidity uint balance0 = IERC20(token0).balanceOf(address(this)); @@ -561,9 +491,7 @@ Get the current balances and see how much was added of each token type. bool feeOn = _mintFee(_reserve0, _reserve1); ``` -Calculate the protocol fees to collect, if any, and mint liquidity tokens accordingly. Because the parameters -to `_mintFee` are the old reserve values, the fee is calculated accurately based only on pool changes due to -fees. +Calculate the protocol fees to collect, if any, and mint liquidity tokens accordingly. Because the parameters to `_mintFee` are the old reserve values, the fee is calculated accurately based only on pool changes due to fees. ```solidity uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee @@ -572,18 +500,12 @@ fees. _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens ``` -If this is the first deposit, create `MINIMUM_LIQUIDITY` tokens and send them to address zero to lock them. They can -never to redeemed, which means the pool will never be emptied completely (this saves us from division by zero in -some places). The value of `MINIMUM_LIQUIDITY` is a thousand, which considering most ERC-20 are subdivided into units -of 10^-18'th of a token, as ETH is divided into wei, is 10^-15 to the value of a single token. Not a high cost. +If this is the first deposit, create `MINIMUM_LIQUIDITY` tokens and send them to address zero to lock them. They can never to redeemed, which means the pool will never be emptied completely (this saves us from division by zero in some places). The value of `MINIMUM_LIQUIDITY` is a thousand, which considering most ERC-20 are subdivided into units of 10^-18'th of a token, as ETH is divided into wei, is 10^-15 to the value of a single token. Not a high cost. -In the time of the first deposit we don't know the relative value of the two tokens, so we just multiply the amounts -and take a square root, assuming that the deposit provides us with equal value in both tokens. +In the time of the first deposit we don't know the relative value of the two tokens, so we just multiply the amounts and take a square root, assuming that the deposit provides us with equal value in both tokens. We can trust this because it is in the depositor's interest to provide equal value, to avoid losing value to arbitrage. -Let's say that the value of the two tokens is identical, but our depositor deposited four times as many of **Token1** as -of **Token0**. A trader can use the fact the pair exchange thinks that **Token0** is more valuable to extract value -out of it. +Let's say that the value of the two tokens is identical, but our depositor deposited four times as many of **Token1** as of **Token0**. A trader can use the fact the pair exchange thinks that **Token0** is more valuable to extract value out of it. | Event | reserve0 | reserve1 | reserve0 \* reserve1 | Value of the pool (reserve0 + reserve1) | | ------------------------------------------------------------ | -------: | -------: | -------------------: | --------------------------------------: | @@ -597,13 +519,9 @@ As you can see, the trader earned an extra 8 tokens, which come from a reduction liquidity = Math.min(amount0.mul(_totalSupply) / _reserve0, amount1.mul(_totalSupply) / _reserve1); ``` -With every subsequent deposit we already know the exchange rate between the two assets, and we expect liquidity providers to provide -equal value in both. If they don't, we give them liquidity tokens based on the lesser value they provided as a punishment. +With every subsequent deposit we already know the exchange rate between the two assets, and we expect liquidity providers to provide equal value in both. If they don't, we give them liquidity tokens based on the lesser value they provided as a punishment. -Whether it is the initial deposit or a subsequent one, the number of liquidity tokens we provide is equal to the square -root of the change in `reserve0*reserve1` and the value of the liquidity token doesn't change (unless we get a deposit that doesn't have equal values of both -types, in which case the "fine" gets distributed). Here is another example with two tokens that have the same value, with three good deposits and one bad one -(deposit of only one token type, so it doesn't produce any liquidity tokens). +Whether it is the initial deposit or a subsequent one, the number of liquidity tokens we provide is equal to the square root of the change in `reserve0*reserve1` and the value of the liquidity token doesn't change (unless we get a deposit that doesn't have equal values of both types, in which case the "fine" gets distributed). Here is another example with two tokens that have the same value, with three good deposits and one bad one (deposit of only one token type, so it doesn't produce any liquidity tokens). | Event | reserve0 | reserve1 | reserve0 \* reserve1 | Pool value (reserve0 + reserve1) | Liquidity tokens minted for this deposit | Total liquidity tokens | value of each liquidity token | | ------------------------- | -------: | -------: | -------------------: | -------------------------------: | ---------------------------------------: | ---------------------: | ----------------------------: | @@ -639,7 +557,7 @@ Update the state variables (`reserve0`, `reserve1`, and if needed `kLast`) and e ``` This function is called when liquidity is withdrawn and the appropriate liquidity tokens need to be burned. -Is should also be called [from a periphery account](#UniswapV2Router02). +It should also be called [from a periphery account](#UniswapV2Router02). ```solidity (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings @@ -650,8 +568,7 @@ Is should also be called [from a periphery account](#UniswapV2Router02). uint liquidity = balanceOf[address(this)]; ``` -The periphery contract transferred the liquidity to be burned to this contract before the call. That way -we know how much liquidity to burn, and we can make sure that it gets burned. +The periphery contract transferred the liquidity to be burned to this contract before the call. That way we know how much liquidity to burn, and we can make sure that it gets burned. ```solidity bool feeOn = _mintFee(_reserve0, _reserve1); @@ -699,8 +616,7 @@ This function is also supposed to be called from [a periphery contract](#Uniswap ``` Local variables can be stored either in memory or, if there aren't too many of them, directly on the stack. -If we can limit the number so we'll use the stack we use less gas. For more details see -[the yellow paper, the formal Ethereum specifications](https://ethereum.github.io/yellowpaper/paper.pdf), p. 26, equation 298. +If we can limit the number so we'll use the stack we use less gas. For more details see [the yellow paper, the formal Ethereum specifications](https://ethereum.github.io/yellowpaper/paper.pdf), p. 26, equation 298. ```solidity address _token0 = token0; @@ -710,8 +626,7 @@ If we can limit the number so we'll use the stack we use less gas. For more deta if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens ``` -This transfer is optimistic, because we transfer before we are sure all the conditions are met. This is OK in Ethereum -because if the conditions aren't met later in the call we revert out of it and any changes it created. +This transfer is optimistic, because we transfer before we are sure all the conditions are met. This is OK in Ethereum because if the conditions aren't met later in the call we revert out of it and any changes it created. ```solidity if (data.length > 0) IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data); @@ -725,9 +640,7 @@ Inform the receiver about the swap if requested. } ``` -Get the current balances. The periphery contract sends us the tokens before calling us for the swap. This makes it easy for -the contract to check that it is not being cheated, a check that _has_ to happen in the core contract (because we can be -called by other entities than our periphery contract). +Get the current balances. The periphery contract sends us the tokens before calling us for the swap. This makes it easy for the contract to check that it is not being cheated, a check that _has_ to happen in the core contract (because we can be called by other entities than our periphery contract). ```solidity uint amount0In = balance0 > _reserve0 - amount0Out ? balance0 - (_reserve0 - amount0Out) : 0; @@ -739,8 +652,7 @@ called by other entities than our periphery contract). require(balance0Adjusted.mul(balance1Adjusted) >= uint(_reserve0).mul(_reserve1).mul(1000**2), 'UniswapV2: K'); ``` -This is a sanity check to make sure we don't lose from the swap. There is no circumstance in which a swap should reduce -`reserve0*reserve1`. This is also where we ensure a fee of 0.3% is being sent on the swap; before sanity checking the value of K, we multiply both balances by 1000 subtracted by the amounts multiplied by 3, this means 0.3% (3/1000 = 0.003 = 0.3%) is being deducted from the balance before comparing its K value with the current reserves K value. +This is a sanity check to make sure we don't lose from the swap. There is no circumstance in which a swap should reduce `reserve0*reserve1`. This is also where we ensure a fee of 0.3% is being sent on the swap; before sanity checking the value of K, we multiply both balances by 1000 subtracted by the amounts multiplied by 3, this means 0.3% (3/1000 = 0.003 = 0.3%) is being deducted from the balance before comparing its K value with the current reserves K value. ```solidity } @@ -755,14 +667,12 @@ Update `reserve0` and `reserve1`, and if necessary the price accumulators and th ##### Sync or Skim {#sync-or-skim} It is possible for the real balances to get out of sync with the reserves that the pair exchange thinks it has. -There is no way to withdraw tokens without the contract's consent, but deposits are a different matter. An account -can transfer tokens to the exchange without calling either `mint` or `swap`. +There is no way to withdraw tokens without the contract's consent, but deposits are a different matter. An account can transfer tokens to the exchange without calling either `mint` or `swap`. In that case there are two solutions: - `sync`, update the reserves to the current balances -- `skim`, withdraw the extra amount. Note that any account is allowed to call `skim` because we don't know who - deposited the tokens. This information is emitted in an event, but events are not accessible from the blockchain. +- `skim`, withdraw the extra amount. Note that any account is allowed to call `skim` because we don't know who deposited the tokens. This information is emitted in an event, but events are not accessible from the blockchain. ```solidity // force balances to match reserves @@ -784,8 +694,7 @@ In that case there are two solutions: ### UniswapV2Factory.sol {#UniswapV2Factory} -[This contract](https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2Factory.sol) creates the pair -exchanges. +[This contract](https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2Factory.sol) creates the pair exchanges. ```solidity pragma solidity =0.5.16; @@ -799,8 +708,7 @@ contract UniswapV2Factory is IUniswapV2Factory { ``` These state variables are necessary to implement the protocol fee (see [the whitepaper](https://uniswap.org/whitepaper.pdf), p. 5). -The `feeTo` address accumulates the liquidity tokens for the protocol fee, and `feeToSetter` is the address allowed to change `feeTo` to -a different address. +The `feeTo` address accumulates the liquidity tokens for the protocol fee, and `feeToSetter` is the address allowed to change `feeTo` to a different address. ```solidity mapping(address => mapping(address => address)) public getPair; @@ -809,30 +717,18 @@ a different address. These variables keep track of the pairs, the exchanges between two token types. -The first one, `getPair`, is a mapping that identifies a pair exchange contract based on the -two ERC-20 tokens it exchanges. ERC-20 tokens are identified by the addresses of the contracts -that implement them, so the keys and the value are all addresses. To get the address of the -pair exchange that lets you convert from `tokenA` to `tokenB`, you use -`getPair[][]` (or the other way around). +The first one, `getPair`, is a mapping that identifies a pair exchange contract based on the two ERC-20 tokens it exchanges. ERC-20 tokens are identified by the addresses of the contracts that implement them, so the keys and the value are all addresses. To get the address of the pair exchange that lets you convert from `tokenA` to `tokenB`, you use `getPair[][]` (or the other way around). -The second variable, `allPairs`, is an array that includes all the addresses of pair -exchanges created by this factory. In Ethereum you cannot iterate over the content of a mapping, -or get a list of all the keys, so this variable is the only way to know which exchanges this -factory manages. +The second variable, `allPairs`, is an array that includes all the addresses of pair exchanges created by this factory. In Ethereum you cannot iterate over the content of a mapping, or get a list of all the keys, so this variable is the only way to know which exchanges this factory manages. -Note: The reason you cannot iterate over all the keys of a mapping is that contract data -storage is _expensive_, so the less of it we use the better, and the less often we change -it the better. You can create [mappings that support -iteration](https://github.com/ethereum/dapp-bin/blob/master/library/iterable_mapping.sol), -but they require extra storage for a list of keys. In most applications you do not need -that. +Note: The reason you cannot iterate over all the keys of a mapping is that contract data storage is _expensive_, so the less of it we use the better, and the less often we change +it the better. You can create [mappings that support iteration](https://github.com/ethereum/dapp-bin/blob/master/library/iterable_mapping.sol), but they require extra storage for a list of keys. In most applications you do not need that. ```solidity event PairCreated(address indexed token0, address indexed token1, address pair, uint); ``` -This event is emitted when a new pair exchange is created. It includes the tokens' addresses, -the pair exchange's address, and the total number of exchanges managed by the factory. +This event is emitted when a new pair exchange is created. It includes the tokens' addresses, the pair exchange's address, and the total number of exchanges managed by the factory. ```solidity constructor(address _feeToSetter) public { @@ -840,8 +736,7 @@ the pair exchange's address, and the total number of exchanges managed by the fa } ``` -The only thing the constructor does is specify the `feeToSetter`. Factories start without -a fee, and only `feeSetter` can change that. +The only thing the constructor does is specify the `feeToSetter`. Factories start without a fee, and only `feeSetter` can change that. ```solidity function allPairsLength() external view returns (uint) { @@ -855,40 +750,29 @@ This function returns the number of exchange pairs. function createPair(address tokenA, address tokenB) external returns (address pair) { ``` -This is the main function of the factory, to create a pair exchange between two ERC-20 tokens. Note -that anybody can call this function. You do not need permission from Uniswap to create a new pair -exchange. +This is the main function of the factory, to create a pair exchange between two ERC-20 tokens. Note that anybody can call this function. You do not need permission from Uniswap to create a new pair exchange. ```solidity require(tokenA != tokenB, 'UniswapV2: IDENTICAL_ADDRESSES'); (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA); ``` -We want the address of the new exchange to be deterministic, so it can be calculated in advance off chain -(this can be useful for [layer 2 transactions](/developers/docs/layer-2-scaling/)). -To do this we need to have a consistent order of the token addresses, regardless of the order in which we have -received them, so we sort them here. +We want the address of the new exchange to be deterministic, so it can be calculated in advance off chain (this can be useful for [layer 2 transactions](/developers/docs/layer-2-scaling/)). +To do this we need to have a consistent order of the token addresses, regardless of the order in which we have received them, so we sort them here. ```solidity require(token0 != address(0), 'UniswapV2: ZERO_ADDRESS'); require(getPair[token0][token1] == address(0), 'UniswapV2: PAIR_EXISTS'); // single check is sufficient ``` -Large liquidity pools are better than small ones, because they have more stable prices. We don't want to have more -than a single liquidity pool per pair of tokens. If there is already an exchange, there's no need to create another -one for the same pair. +Large liquidity pools are better than small ones, because they have more stable prices. We don't want to have more than a single liquidity pool per pair of tokens. If there is already an exchange, there's no need to create another one for the same pair. ```solidity bytes memory bytecode = type(UniswapV2Pair).creationCode; ``` -To create a new contract we need the code that creates it (both the constructor function and code that writes -to memory the EVM bytecode of the actual contract). Normally in Solidity we just use -`addr = new ()` and the compiler takes care of everything for us, but to -have a deterministic contract address we need to use [the CREATE2 opcode](https://eips.ethereum.org/EIPS/eip-1014). -When this code was written that opcode was not yet supported by Solidity, so it was necessary to manually get the -code. This is no longer an issue, because -[Solidity now supports CREATE2](https://docs.soliditylang.org/en/v0.8.3/control-structures.html#salted-contract-creations-create2). +To create a new contract we need the code that creates it (both the constructor function and code that writes to memory the EVM bytecode of the actual contract). Normally in Solidity we just use `addr = new ()` and the compiler takes care of everything for us, but to have a deterministic contract address we need to use [the CREATE2 opcode](https://eips.ethereum.org/EIPS/eip-1014). +When this code was written that opcode was not yet supported by Solidity, so it was necessary to manually get the code. This is no longer an issue, because [Solidity now supports CREATE2](https://docs.soliditylang.org/en/v0.8.3/control-structures.html#salted-contract-creations-create2). ```solidity bytes32 salt = keccak256(abi.encodePacked(token0, token1)); @@ -928,20 +812,14 @@ Save the new pair information in the state variables and emit an event to inform } ``` -These two functions allow `feeSetter` to control the fee recipient (if any), and to change `feeSetter` to a new -address. +These two functions allow `feeSetter` to control the fee recipient (if any), and to change `feeSetter` to a new address. ### UniswapV2ERC20.sol {#UniswapV2ERC20} -[This contract](https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol) implements the -ERC-20 liquidity token. It is similar to the [OpenWhisk ERC-20 contract](/developers/tutorials/erc20-annotated-code), so -I will only explain the part that is different, the `permit` functionality. +[This contract](https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol) implements the ERC-20 liquidity token. It is similar to the [OpenWhisk ERC-20 contract](/developers/tutorials/erc20-annotated-code), so I will only explain the part that is different, the `permit` functionality. -Transactions on Ethereum cost ether (ETH), which is equivalent to real money. If you have ERC-20 tokens but not ETH, you can't send -transactions, so you can't do anything with them. One solution to avoid this problem is -[meta-transactions](https://docs.uniswap.org/protocol/V2/guides/smart-contract-integration/supporting-meta-transactions/). -The owner of the tokens signs a transaction that allows somebody else to withdraw tokens off chain and sends it using the Internet to -the recipient. The recipient, which does have ETH, then submits the permit on behalf of the owner. +Transactions on Ethereum cost ether (ETH), which is equivalent to real money. If you have ERC-20 tokens but not ETH, you can't send transactions, so you can't do anything with them. One solution to avoid this problem is [meta-transactions](https://docs.uniswap.org/protocol/V2/guides/smart-contract-integration/supporting-meta-transactions/). +The owner of the tokens signs a transaction that allows somebody else to withdraw tokens off chain and sends it using the Internet to the recipient. The recipient, which does have ETH, then submits the permit on behalf of the owner. ```solidity bytes32 public DOMAIN_SEPARATOR; @@ -949,17 +827,13 @@ the recipient. The recipient, which does have ETH, then submits the permit on be bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9; ``` -This hash is the [identifier for the transaction type](https://eips.ethereum.org/EIPS/eip-712#rationale-for-typehash). The only -one we support here is `Permit` with these parameters. +This hash is the [identifier for the transaction type](https://eips.ethereum.org/EIPS/eip-712#rationale-for-typehash). The only one we support here is `Permit` with these parameters. ```solidity mapping(address => uint) public nonces; ``` -It is not feasible for a recipient to fake a digital signature. However, it is trivial to send the same transaction twice -(this is a form of [replay attack](https://wikipedia.org/wiki/Replay_attack)). To prevent this, we use -a [nonce](https://wikipedia.org/wiki/Cryptographic_nonce). If the nonce of a new `Permit` is not one more than the last one -used, we assume it is invalid. +It is not feasible for a recipient to fake a digital signature. However, it is trivial to send the same transaction twice (this is a form of [replay attack](https://wikipedia.org/wiki/Replay_attack)). To prevent this, we use a [nonce](https://wikipedia.org/wiki/Cryptographic_nonce). If the nonce of a new `Permit` is not one more than the last one used, we assume it is invalid. ```solidity constructor() public { @@ -969,9 +843,7 @@ used, we assume it is invalid. } ``` -This is the code to retrieve the [chain identifier](https://chainid.network/). It uses an EVM assembly dialect called -[Yul](https://docs.soliditylang.org/en/v0.8.4/yul.html). Note that in the current version of Yul you have to use `chainid()`, -not `chainid`. +This is the code to retrieve the [chain identifier](https://chainid.network/). It uses an EVM assembly dialect called [Yul](https://docs.soliditylang.org/en/v0.8.4/yul.html). Note that in the current version of Yul you have to use `chainid()`, not `chainid`. ```solidity DOMAIN_SEPARATOR = keccak256( @@ -992,8 +864,7 @@ Calculate the [domain separator](https://eips.ethereum.org/EIPS/eip-712#rational function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external { ``` -This is the function that implements the permissions. It receives as parameters the relevant fields, and the three scalar values -for [the signature](https://yos.io/2018/11/16/ethereum-signatures/) (v, r, and s). +This is the function that implements the permissions. It receives as parameters the relevant fields, and the three scalar values for [the signature](https://yos.io/2018/11/16/ethereum-signatures/) (v, r, and s). ```solidity require(deadline >= block.timestamp, 'UniswapV2: EXPIRED'); @@ -1011,8 +882,7 @@ Don't accept transactions after the deadline. ); ``` -`abi.encodePacked(...)` is the message we expect to get. We know what the nonce should be, so there is no need for us to -get it as a parameter +`abi.encodePacked(...)` is the message we expect to get. We know what the nonce should be, so there is no need for us to get it as a parameter. The Ethereum signature algorithm expects to get 256 bits to sign, so we use the `keccak256` hash function. @@ -1020,8 +890,7 @@ The Ethereum signature algorithm expects to get 256 bits to sign, so we use the address recoveredAddress = ecrecover(digest, v, r, s); ``` -From the digest and the signature we can get the address that signed it using -[ecrecover](https://coders-errand.com/ecrecover-signature-verification-ethereum/). +From the digest and the signature we can get the address that signed it using [ecrecover](https://coders-errand.com/ecrecover-signature-verification-ethereum/). ```solidity require(recoveredAddress != address(0) && recoveredAddress == owner, 'UniswapV2: INVALID_SIGNATURE'); @@ -1034,22 +903,16 @@ If everything is OK, treat this as [an ERC-20 approve](https://eips.ethereum.org ## The Periphery Contracts {#periphery-contracts} -The periphery contracts are the API (application program interface) for Uniswap. They are available for external calls, either from -other contracts or decentralized applications. You could call the core contracts directly, but that's more complicated and you -might lose value if you make a mistake. The core contracts only contain tests to make sure they aren't cheated, not sanity checks -for anybody else. Those are in the periphery so they can be updated as needed. +The periphery contracts are the API (application program interface) for Uniswap. They are available for external calls, either from other contracts or decentralized applications. You could call the core contracts directly, but that's more complicated and you might lose value if you make a mistake. The core contracts only contain tests to make sure they aren't cheated, not sanity checks for anybody else. Those are in the periphery so they can be updated as needed. ### UniswapV2Router01.sol {#UniswapV2Router01} -[This contract](https://github.com/Uniswap/uniswap-v2-periphery/blob/master/contracts/UniswapV2Router01.sol) -has problems, and [should no longer be used](https://docs.uniswap.org/protocol/V2/reference/smart-contracts/router-01/). Luckily, -the periphery contracts are stateless and don't hold any assets, so it is easy to deprecate it and suggest -people use the replacement, `UniswapV2Router02`, instead. +[This contract](https://github.com/Uniswap/uniswap-v2-periphery/blob/master/contracts/UniswapV2Router01.sol) has problems, and [should no longer be used](https://uniswap.org/docs/v2/smart-contracts/router01/). Luckily, the periphery contracts are stateless and don't hold any assets, so it is easy to deprecate it and suggest people use the replacement, `UniswapV2Router02`, instead. ### UniswapV2Router02.sol {#UniswapV2Router02} In most cases you would use Uniswap through [this contract](https://github.com/Uniswap/uniswap-v2-periphery/blob/master/contracts/UniswapV2Router02.sol). -You can see how to use it [here](https://docs.uniswap.org/protocol/V2/reference/smart-contracts/router-02/). +You can see how to use it [here](https://uniswap.org/docs/v2/smart-contracts/router02/). ```solidity pragma solidity =0.6.6; @@ -1064,10 +927,7 @@ import './interfaces/IERC20.sol'; import './interfaces/IWETH.sol'; ``` -Most of these we either encountered before, or are fairly obvious. The one exception is `IWETH.sol`. Uniswap v2 allows exchanges for -any pair of ERC-20 tokens, but ether (ETH) itself isn't an ERC-20 token. It predates the standard and is transfered by unique mechanisms. To -enable the use of ETH in contracts that apply to ERC-20 tokens people came up with the [wrapped ether (WETH)](https://weth.io/) contract. You -send this contract ETH, and it mints you an equivalent amount of WETH. Or you can burn WETH, and get ETH back. +Most of these we either encountered before, or are fairly obvious. The one exception is `IWETH.sol`. Uniswap v2 allows exchanges for any pair of ERC-20 tokens, but ether (ETH) itself isn't an ERC-20 token. It predates the standard and is transfered by unique mechanisms. To enable the use of ETH in contracts that apply to ERC-20 tokens people came up with the [wrapped ether (WETH)](https://weth.io/) contract. You send this contract ETH, and it mints you an equivalent amount of WETH. Or you can burn WETH, and get ETH back. ```solidity contract UniswapV2Router02 is IUniswapV2Router02 { @@ -1077,10 +937,7 @@ contract UniswapV2Router02 is IUniswapV2Router02 { address public immutable override WETH; ``` -The router needs to know what factory to use, and for transactions that require WETH what WETH contract to use. These values are -[immutable](https://docs.soliditylang.org/en/v0.8.3/contracts.html#constant-and-immutable-state-variables), meaning they can -only be set in the constructor. This gives users the confidence that nobody would be able to change them to point to less honest -contracts. +The router needs to know what factory to use, and for transactions that require WETH what WETH contract to use. These values are [immutable](https://docs.soliditylang.org/en/v0.8.3/contracts.html#constant-and-immutable-state-variables), meaning they can only be set in the constructor. This gives users the confidence that nobody would be able to change them to point to less honest contracts. ```solidity modifier ensure(uint deadline) { @@ -1106,8 +963,7 @@ The constructor just sets the immutable state variables. } ``` -This function is called when we redeem tokens from the WETH contract back into ETH. Only the WETH contract we use is authorized -to do that. +This function is called when we redeem tokens from the WETH contract back into ETH. Only the WETH contract we use is authorized to do that. #### Add Liquidity {#add-liquidity} @@ -1119,8 +975,7 @@ These functions add tokens to the pair exchange, which increases the liquidity p function _addLiquidity( ``` -This function is used to calculate the amount of A and B tokens that should be deposited into the -pair exchange. +This function is used to calculate the amount of A and B tokens that should be deposited into the pair exchange. ```solidity address tokenA, @@ -1134,23 +989,18 @@ These are the addresses of the ERC-20 token contracts. uint amountBDesired, ``` -These are the amounts the liquidity provider wants to deposit. They are also the maximum amounts of A and -B to be deposited. +These are the amounts the liquidity provider wants to deposit. They are also the maximum amounts of A and B to be deposited. ```solidity uint amountAMin, uint amountBMin ``` -These are the minimum acceptable amounts to deposit. If the transaction cannot take place with -these amounts or more, revert out of it. If you don't want this feature, just specify zero. +These are the minimum acceptable amounts to deposit. If the transaction cannot take place with these amounts or more, revert out of it. If you don't want this feature, just specify zero. -Liquidity providers specify a minimum, typically, because they want to limit the transaction to -an exchange rate that is close to the current one. If the exchange rate fluctuates too much it -might mean news that change the underlying values, and they want to decide manually what to do. +Liquidity providers specify a minimum, typically, because they want to limit the transaction to an exchange rate that is close to the current one. If the exchange rate fluctuates too much it might mean news that change the underlying values, and they want to decide manually what to do. -For example, imagine a case where the exchange rate is one to one and the liquidity provider -specifies these values: +For example, imagine a case where the exchange rate is one to one and the liquidity provider specifies these values: | Parameter | Value | | -------------- | ----: | @@ -1159,20 +1009,15 @@ specifies these values: | amountAMin | 900 | | amountBMin | 800 | -As long as the exchange rate stays between 0.9 and 1.25, the transaction takes place. If the -exchange rate gets out of that range, the transaction gets cancelled. +As long as the exchange rate stays between 0.9 and 1.25, the transaction takes place. If the exchange rate gets out of that range, the transaction gets cancelled. -The reason for this precaution is that transactions are not immediate, you submit them and eventually -a miner is going to include them in a block (unless your gas price is very low, in which case you'll -need to submit another transaction with the same nonce and a higher gas price to overwrite it). You -cannot control what happens during the interval between submission and inclusion. +The reason for this precaution is that transactions are not immediate, you submit them and eventually a miner is going to include them in a block (unless your gas price is very low, in which case you'll need to submit another transaction with the same nonce and a higher gas price to overwrite it). You cannot control what happens during the interval between submission and inclusion. ```solidity ) internal virtual returns (uint amountA, uint amountB) { ``` -The function returns the amounts the liquidity provider should deposit to have a ratio equal to the current -ratio between reserves. +The function returns the amounts the liquidity provider should deposit to have a ratio equal to the current ratio between reserves. ```solidity // create the pair if it doesn't exist yet @@ -1194,17 +1039,14 @@ Get the current reserves in the pair. (amountA, amountB) = (amountADesired, amountBDesired); ``` -If the current reserves are empty then this is a new pair exchange. The amounts to be deposited should be exactly -the same as those the liquidity provider wants to provide. +If the current reserves are empty then this is a new pair exchange. The amounts to be deposited should be exactly the same as those the liquidity provider wants to provide. ```solidity } else { uint amountBOptimal = UniswapV2Library.quote(amountADesired, reserveA, reserveB); ``` -If we need to see what amounts will be, we get the optimal amount using -[this function](https://github.com/Uniswap/uniswap-v2-periphery/blob/master/contracts/libraries/UniswapV2Library.sol#L35). -We want the same ratio as the current reserves. +If we need to see what amounts will be, we get the optimal amount using [this function](https://github.com/Uniswap/uniswap-v2-periphery/blob/master/contracts/libraries/UniswapV2Library.sol#L35). We want the same ratio as the current reserves. ```solidity if (amountBOptimal <= amountBDesired) { @@ -1212,8 +1054,7 @@ We want the same ratio as the current reserves. (amountA, amountB) = (amountADesired, amountBOptimal); ``` -If `amountBOptimal` is smaller than the amount the liquidity provider wants to deposit it means that token B is more -valuable currently than the liquidity depositor thinks, so a smaller amount is required. +If `amountBOptimal` is smaller than the amount the liquidity provider wants to deposit it means that token B is more valuable currently than the liquidity depositor thinks, so a smaller amount is required. ```solidity } else { @@ -1223,14 +1064,9 @@ valuable currently than the liquidity depositor thinks, so a smaller amount is r (amountA, amountB) = (amountAOptimal, amountBDesired); ``` -If the optimal B amount is more than the desired B amount it means B tokens are less valuable currently than the -liquidity depositor thinks, so a higher amount is required. However, the desired amount is a maximum, so we cannot -do that. Instead we calculate the optimal number of A tokens for the desired amount of B tokens. +If the optimal B amount is more than the desired B amount it means B tokens are less valuable currently than the liquidity depositor thinks, so a higher amount is required. However, the desired amount is a maximum, so we cannot do that. Instead we calculate the optimal number of A tokens for the desired amount of B tokens. -Putting it all together we get this graph. Assume you're trying to deposit a thousand A tokens (blue line) and a -thousand B tokens (red line). The x axis is the exchange rate, A/B. If x=1, they are equal in value and you deposit -a thousand of each. If x=2, A is twice the value of B (you get two B tokens for each A token) so you deposit a thousand -B tokens, but only 500 A tokens. If x=0.5, the situation is reversed, a thousand A tokens and five hundred B tokens. +Putting it all together we get this graph. Assume you're trying to deposit a thousand A tokens (blue line) and a thousand B tokens (red line). The x axis is the exchange rate, A/B. If x=1, they are equal in value and you deposit a thousand of each. If x=2, A is twice the value of B (you get two B tokens for each A token) so you deposit a thousand B tokens, but only 500 A tokens. If x=0.5, the situation is reversed, a thousand A tokens and five hundred B tokens. ![Graph](liquidityProviderDeposit.png) @@ -1240,11 +1076,7 @@ B tokens, but only 500 A tokens. If x=0.5, the situation is reversed, a thousand } ``` -You could deposit liquidity directly into the core contract (using -[UniswapV2Pair::mint](https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2Pair.sol#L110)), but the core contract -only checks that it is not getting cheated itself, so you run the risk of losing value if the exchange rate changes between the time -you submit your transaction and the time it is executed. If you use the periphery contract, it figures the amount you should deposit -and deposits it immediately, so the exchange rate doesn't change and you don't lose anything. +You could deposit liquidity directly into the core contract (using [UniswapV2Pair::mint](https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2Pair.sol#L110)), but the core contract only checks that it is not getting cheated itself, so you run the risk of losing value if the exchange rate changes between the time you submit your transaction and the time it is executed. If you use the periphery contract, it figures the amount you should deposit and deposits it immediately, so the exchange rate doesn't change and you don't lose anything. ```solidity function addLiquidity( @@ -1258,8 +1090,7 @@ and deposits it immediately, so the exchange rate doesn't change and you don't l uint deadline ``` -This function can be called by a transaction to deposit liquidity. Most parameters are the same as in `_addLiquidity` above, with -two exceptions: +This function can be called by a transaction to deposit liquidity. Most parameters are the same as in `_addLiquidity` above, with two exceptions: . `to` is the address that gets the new liquidity tokens minted to show the liquidity provider's portion of the pool . `deadline` is a time limit on the transaction @@ -1270,8 +1101,7 @@ two exceptions: address pair = UniswapV2Library.pairFor(factory, tokenA, tokenB); ``` -We calculate the amounts to actually deposit and then find the address of the liquidity pool. To save gas we don't do this by -asking the factory, but using the library function `pairFor` (see below in libraries) +We calculate the amounts to actually deposit and then find the address of the liquidity pool. To save gas we don't do this by asking the factory, but using the library function `pairFor` (see below in libraries) ```solidity TransferHelper.safeTransferFrom(tokenA, msg.sender, pair, amountA); @@ -1285,9 +1115,7 @@ Transfer the correct amounts of tokens from the user into the pair exchange. } ``` -In return give the `to` address liquidity tokens for partial ownership of the pool. The -`mint` function of the core contract sees how many extra tokens it has (compared -to what it had the last time liquidity changed) and mints liquidity accordingly. +In return give the `to` address liquidity tokens for partial ownership of the pool. The `mint` function of the core contract sees how many extra tokens it has (compared to what it had the last time liquidity changed) and mints liquidity accordingly. ```solidity function addLiquidityETH( @@ -1295,9 +1123,7 @@ to what it had the last time liquidity changed) and mints liquidity accordingly. uint amountTokenDesired, ``` -When a liquidity provider wants to provide liquidity to a Token/ETH pair exchange, there are a few differences. The -contract handles wrapping the ETH for the liquidity provider. There is no need to specify how many ETH the user wants -to deposit, because the user just sends them with the transaction (the amount is available in `msg.value`). +When a liquidity provider wants to provide liquidity to a Token/ETH pair exchange, there are a few differences. The contract handles wrapping the ETH for the liquidity provider. There is no need to specify how many ETH the user wants to deposit, because the user just sends them with the transaction (the amount is available in `msg.value`). ```solidity uint amountTokenMin, @@ -1319,9 +1145,7 @@ to deposit, because the user just sends them with the transaction (the amount is assert(IWETH(WETH).transfer(pair, amountETH)); ``` -To deposit the ETH the contract first wraps it into WETH and then transfers the WETH into the pair. Notice that -the transfer is wrapped in an `assert`. This means that if the transfer fails this contract call also fails, and -therefore the wrapping doesn't really happen. +To deposit the ETH the contract first wraps it into WETH and then transfers the WETH into the pair. Notice that the transfer is wrapped in an `assert`. This means that if the transfer fails this contract call also fails, and therefore the wrapping doesn't really happen. ```solidity liquidity = IUniswapV2Pair(pair).mint(to); @@ -1330,8 +1154,7 @@ therefore the wrapping doesn't really happen. } ``` -The user has already sent us the ETH, so if there is any extra left over (because the other token is less valuable -than the user thought), we need to issue a refund. +The user has already sent us the ETH, so if there is any extra left over (because the other token is less valuable than the user thought), we need to issue a refund. #### Remove Liquidity {#remove-liquidity} @@ -1350,8 +1173,7 @@ These functions will remove liquidity and pay back the liquidity provider. ) public virtual override ensure(deadline) returns (uint amountA, uint amountB) { ``` -The simplest case of removing liquidity. There is a minimum amount of each token the liquidity provider agrees to -accept, and it must happen before the deadline. +The simplest case of removing liquidity. There is a minimum amount of each token the liquidity provider agrees to accept, and it must happen before the deadline. ```solidity address pair = UniswapV2Library.pairFor(factory, tokenA, tokenB); @@ -1365,15 +1187,13 @@ The core contract's `burn` function handles paying the user back the tokens. (address token0,) = UniswapV2Library.sortTokens(tokenA, tokenB); ``` -When a function returns multiple values, but we are only interested in some of them, this is how we -only get those values. It is somewhat cheaper in gas terms than reading a value and never using it. +When a function returns multiple values, but we are only interested in some of them, this is how we only get those values. It is somewhat cheaper in gas terms than reading a value and never using it. ```solidity (amountA, amountB) = tokenA == token0 ? (amount0, amount1) : (amount1, amount0); ``` -Translate the amounts from the way the core contract returns them (lower address token first) to the -way the user expects them (corresponding to `tokenA` and `tokenB`). +Translate the amounts from the way the core contract returns them (lower address token first) to the way the user expects them (corresponding to `tokenA` and `tokenB`). ```solidity require(amountA >= amountAMin, 'UniswapV2Router: INSUFFICIENT_A_AMOUNT'); @@ -1381,8 +1201,7 @@ way the user expects them (corresponding to `tokenA` and `tokenB`). } ``` -It is OK to do the transfer first and then verify it is legitimate, because if it isn't we'll revert -out of all the state changes. +It is OK to do the transfer first and then verify it is legitimate, because if it isn't we'll revert out of all the state changes. ```solidity function removeLiquidityETH( @@ -1408,8 +1227,7 @@ out of all the state changes. } ``` -Remove liquidity for ETH is almost the same, except that we receive the WETH tokens and then redeem them -for ETH to give back to the liquidity provider. +Remove liquidity for ETH is almost the same, except that we receive the WETH tokens and then redeem them for ETH to give back to the liquidity provider. ```solidity function removeLiquidityWithPermit( @@ -1445,8 +1263,7 @@ for ETH to give back to the liquidity provider. } ``` -These functions relay meta-transactions to allow users without ether to withdraw from the pool, using [the permit -mechanism](#UniswapV2ERC20). +These functions relay meta-transactions to allow users without ether to withdraw from the pool, using [the permit mechanism](#UniswapV2ERC20). ```solidity @@ -1475,9 +1292,7 @@ mechanism](#UniswapV2ERC20). ``` -This function can be used for tokens that have transfer or storage fees. When a token has -such fees we cannot rely on the `removeLiquidity` function to tell us how much of the -token we get back, so we need to withdraw first and then get the balance. +This function can be used for tokens that have transfer or storage fees. When a token has such fees we cannot rely on the `removeLiquidity` function to tell us how much of the token we get back, so we need to withdraw first and then get the balance. ```solidity @@ -1510,30 +1325,20 @@ The final function combines storage fees with meta-transactions. function _swap(uint[] memory amounts, address[] memory path, address _to) internal virtual { ``` -This function performs internal processing that is required for the functions that are exposed -to traders. +This function performs internal processing that is required for the functions that are exposed to traders. ```solidity for (uint i; i < path.length - 1; i++) { ``` -As I'm writing this there are [388,160 ERC-20 tokens](https://etherscan.io/tokens). If there was a -pair exchange for each token pair, it would be over a 150 billion pair exchanges. The entire chain, at -the moment, [only has 0.1% that number of accounts](https://etherscan.io/chart/address). Instead, the swap -functions support the concept of a path. A trader can exchange A for B, B for C, and C for D, so there is -no need for a direct A-D pair exchange. +As I'm writing this there are [388,160 ERC-20 tokens](https://etherscan.io/tokens). If there was a pair exchange for each token pair, it would be over a 150 billion pair exchanges. The entire chain, at the moment, [only has 0.1% that number of accounts](https://etherscan.io/chart/address). Instead, the swap functions support the concept of a path. A trader can exchange A for B, B for C, and C for D, so there is no need for a direct A-D pair exchange. -The prices on these markets tend to be synchronized, because when they are out of sync it creates an -opportunity for arbitrage. Imagine, for example, three tokens, A, B, and C. There are three pair -exchanges, one for each pair. +The prices on these markets tend to be synchronized, because when they are out of sync it creates an opportunity for arbitrage. Imagine, for example, three tokens, A, B, and C. There are three pair exchanges, one for each pair. 1. The initial situation 2. A trader sells 24.695 A tokens and gets 25.305 B tokens. -3. The trader sells 24.695 B tokens for 25.305 C tokens, keeping approximately - 0.61 B tokens as profit. -4. Then the trader sells 24.695 C tokens for 25.305 A tokens, keeping approximately 0.61 - C tokens as profit. The trader also has 0.61 extra A tokens (the 25.305 the trader - ends up with, minus the original investment of 24.695). +3. The trader sells 24.695 B tokens for 25.305 C tokens, keeping approximately 0.61 B tokens as profit. +4. Then the trader sells 24.695 C tokens for 25.305 A tokens, keeping approximately 0.61 C tokens as profit. The trader also has 0.61 extra A tokens (the 25.305 the trader ends up with, minus the original investment of 24.695). | Step | A-B Exchange | B-C Exchange | A-C Exchange | | ---- | --------------------------- | --------------------------- | --------------------------- | @@ -1560,8 +1365,7 @@ Get the expected out amounts, sorted the way the pair exchange expects them to b address to = i < path.length - 2 ? UniswapV2Library.pairFor(factory, output, path[i + 2]) : _to; ``` -Is this the last exchange? If so, send the tokens received for the trade to the destination. If not, send it to the -next pair exchange. +Is this the last exchange? If so, send the tokens received for the trade to the destination. If not, send it to the next pair exchange. ```solidity @@ -1572,8 +1376,7 @@ next pair exchange. } ``` -Actually call the pair exchange to swap the tokens. We don't need a callback to be told about the exchange, so -we don't send any bytes in that field. +Actually call the pair exchange to swap the tokens. We don't need a callback to be told about the exchange, so we don't send any bytes in that field. ```solidity function swapExactTokensForTokens( @@ -1587,16 +1390,11 @@ This function is used directly by traders to swap one token for another. address[] calldata path, ``` -This parameter contains the addresses of the ERC-20 contracts. As explained above, this is an array because you might -need to go through several pair exchanges to get from the asset you have to the asset you want. +This parameter contains the addresses of the ERC-20 contracts. As explained above, this is an array because you might need to go through several pair exchanges to get from the asset you have to the asset you want. -A function parameter in solidity can be stored either in `memory` or the `calldata`. If the function is an entry point -to the contract, called directly from a user (using a transaction) or from a different contract, then the parameter's value -can be taken directly from the call data. If the function is called internally, as `_swap` above, then the parameters -have to be stored in `memory`. From the perspective of the called contract `calldata` is read only. +A function parameter in solidity can be stored either in `memory` or the `calldata`. If the function is an entry point to the contract, called directly from a user (using a transaction) or from a different contract, then the parameter's value can be taken directly from the call data. If the function is called internally, as `_swap` above, then the parameters have to be stored in `memory`. From the perspective of the called contract `calldata` is read only. -With scalar types such as `uint` or `address` the compiler handles the choice of storage for us, but with arrays, which -are longer and more expensive, we specify the type of storage to be used. +With scalar types such as `uint` or `address` the compiler handles the choice of storage for us, but with arrays, which are longer and more expensive, we specify the type of storage to be used. ```solidity address to, @@ -1611,8 +1409,7 @@ Return values are always returned in memory. require(amounts[amounts.length - 1] >= amountOutMin, 'UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT'); ``` -Calculate the amount to be purchased in each swap. If the result is less than the minimum the trader is willing to accept, -revert out of the transaction. +Calculate the amount to be purchased in each swap. If the result is less than the minimum the trader is willing to accept, revert out of the transaction. ```solidity TransferHelper.safeTransferFrom( @@ -1622,8 +1419,7 @@ revert out of the transaction. } ``` -Finally, transfer the initial ERC-20 token to the account for the first pair exchange and call `_swap`. This is all happening -in the same transaction, so the pair exchange knows that any unexpected tokens are part of this transfer. +Finally, transfer the initial ERC-20 token to the account for the first pair exchange and call `_swap`. This is all happening in the same transaction, so the pair exchange knows that any unexpected tokens are part of this transfer. ```solidity function swapTokensForExactTokens( @@ -1642,10 +1438,7 @@ in the same transaction, so the pair exchange knows that any unexpected tokens a } ``` -The previous function, `swapTokensForTokens`, allows a trader to specify an exact number of input tokens he is willing to -give and the minimum number of output tokens he is willing to receive in return. This function does the reverse swap, it -lets a trader specify the number of output tokens he wants, and the maximum number of input tokens he is willing to pay for -them. +The previous function, `swapTokensForTokens`, allows a trader to specify an exact number of input tokens he is willing to give and the minimum number of output tokens he is willing to receive in return. This function does the reverse swap, it lets a trader specify the number of output tokens he wants, and the maximum number of input tokens he is willing to pay for them. In both cases, the trader has to give this periphery contract first an allowance to allow it to transfer them. @@ -1725,9 +1518,7 @@ In both cases, the trader has to give this periphery contract first an allowance } ``` -These four variants all involve trading between ETH and tokens. The only difference is that we either receive ETH -from the trader and use it to mint WETH, or we receive WETH from the last exchange in the path and burn it, sending -the trader back the resulting ETH. +These four variants all involve trading between ETH and tokens. The only difference is that we either receive ETH from the trader and use it to mint WETH, or we receive WETH from the last exchange in the path and burn it, sending the trader back the resulting ETH. ```solidity // **** SWAP (supporting fee-on-transfer tokens) **** @@ -1735,8 +1526,7 @@ the trader back the resulting ETH. function _swapSupportingFeeOnTransferTokens(address[] memory path, address _to) internal virtual { ``` -This is the internal function to swap tokens that have transfer or storage fees to solve -([this issue](https://github.com/Uniswap/uniswap-interface/issues/835)). +This is the internal function to swap tokens that have transfer or storage fees to solve ([this issue](https://github.com/Uniswap/uniswap-interface/issues/835)). ```solidity for (uint i; i < path.length - 1; i++) { @@ -1752,14 +1542,9 @@ This is the internal function to swap tokens that have transfer or storage fees amountOutput = UniswapV2Library.getAmountOut(amountInput, reserveInput, reserveOutput); ``` -Because of the transfer fees we cannot rely on the `getAmountsOut` function to tell us how much we get out of -each transfer (the way we do before calling the original `_swap`). Instead we have to transfer first and then see how -many tokens we got back. +Because of the transfer fees we cannot rely on the `getAmountsOut` function to tell us how much we get out of each transfer (the way we do before calling the original `_swap`). Instead we have to transfer first and then see how many tokens we got back. -Note: In theory we could just use this function instead of `_swap`, but in certain cases (for example, if the transfer -ends up being reverted because there isn't enough at the end to meet the required minimum) that would end up costing more -gas. Transfer fee tokens are pretty rare, so while we need to accommodate them there's no need to all swaps to assume they -go through at least one of them. +Note: In theory we could just use this function instead of `_swap`, but in certain cases (for example, if the transfer ends up being reverted because there isn't enough at the end to meet the required minimum) that would end up costing more gas. Transfer fee tokens are pretty rare, so while we need to accommodate them there's no need to all swaps to assume they go through at least one of them. ```solidity } @@ -1896,8 +1681,7 @@ This contract was used to migrate exchanges from the old v1 to v2. Now that they ## The Libraries {#libraries} -The [SafeMath library](https://docs.openzeppelin.com/contracts/2.x/api/math) is well documented, so there's no need -to document it here. +The [SafeMath library](https://docs.openzeppelin.com/contracts/2.x/api/math) is well documented, so there's no need to document it here. ### Math {#Math} @@ -1928,9 +1712,7 @@ Start with x as an estimate that is higher than the square root (that is the rea x = (y / x + x) / 2; ``` -Get a closer estimate, the average of the previous estimate and the number whose square root we're trying to find divided by -the previous estimate. Repeat until the new estimate isn't lower than the existing one. For more details, -[see here](https://wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method). +Get a closer estimate, the average of the previous estimate and the number whose square root we're trying to find divided by the previous estimate. Repeat until the new estimate isn't lower than the existing one. For more details, [see here](https://wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method). ```solidity } @@ -1938,8 +1720,7 @@ the previous estimate. Repeat until the new estimate isn't lower than the existi z = 1; ``` -We should never need the square root of zero. The square roots of one, two, and three are roughly one (we use -integers, so we ignore the fraction). +We should never need the square root of zero. The square roots of one, two, and three are roughly one (we use integers, so we ignore the fraction). ```solidity } @@ -1949,8 +1730,7 @@ integers, so we ignore the fraction). ### Fixed Point Fractions (UQ112x112) {#FixedPoint} -This library handles fractions, which are normally not part of Ethereum arithmetic. It does this by encoding the number _x_ -as _x\*2^112_. This lets us use the original addition and subtraction opcodes without a change. +This library handles fractions, which are normally not part of Ethereum arithmetic. It does this by encoding the number _x_ as _x\*2^112_. This lets us use the original addition and subtraction opcodes without a change. ```solidity pragma solidity =0.5.16; @@ -1983,9 +1763,7 @@ Because y is `uint112`, the most it can be is 2^112-1. That number can still be } ``` -If we divide two `UQ112x112` values, the result is no longer multiplied by 2^112. So instead we -take an integer for the denominator. We would have needed to use a similar trick to do multiplication, but we -don't need to do multiplication of `UQ112x112` values. +If we divide two `UQ112x112` values, the result is no longer multiplied by 2^112. So instead we take an integer for the denominator. We would have needed to use a similar trick to do multiplication, but we don't need to do multiplication of `UQ112x112` values. ### UniswapV2Library {#uniswapV2library} @@ -2009,9 +1787,7 @@ library UniswapV2Library { } ``` -Sort the two tokens by address, so we'll be able to get the address of the pair exchange for them. This is -necessary because otherwise we'd have two possibilities, one for the parameters A,B and another for the -parameters B,A, leading to two exchanges instead of one. +Sort the two tokens by address, so we'll be able to get the address of the pair exchange for them. This is necessary because otherwise we'd have two possibilities, one for the parameters A,B and another for the parameters B,A, leading to two exchanges instead of one. ```solidity // calculates the CREATE2 address for a pair without making any external calls @@ -2026,9 +1802,7 @@ parameters B,A, leading to two exchanges instead of one. } ``` -This function calculates the address of the pair exchange for the two tokens. This contract is created using -[the CREATE2 opcode](https://eips.ethereum.org/EIPS/eip-1014), so we can calculate the address using the same algorithm -if we know the parameters it uses. This is a lot cheaper than asking the factory, and +This function calculates the address of the pair exchange for the two tokens. This contract is created using [the CREATE2 opcode](https://eips.ethereum.org/EIPS/eip-1014), so we can calculate the address using the same algorithm if we know the parameters it uses. This is a lot cheaper than asking the factory, and ```solidity // fetches and sorts the reserves for a pair @@ -2039,8 +1813,7 @@ if we know the parameters it uses. This is a lot cheaper than asking the factory } ``` -This function returns the reserves of the two tokens that the pair exchange has. Note that it can receive the tokens in either -order, and sorts them for internal use. +This function returns the reserves of the two tokens that the pair exchange has. Note that it can receive the tokens in either order, and sorts them for internal use. ```solidity // given some amount of an asset and pair reserves, returns an equivalent amount of the other asset @@ -2051,16 +1824,14 @@ order, and sorts them for internal use. } ``` -This function gives you the amount of token B you'll get in return for token A if there is no fee involved. This calculation -takes into account that the transfer changes the exchange rate. +This function gives you the amount of token B you'll get in return for token A if there is no fee involved. This calculation takes into account that the transfer changes the exchange rate. ```solidity // given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) internal pure returns (uint amountOut) { ``` -The `quote` function above works great if there is no fee to use the pair exchange. However, if there is a 0.3% -exchange fee the amount you actually get is lower. This function calculates the amount after the exchange fee. +The `quote` function above works great if there is no fee to use the pair exchange. However, if there is a 0.3% exchange fee the amount you actually get is lower. This function calculates the amount after the exchange fee. ```solidity @@ -2073,8 +1844,7 @@ exchange fee the amount you actually get is lower. This function calculates the } ``` -Solidity does not handle fractions natively, so we can't just multiply the amount out by 0.997. Instead, we multiply -the numerator by 997 and the denominator by 1000, achieving the same effect. +Solidity does not handle fractions natively, so we can't just multiply the amount out by 0.997. Instead, we multiply the numerator by 997 and the denominator by 1000, achieving the same effect. ```solidity // given an output amount of an asset and pair reserves, returns a required input amount of the other asset @@ -2119,8 +1889,7 @@ These two functions handle identifying the values when it is necessary to go thr ### Transfer Helper {#transfer-helper} -[This library](https://github.com/Uniswap/uniswap-lib/blob/master/contracts/libraries/TransferHelper.sol) adds success checks -around ERC-20 and Ethereum transfers to treat a revert and a `false` value return the same way. +[This library](https://github.com/Uniswap/uniswap-lib/blob/master/contracts/libraries/TransferHelper.sol) adds success checks around ERC-20 and Ethereum transfers to treat a revert and a `false` value return the same way. ```solidity // SPDX-License-Identifier: GPL-3.0-or-later @@ -2142,8 +1911,7 @@ library TransferHelper { We can call a different contract in one of two ways: - Use an interface definition to create a function call -- Use the [application binary interface (ABI)](https://docs.soliditylang.org/en/v0.8.3/abi-spec.html) "manually" to - create the call. This is what the author of the code decided to do it. +- Use the [application binary interface (ABI)](https://docs.soliditylang.org/en/v0.8.3/abi-spec.html) "manually" to create the call. This is what the author of the code decided to do it. ```solidity require( @@ -2153,9 +1921,7 @@ We can call a different contract in one of two ways: } ``` -For the sake of backwards compatibility with token that were created prior to the ERC-20 standard, an ERC-20 call -can fail either by reverting (in which case `success` is `false`) or by being successful and returning a `false` -value (in which case there is output data, and if you decode it as a boolean you get `false`). +For the sake of backwards compatibility with token that were created prior to the ERC-20 standard, an ERC-20 call can fail either by reverting (in which case `success` is `false`) or by being successful and returning a `false` value (in which case there is output data, and if you decode it as a boolean you get `false`). ```solidity @@ -2174,8 +1940,7 @@ value (in which case there is output data, and if you decode it as a boolean you } ``` -This function implements [ERC-20's transfer functionality](https://eips.ethereum.org/EIPS/eip-20#transfer), -which allows an account to spend out the allowance provided by a different account. +This function implements [ERC-20's transfer functionality](https://eips.ethereum.org/EIPS/eip-20#transfer), which allows an account to spend out the allowance provided by a different account. ```solidity @@ -2194,8 +1959,7 @@ which allows an account to spend out the allowance provided by a different accou } ``` -This function implements [ERC-20's transferFrom functionality](https://eips.ethereum.org/EIPS/eip-20#transferfrom), -which allows an account to spend out the allowance provided by a different account. +This function implements [ERC-20's transferFrom functionality](https://eips.ethereum.org/EIPS/eip-20#transferfrom), which allows an account to spend out the allowance provided by a different account. ```solidity @@ -2206,13 +1970,10 @@ which allows an account to spend out the allowance provided by a different accou } ``` -This function transfers ether to an account. Any call to a different contract can attempt to send ether. Because we -don't need to actually call any function, we don't send any data with the call. +This function transfers ether to an account. Any call to a different contract can attempt to send ether. Because we don't need to actually call any function, we don't send any data with the call. ## Conclusion {#conclusion} -This is a long article of about 50 pages. If you made it here, congratulations! Hopefully by now you've understood the considerations -in writing a real-life application (as opposed to short sample programs) and are better to be able to write contracts for your own -use cases. +This is a long article of about 50 pages. If you made it here, congratulations! Hopefully by now you've understood the considerations in writing a real-life application (as opposed to short sample programs) and are better to be able to write contracts for your own use cases. Now go and write something useful and amaze us. From 38176018668a25a6c12637750cb4cbc026e4e85b Mon Sep 17 00:00:00 2001 From: Hursit Tarcan <75273616+HursitTarcan@users.noreply.github.com> Date: Mon, 16 May 2022 10:34:52 +0200 Subject: [PATCH 138/167] Fixed variable names in calculatingStringRewards [Fixes #6338] --- src/utils/calculateStakingRewards.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/utils/calculateStakingRewards.js b/src/utils/calculateStakingRewards.js index 44cf1e49d94..479edab1e63 100644 --- a/src/utils/calculateStakingRewards.js +++ b/src/utils/calculateStakingRewards.js @@ -3,7 +3,7 @@ const calculateStakingRewards = (totalAtStake) => { const slotsInEpoch = 32 const baseRewardFactor = 64 const averageNetworkPctOnline = 0.95 - const vaildatorUptime = 0.99 + const validatorUptime = 0.99 const validatorDeposit = 32 // ETH const effectiveBalanceIncrement = 1_000_000_000 // gwei const weightDenominator = 64 @@ -23,7 +23,7 @@ const calculateStakingRewards = (totalAtStake) => { // Calculate offline per-validator penalty per epoch (in gwei) // Note: Inactivity penalty is not included in this simple calculation - const offlineEpochGweiPentalty = + const offlineEpochGweiPenalty = baseGweiRewardFullValidator * ((weightDenominator - proposerWeight) / weightDenominator) @@ -32,8 +32,8 @@ const calculateStakingRewards = (totalAtStake) => { baseGweiRewardFullValidator * averageNetworkPctOnline // Calculate net yearly staking reward (in gwei) - const reward = onlineEpochGweiReward * vaildatorUptime - const penalty = offlineEpochGweiPentalty * (1 - vaildatorUptime) + const reward = onlineEpochGweiReward * validatorUptime + const penalty = offlineEpochGweiPenalty * (1 - validatorUptime) const netRewardPerYear = epochPerYear * (reward - penalty) // Return net yearly staking reward percentage From ac610be871db9dd129bcdecc8e130813841d2210 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Mon, 16 May 2022 10:34:17 +0100 Subject: [PATCH 139/167] fix ip address typo --- .../developers/docs/networking-layer/network-addresses/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/networking-layer/network-addresses/index.md b/src/content/developers/docs/networking-layer/network-addresses/index.md index d968dec8c63..e1feef8f162 100644 --- a/src/content/developers/docs/networking-layer/network-addresses/index.md +++ b/src/content/developers/docs/networking-layer/network-addresses/index.md @@ -26,7 +26,7 @@ For an Ethereum node, the multiaddr contains the node-ID (a hash of their public An enode is a way to identify an Ethereum node using a URL address format. The hexadecimal node-ID is encoded in the username portion of the URL separated from the host using an @ sign. The hostname can only be given as an IP address; DNS names are not allowed. The port in the hostname section is the TCP listening port. If the TCP and UDP (discovery) ports differ, the UDP port is specified as a query parameter "discport" -In the following example, the node URL describes a node with IP address `10.3.58`, TCP port `30303` and UDP discovery port `30301`. +In the following example, the node URL describes a node with IP address `10.3.58.6`, TCP port `30303` and UDP discovery port `30301`. `enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@10.3.58.6:30303?discport=30301` From 0d81f6e790dd9d1cd2182773a253dda896cff229 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 16 May 2022 10:19:35 +0000 Subject: [PATCH 140/167] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 084c3aee561..ac1dd2e1138 100644 --- a/README.md +++ b/README.md @@ -1200,6 +1200,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Bienvenido Rodriguez

📖 🤔
Sora Nature

📖
Joseph Schiarizzi

📖 +
Gustavo Silva

🐛 From fe159c63260824a885f0c415b89f5dd9288b2a6b Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 16 May 2022 10:19:37 +0000 Subject: [PATCH 141/167] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 175b758a4fb..e98d9e32001 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7406,6 +7406,15 @@ "contributions": [ "doc" ] + }, + { + "login": "GustavoRSSilva", + "name": "Gustavo Silva", + "avatar_url": "https://avatars.githubusercontent.com/u/8384988?v=4", + "profile": "https://gustavorssilva.github.io/", + "contributions": [ + "bug" + ] } ], "contributorsPerLine": 7, From 9bf80b4432202d3e04e9aac23bd9c15761f87a86 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Mon, 16 May 2022 11:22:50 +0100 Subject: [PATCH 142/167] Update src/content/developers/docs/consensus-mechanisms/index.md --- src/content/developers/docs/consensus-mechanisms/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/consensus-mechanisms/index.md b/src/content/developers/docs/consensus-mechanisms/index.md index d8ae9ec29cd..aa9d70cd746 100644 --- a/src/content/developers/docs/consensus-mechanisms/index.md +++ b/src/content/developers/docs/consensus-mechanisms/index.md @@ -40,7 +40,7 @@ Ethereum, like Bitcoin, currently uses a **proof-of-work (PoW)** consensus proto #### Block creation {#pow-block-creation} -Proof-of-work is done by [miners](/developers/docs/consensus-mechanisms/pow/mining/), who compete to create new blocks full of processed transactions. The winner shares the new block with the rest of the network and earns some freshly minted ETH. The race is won by that computer which is able to solve a math puzzle fastest – this produces the cryptographic link between the current block and the block that went before. Solving this puzzle is the work in "proof-of-work". +Proof-of-work is done by [miners](/developers/docs/consensus-mechanisms/pow/mining/), who compete to create new blocks full of processed transactions. The winner shares the new block with the rest of the network and earns some freshly minted ETH. The race is won by the computer which is able to solve a math puzzle fastest – this produces the cryptographic link between the current block and the block that went before. Solving this puzzle is the work in "proof-of-work". #### Security {#pow-security} From e6acc0e975f5b859e6d28561bdec2af2ced38cf4 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 16 May 2022 10:23:37 +0000 Subject: [PATCH 143/167] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ac1dd2e1138..fa118a76e70 100644 --- a/README.md +++ b/README.md @@ -1201,6 +1201,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Sora Nature

📖
Joseph Schiarizzi

📖
Gustavo Silva

🐛 +
Samarth Saxena

📖 From 5822d51842387a4c08be3d1dc1cb071e08822ca7 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 16 May 2022 10:23:38 +0000 Subject: [PATCH 144/167] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index e98d9e32001..6601e56f6a8 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7415,6 +7415,15 @@ "contributions": [ "bug" ] + }, + { + "login": "AweSamarth", + "name": "Samarth Saxena", + "avatar_url": "https://avatars.githubusercontent.com/u/72488638?v=4", + "profile": "https://github.com/AweSamarth", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, From b676b9fdaa0bdc4d075c0cd655635cacea15609f Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 16 May 2022 10:25:26 +0000 Subject: [PATCH 145/167] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fa118a76e70..19f8154d4ef 100644 --- a/README.md +++ b/README.md @@ -1202,6 +1202,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Joseph Schiarizzi

📖
Gustavo Silva

🐛
Samarth Saxena

📖 +
Baihao

📖 🐛 From 0d8c6f185c3d1a4472d2bdd947e88a44913acdd8 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 16 May 2022 10:25:27 +0000 Subject: [PATCH 146/167] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 6601e56f6a8..e65c07cb81c 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7424,6 +7424,16 @@ "contributions": [ "doc" ] + }, + { + "login": "byhow", + "name": "Baihao", + "avatar_url": "https://avatars.githubusercontent.com/u/25713361?v=4", + "profile": "https://github.com/byhow", + "contributions": [ + "doc", + "bug" + ] } ], "contributorsPerLine": 7, From 600bc387a77d558d074f5f69ca17f3263c53f3db Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Mon, 16 May 2022 11:36:15 +0100 Subject: [PATCH 147/167] Update src/intl/vi/common.json --- src/intl/vi/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intl/vi/common.json b/src/intl/vi/common.json index e9e7f9a2155..9112d5d87a6 100644 --- a/src/intl/vi/common.json +++ b/src/intl/vi/common.json @@ -60,7 +60,7 @@ "consensus-run-beacon-chain-desc": "Ethereum cần nhiều clients hoạt động nhất có thể. Sử dụng một dịch vụ chung của Ethereum này!", "consensus-when-shipping": "Khi nào đi vào hoạt động?", "eth-upgrade-what-happened": "Chuyện gì xảy ra với 'Eth2?'", - "eth-upgrade-what-happened-description": "The term 'Eth2' has been deprecated as we approach the merge. The 'consensus layer' encapsulates what was formerly known as 'Eth2.'", + "eth-upgrade-what-happened-description": "Thuật ngữ 'Eth2' đã không được dùng nữa khi chúng ta tiếp cập giai đoạn hợp nhất. 'Lớp đồng thuận' chính là 'Eth2' trước đây.", "ethereum": "Ethereum", "ethereum-upgrades": "Các bản nâng cấp của Ethereum", "ethereum-brand-assets": "Tài sản thương hiệu Ethereum", From d7eaae565f578dd262db4b7bcb842f3b8bda07bd Mon Sep 17 00:00:00 2001 From: HursitTarcan Date: Mon, 16 May 2022 12:49:05 +0200 Subject: [PATCH 148/167] 'View in English' button link fixed --- src/components/TranslationBanner.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/TranslationBanner.js b/src/components/TranslationBanner.js index 68ec19ef51e..fae599f70d6 100644 --- a/src/components/TranslationBanner.js +++ b/src/components/TranslationBanner.js @@ -144,7 +144,7 @@ const TranslationBanner = ({ {!isPageContentEnglish && (
- +
From 1485c3d07e6e685abb281a6febdb2dde7ab90ece Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Mon, 16 May 2022 14:34:43 +0100 Subject: [PATCH 149/167] Fix broken links --- .../developers/docs/data-structures-and-encoding/index.md | 6 +++--- .../docs/data-structures-and-encoding/rlp/index.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/developers/docs/data-structures-and-encoding/index.md b/src/content/developers/docs/data-structures-and-encoding/index.md index 79632f35b50..cca277ab425 100644 --- a/src/content/developers/docs/data-structures-and-encoding/index.md +++ b/src/content/developers/docs/data-structures-and-encoding/index.md @@ -18,16 +18,16 @@ You should understand the fundamentals of Ethereum and [client software](/develo Patricia Merkle Tries are structures that encode key-value pairs into a deterministic and cryptographically authenticated trie. These are used extensively across Ethereum's execution layer. -[More on Patricia Merkle Tries](/developers/docs/data-structures/patricia-merkle-trie) +[More on Patricia Merkle Tries](/developers/docs/data-structures-and-encoding/patricia-merkle-trie) ### Recursive Length Prefix {#recursive-length-prefix} Recursive Length Prefix (RLP) is a serialization method used extensively across Ethereum's execution layer. -[More on RLP](/developers/docs/data-structures/rlp). +[More on RLP](/developers/docs/data-structures-and-encoding/rlp). ### Simple Serialize {#simple-serialize} Simple Serialize (SSZ) is the dominant serialization format on Ethereum's consensus layer because of its compatibility with merklelization. -[More on SSZ](/developers/docs/data-structures/ssz). +[More on SSZ](/developers/docs/data-structures-and-encoding/ssz). diff --git a/src/content/developers/docs/data-structures-and-encoding/rlp/index.md b/src/content/developers/docs/data-structures-and-encoding/rlp/index.md index a086e99f70d..c44b03a3b9c 100644 --- a/src/content/developers/docs/data-structures-and-encoding/rlp/index.md +++ b/src/content/developers/docs/data-structures-and-encoding/rlp/index.md @@ -158,4 +158,4 @@ def to_integer(b): ## Related topics {#related-topics} -- [Patricia merkle trie](/developers/docs/data-structures/patricia-merkle-tries) +- [Patricia merkle trie](/developers/docs/data-structures-and-encoding/patricia-merkle-tries) From e49cf208650f83b9bbc690158ac3a2a9e55ae0de Mon Sep 17 00:00:00 2001 From: Hursit Tarcan <75273616+HursitTarcan@users.noreply.github.com> Date: Mon, 16 May 2022 16:22:09 +0200 Subject: [PATCH 150/167] secondaryButtonLink fixed --- src/components/TranslationBanner.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/TranslationBanner.js b/src/components/TranslationBanner.js index fae599f70d6..a4845355f9b 100644 --- a/src/components/TranslationBanner.js +++ b/src/components/TranslationBanner.js @@ -144,7 +144,7 @@ const TranslationBanner = ({ {!isPageContentEnglish && (
- +
From e18fc386d3d40b48527ed0c74533a9dd4be8ac68 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Mon, 16 May 2022 15:22:15 +0100 Subject: [PATCH 151/167] Update src/content/web3/index.md --- src/content/web3/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/web3/index.md b/src/content/web3/index.md index b9c562e9373..4a001b5e254 100644 --- a/src/content/web3/index.md +++ b/src/content/web3/index.md @@ -20,7 +20,7 @@ Most people think of the Web as a continuous pillar of modern life—it was inve ### Web 1.0: Read-Only (1990-2004) {#web1} -In 1989, in CERN, Geneva, Tim Berners-Lee was busy developing the protocols that would become the Web. His idea? To create open, decentralized protocols that allowed information-sharing from anywhere on Earth. +In 1989, at CERN, Geneva, Tim Berners-Lee was busy developing the protocols that would become the World Wide Web. His idea? To create open, decentralized protocols that allowed information-sharing from anywhere on Earth. The first inception of the Web, now known as 'Web 1.0', occurred roughly between 1990 to 2004. Web 1.0 was mainly static websites owned by companies, and there was close to zero interaction between users - individuals seldom produced content - leading to it being known as the read-only web. From d382a2123e452d3f945ff95519ca8625a4617a9a Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Mon, 16 May 2022 15:22:24 +0100 Subject: [PATCH 152/167] Update src/content/web3/index.md --- src/content/web3/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/web3/index.md b/src/content/web3/index.md index 4a001b5e254..427ae8cbd21 100644 --- a/src/content/web3/index.md +++ b/src/content/web3/index.md @@ -22,7 +22,7 @@ Most people think of the Web as a continuous pillar of modern life—it was inve In 1989, at CERN, Geneva, Tim Berners-Lee was busy developing the protocols that would become the World Wide Web. His idea? To create open, decentralized protocols that allowed information-sharing from anywhere on Earth. -The first inception of the Web, now known as 'Web 1.0', occurred roughly between 1990 to 2004. Web 1.0 was mainly static websites owned by companies, and there was close to zero interaction between users - individuals seldom produced content - leading to it being known as the read-only web. +The first inception of Berners-Lee's creation, now known as 'Web 1.0', occurred roughly between 1990 to 2004. Web 1.0 was mainly static websites owned by companies, and there was close to zero interaction between users - individuals seldom produced content - leading to it being known as the read-only web. ![Client-server architecture, representing Web 1.0](./web1.png) From 07a0660160fcd02362bc27e78df094ad9ec67ee4 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Mon, 16 May 2022 15:22:48 +0100 Subject: [PATCH 153/167] Update src/content/web3/index.md --- src/content/web3/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/web3/index.md b/src/content/web3/index.md index 427ae8cbd21..5e3b35d7c35 100644 --- a/src/content/web3/index.md +++ b/src/content/web3/index.md @@ -48,7 +48,7 @@ Web3 has become a catch-all term for the vision of a new, better Web. At its cor Although it's challenging to provide a rigid definition of what Web3 is, a few core principles guide its creation. -- **Web3 is decentralized:** instead of large swathes of the Web controlled and owned by centralized entities, ownership gets distributed amongst its builders and users. +- **Web3 is decentralized:** instead of large swathes of the internet controlled and owned by centralized entities, ownership gets distributed amongst its builders and users. - **Web3 is permissionless:** everyone has equal access to participate in Web3, and no one gets excluded. - **Web3 has native payments:** it uses cryptocurrency for spending and sending money online instead of relying on the outdated infrastructure of banks and payment processors. - **Web3 is trustless:** it operates using incentives and economic mechanisms instead of relying on trusted third-parties. From 9b0e55cea26ec94b4e774d2d45b02fae2b75e4d0 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Mon, 16 May 2022 15:25:05 +0100 Subject: [PATCH 154/167] Update src/content/web3/index.md --- src/content/web3/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/web3/index.md b/src/content/web3/index.md index 5e3b35d7c35..d056e9ce473 100644 --- a/src/content/web3/index.md +++ b/src/content/web3/index.md @@ -42,7 +42,7 @@ The premise of 'Web 3.0' was coined by [Ethereum](/what-is-ethereum/) co-founder ### What is Web3? {#what-is-web3} -Web3 has become a catch-all term for the vision of a new, better Web. At its core, Web3 uses blockchains, cryptocurrencies, and NFTs to give power back to the users in the form of ownership. [A 2020 post on Twitter](https://twitter.com/himgajria/status/1266415636789334016) said it best: Web1 was read-only, Web2 is read-write, Web3 will be read-write-own. +Web3 has become a catch-all term for the vision of a new, better internet. At its core, Web3 uses blockchains, cryptocurrencies, and NFTs to give power back to the users in the form of ownership. [A 2020 post on Twitter](https://twitter.com/himgajria/status/1266415636789334016) said it best: Web1 was read-only, Web2 is read-write, Web3 will be read-write-own. #### Core ideas of Web3 {#core-ideas} From e0058952008630d5e7d0773181332e80aa7e7608 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 16 May 2022 14:26:33 +0000 Subject: [PATCH 155/167] docs: update README.md [skip ci] --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 19f8154d4ef..fd547c417ef 100644 --- a/README.md +++ b/README.md @@ -1204,6 +1204,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Samarth Saxena

📖
Baihao

📖 🐛 + +
Steve Goodman

📖 + From cfc956d4fa6162c60fe8d9ee33bdacc78a61a04e Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 16 May 2022 14:26:34 +0000 Subject: [PATCH 156/167] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index e65c07cb81c..088368d342e 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7434,6 +7434,15 @@ "doc", "bug" ] + }, + { + "login": "stoobie", + "name": "Steve Goodman", + "avatar_url": "https://avatars.githubusercontent.com/u/39279277?v=4", + "profile": "https://github.com/stoobie", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, From 99fc334640fc1efed266e150aed068b0147df726 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Mon, 16 May 2022 11:39:26 -0700 Subject: [PATCH 157/167] syntax bug patch --- src/pages/developers/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/developers/index.js b/src/pages/developers/index.js index 27258dc3190..9722fd07fa6 100644 --- a/src/pages/developers/index.js +++ b/src/pages/developers/index.js @@ -526,6 +526,7 @@ const DevelopersPage = ({ data }) => {

+

From 60c7d460134ceffefc0a68fa53679abfd26f26a2 Mon Sep 17 00:00:00 2001 From: Hursit Tarcan <75273616+HursitTarcan@users.noreply.github.com> Date: Mon, 16 May 2022 20:52:04 +0200 Subject: [PATCH 158/167] Update src/components/TranslationBanner.js Co-authored-by: Corwin Smith --- src/components/TranslationBanner.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/TranslationBanner.js b/src/components/TranslationBanner.js index a4845355f9b..0abc6d6582c 100644 --- a/src/components/TranslationBanner.js +++ b/src/components/TranslationBanner.js @@ -144,7 +144,7 @@ const TranslationBanner = ({ {!isPageContentEnglish && (
- +
From c912c78be7f25209c55f945c5ad42fd9af0d52a6 Mon Sep 17 00:00:00 2001 From: Hursit Tarcan <75273616+HursitTarcan@users.noreply.github.com> Date: Mon, 16 May 2022 20:56:10 +0200 Subject: [PATCH 159/167] Update TranslationBanner.js --- src/components/TranslationBanner.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/TranslationBanner.js b/src/components/TranslationBanner.js index 0abc6d6582c..56bb1d31565 100644 --- a/src/components/TranslationBanner.js +++ b/src/components/TranslationBanner.js @@ -144,7 +144,7 @@ const TranslationBanner = ({ {!isPageContentEnglish && (
- +
From 8c49e9d868d7f739b934559ecfa0d9b889d9d815 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Mon, 16 May 2022 12:22:17 -0700 Subject: [PATCH 160/167] fr/ja/sl Update homepage with latest from Crowdin --- src/intl/fr/common.json | 3 ++ src/intl/fr/page-index.json | 2 +- src/intl/ja/common.json | 55 +++++++++++++++------- src/intl/ja/page-index.json | 92 ++++++++++++++++++------------------- src/intl/sl/common.json | 35 +++++++++++--- src/intl/sl/page-index.json | 2 +- 6 files changed, 119 insertions(+), 70 deletions(-) diff --git a/src/intl/fr/common.json b/src/intl/fr/common.json index 2dd7991c966..980d4bbcf29 100644 --- a/src/intl/fr/common.json +++ b/src/intl/fr/common.json @@ -217,6 +217,9 @@ "smart-contracts": "Contrats intelligents", "stablecoins": "Stablecoins", "staking": "Staking", + "solo": "Mise en jeu en solo", + "saas": "Mise en jeu en tant que service", + "pools": "Mise en jeu en pool", "staking-community-grants": "Subventions pour la communauté des déposants", "academic-grants-round": "Cycle de bourses universitaires", "summary": "Résumé", diff --git a/src/intl/fr/page-index.json b/src/intl/fr/page-index.json index 1e9320acb40..dbf30cd1c74 100644 --- a/src/intl/fr/page-index.json +++ b/src/intl/fr/page-index.json @@ -62,7 +62,7 @@ "page-index-contribution-banner-image-alt": "Un logo Eth fait en briques lego.", "page-index-contribution-banner-button": "En savoir plus sur la contribution", "page-index-tout-upgrades-title": "Approfondissez vos connaissances", - "page-index-tout-upgrades-description": "Ethereum évolue par des mises à niveau interdépendantes conçues pour rendre le réseau plus évolutif, plus sûr et plus durable.", + "page-index-tout-upgrades-description": "La feuille de route Ethereum évolue par des mises à niveau interdépendantes, conçues pour rendre le réseau plus évolutif, plus sûr et plus durable.", "page-index-tout-upgrades-image-alt": "Illustration d'un vaisseau spatial représentant la puissance accrue après les mises à niveau d'Ethereum.", "page-index-tout-enterprise-title": "Ethereum pour les entreprises", "page-index-tout-enterprise-description": "Découvrez comment Ethereum peut générer de nouveaux modèles économiques, réduire vos coûts et pérenniser votre activité.", diff --git a/src/intl/ja/common.json b/src/intl/ja/common.json index 851317a2fc9..7377e9d5306 100644 --- a/src/intl/ja/common.json +++ b/src/intl/ja/common.json @@ -10,11 +10,12 @@ "aria-toggle-menu-button": "メニューボタンの切り替え", "zen-mode": "禅モード", "back-to-top": "トップに戻る", - "banner-page-incomplete": "このページは不完全なので、皆さまのご協力をお願いします。このページを編集して、他の人に役に立つものは、何でも追加してください。", + "banner-page-incomplete": "このページはまだ不完全です。皆さまのご協力をお願いします。このページを編集して、他の人に役に立つだろうものは、何でも追加してください。", "beacon-chain": "ビーコンチェーン", "binance-logo": "Binance ロゴ", "bittrex-logo": "Bittrex ロゴ", "brand-assets": "ブランドアセット", + "bridges": "ブロックチェーンブリッジ", "bug-bounty": "バグバウンティ", "coinbase-logo": "Coinbaseロゴ", "coinmama-logo": "Coinmama ロゴ", @@ -24,7 +25,7 @@ "compound-logo": "Compound ロゴ", "cons": "欠点", "contact": "お問い合わせ", - "content-versions": "コンテンツのバージョン", + "content-versions": "コンテンツ・バージョン", "contributing": "貢献", "contributors": "貢献者", "contributors-thanks": "このページを編集して下さった方々へ感謝いたします。", @@ -51,17 +52,17 @@ "esp": "エコシステムサポートプログラム", "eth-current-price": "現在のETH価格 (USD)", "consensus-beaconcha-in-desc": "オープンソースのビーコンチェーンエクスプローラー", - "consensus-beaconscan-desc": "ビーコンチェインエクスプローラー - 合意レイヤーのEtherscan", + "consensus-beaconscan-desc": "ビーコンチェインエクスプローラー - コンセンサスレイヤレイヤーのEtherscan", "consensus-become-staker": "ステーカーになる", - "consensus-become-staker-desc": "ステーキングは稼働しています!ネットワークの安全性を高めるため、ご自身のETHをステーキングしたい場合は、リスクをよくご理解の上行ってください。", + "consensus-become-staker-desc": "ステーキングは稼働しています! ネットワークの安全性を高めるため、ご自身のETHをステーキングしたい場合は、リスクをよくご理解の上行ってください。", "consensus-explore": "データの探索", - "consensus-run-beacon-chain": "合意クライアントの実行", + "consensus-run-beacon-chain": "コンセンサスクライアントの実行", "consensus-run-beacon-chain-desc": "イーサリアムではできるだけ多くのクライアントが稼働している必要があります。イーサリアムの公益的な活動にご協力ください。", "consensus-when-shipping": "導入のタイミング", "eth-upgrade-what-happened": "Eth2の名称廃止", - "eth-upgrade-what-happened-description": "「マージ」と呼ばれる段階に近づくにつれて、「Eth2」の用語は廃止されました。これまで「Eth2」として知られていたものは「合意レイヤー」の中に含まれます。", + "eth-upgrade-what-happened-description": "「マージ」が近づくにつれて、「Eth2」という用語を廃止しました。旧称「Eth2」として知られていたものは「コンセンサスレイヤ」に含まれます。", "ethereum": "イーサリアム", - "ethereum-upgrades": "イーサリウムアップグレード", + "ethereum-upgrades": "イーサリアムのアップグレード", "ethereum-brand-assets": "イーサリアムブランドアセット", "ethereum-community": "イーサリアムコミュニティ", "ethereum-online": "オンラインコミュニティ", @@ -69,15 +70,18 @@ "ethereum-foundation": "イーサリアム財団", "ethereum-foundation-logo": "イーサリアム財団ロゴ", "ethereum-glossary": "イーサリアム用語集", - "ethereum-governance": "イーサリウムのガバナンス", + "ethereum-governance": "イーサリアムのガバナンス", "ethereum-logo": "Ethereum ロゴ", - "ethereum-security": "イーサリウムのセキュリティと詐欺対策", + "ethereum-security": "イーサリアムのセキュリティと詐欺対策", "ethereum-support": "イーサリアムサポート", "ethereum-studio": "イーサリアムスタジオ", "ethereum-wallets": "イーサリアムウォレット", "ethereum-whitepaper": "イーサリアムのホワイトペーパー", "events": "イベント", "example-projects": "プロジェクト例", + "feedback-prompt": "このページはあなたの疑問の解決に役立ちましたか?", + "feedback-title-helpful": "フィードバックありがとうございました!", + "feedback-title-not-helpful": "パブリック なディスコードに参加して、疑問を解決しましょう。", "find-wallet": "ウォレットを探す", "foundation": "基礎", "gemini-logo": "Gemini", @@ -101,6 +105,7 @@ "jobs": "採用情報", "kraken-logo": "Kraken ロゴ", "language-ar": "アラビア語", + "language-az": "アゼルバイジャン語", "language-bg": "ブルガリア語", "language-bn": "ベンガル語", "language-ca": "カタロニア語", @@ -112,6 +117,7 @@ "language-fa": "ペルシア語", "language-fi": "フィンランド語", "language-fr": "フランス語", + "language-gl": "ガリシア語", "language-hi": "ヒンディー語", "language-hr": "クロアチア語", "language-hu": "ハンガリー語", @@ -119,6 +125,7 @@ "language-ig": "イボ語", "language-it": "イタリア語", "language-ja": "日本語", + "language-ka": "グルジア語", "language-ko": "韓国語", "language-lt": "リトアニア語", "language-ml": "マラヤーラム語", @@ -147,6 +154,7 @@ "languages": "言語", "last-24-hrs": "24時間以内", "last-edit": "最終編集者", + "layer-2": "レイヤー2", "learn": "学ぶ", "learn-by-coding": "コーディングで学ぶ", "learn-menu": "メニューを学ぶ", @@ -162,8 +170,6 @@ "loading-error-refresh": "エラーが発生しました。更新してください。", "logo": "ロゴ", "loopring-logo": "Loopring ロゴ", - "london-upgrade-banner": "ロンドンアップグレード稼働: ", - "london-upgrade-banner-released": "ロンドンアップグレードがリリースされました!", "mainnet-ethereum": "メインネット イーサリアム", "makerdao-logo": "MakerDao ロゴ", "matcha-logo": "Matcha ロゴ", @@ -172,7 +178,11 @@ "more": "もっと見る", "more-info": "詳細", "nav-beginners": "初心者", + "nav-developers": "開発者", + "nav-developers-docs": "開発者向け文書", + "nav-primary": "プライマリー", "next": "次へ", + "no": "いいえ", "oasis-logo": "Oasis", "online": "オンライン", "on-this-page": "このページ", @@ -185,7 +195,12 @@ "pros": "利点", "read-more": "続きを読む", "refresh": "ページを更新してください。", + "return-home": "ホームへ戻る", + "run-a-node": "ノードの運用", "review-progress": "レビューの進捗", + "rollup-component-website": "ウェブサイト", + "rollup-component-developer-docs": "開発者向け文書", + "rollup-component-technology-and-risk-summary": "テクノロジーとリスクの概要", "search": "検索", "search-box-blank-state-text": "検索!", "search-eth-address": "これはイーサリアムのアドレスのようですが、アドレスに固有のデータは提供していません。etherscanのようなブロックエクスプローラーで検索してみてください。", @@ -196,13 +211,17 @@ "shard-chains": "シャードチェーン", "show-all": "すべて表示", "show-less": "少なく表示", - "site-description": "イーサリウムは、お金と新しい種類のアプリケーションのためのグローバルな分散型プラットフォームです。 イーサリウムでは、お金を制御するコードを書くことができ、世界中のどこにいてもアクセス可能なアプリケーションを構築できます。", + "site-description": "イーサリアムは、お金と新しい種類のアプリケーションのためのグローバルな分散型プラットフォームです。 イーサリアムでは、お金を制御するコードを書くことができ、世界中のどこにいてもアクセス可能なアプリケーションを構築できます。", "site-title": "ethereum.org", "skip-to-main-content": "メインコンテンツへスキップ", "smart-contracts": "スマートコントラクト", "stablecoins": "ステーブルコイン", "staking": "ステーキング", + "solo": "ソロステーキング", + "saas": "ステーキングサービス", + "pools": "プールされたステーキング", "staking-community-grants": "ステーキングコミュニティへの寄付", + "academic-grants-round": "アカデミック助成ラウンド", "summary": "概要", "support": "サポート", "terms-of-use": "利用規約", @@ -217,9 +236,10 @@ "translation-banner-title-update": "このページの翻訳を行う", "translation-program": "翻訳プログラム", "translation-progress": "翻訳の進捗", - "translation-banner-no-bugs-title": "バグではありません。", - "translation-banner-no-bugs-content": "このページは翻訳されていません。 現在のところ、このページは意図的に英語のままにしています。", - "translation-banner-no-bugs-dont-show-again": "次回からこのメッセージを表示しない", + "translation-banner-no-bugs-title": "ここにバグはありません!", + "translation-banner-no-bugs-content": "このページは翻訳されていないため、意図的にこのページを英語にしています。", + "translation-banner-no-bugs-dont-show-again": "次回から表示しない", + "try-using-search": "検索からお探しのものを検索してみてください。", "tutorials": "チュートリアル", "uniswap-logo": "Uniswap ロゴ", "upgrades": "アップグレード", @@ -228,11 +248,14 @@ "use-ethereum-menu": "イーサリアムのメニューを使用", "vision": "ビジョン", "wallets": "ウォレット", + "we-couldnt-find-that-page": "該当するページは見つかりませんでした。", + "web3": "Web3とは", "website-last-updated": "ウェブサイトの最終更新日時", "what-is-ether": "イーサ(ETH) とは?", "what-is-ethereum": "イーサリアムとは?", "whitepaper": "ホワイトペーパー", "defi-page": "分散型金融(DeFi)", "dao-page": "分散型自律組織(DAO)", - "nft-page": "非代替性トークン(NFT)" + "nft-page": "非代替性トークン(NFT)", + "yes": "はい" } diff --git a/src/intl/ja/page-index.json b/src/intl/ja/page-index.json index dd20ad2461e..9a8680c941b 100644 --- a/src/intl/ja/page-index.json +++ b/src/intl/ja/page-index.json @@ -1,77 +1,77 @@ { - "page-index-hero-image-alt": "Ethereumエコシステムを表す未来的な都市のイラスト。", + "page-index-hero-image-alt": "イーサリアム・エコシステムを表す未来的な都市のイラスト", "page-index-meta-description": "Ethereumは、お金と新しい種類のアプリケーションのためのグローバルな分散型プラットフォームです。 Ethereumでは、お金を制御するコードを書くことができ、世界中のどこにいてもアクセス可能なアプリケーションを構築できます。", "page-index-meta-title": "ホーム", - "page-index-title": "Ethereumへようこそ", - "page-index-description": "Ethereumは暗号通貨、ether (ETH) 、数千の分散型アプリを開発運用する技術コミュニティです。", - "page-index-title-button": "Ethereumの探索", - "page-index-get-started": "始めましょう", - "page-index-get-started-description": "ethereum.orgはEthereum世界へのポータルです。この技術は新しく、進化し続けています。ガイドがあると役に立ちます。こちらは、始めてみたい方へのお勧め事項です。", + "page-index-title": "イーサリアムへようこそ", + "page-index-description": "イーサリアムは、暗号通貨Ether (ETH) 、何千もの分散型アプリを可能にするコミュニティにより運用されているテクノロジーです。", + "page-index-title-button": "イーサリアムの探索", + "page-index-get-started": "今すぐ始める", + "page-index-get-started-description": "ethereum.orgはイーサリアムへのポータルです。この技術は新しく、進化し続けています。ガイドがあると役に立ちます。こちらは、始めてみたい方へのお勧め事項です。", "page-index-get-started-image-alt": "コンピュータで作業している人のイラスト。", "page-index-get-started-wallet-title": "ウォレットの選択", - "page-index-get-started-wallet-description": "ウォレットにより、Ethreumに接続して資金を管理することができます。", - "page-index-get-started-wallet-image-alt": "イーサリアムのウォレットを表現した、胴体が金庫になっているロボットのイラスト。", + "page-index-get-started-wallet-description": "ウォレットにより、イーサリアムに接続して資金を管理することができます。", + "page-index-get-started-wallet-image-alt": "イーサリアム・ウォレットを表現した、胴体が金庫になっているロボットのイラスト", "page-index-get-started-eth-title": "ETHを入手", - "page-index-get-started-eth-description": "ETHはEthereumの通貨です - アプリで使うことができます。", - "page-index-get-started-eth-image-alt": "イーサ(ETH)グリフを見て驚嘆する人々の図。", - "page-index-get-started-dapps-title": "Dapp(分散型アプリケーション)の使用", - "page-index-get-started-dapps-description": "DappはEthereumで動くアプリです。何ができるかご覧ください。", + "page-index-get-started-eth-description": "ETHはイーサリアムの通貨です - アプリで使うことができます。", + "page-index-get-started-eth-image-alt": "Ether (ETH)グリフを見て驚嘆する人々の図", + "page-index-get-started-dapps-title": "分散型アプリ(Dapp)の使用", + "page-index-get-started-dapps-description": "分散型アプリ(Dapp)はイーサリアムで動くアプリです。何ができるかご覧ください。", "page-index-get-started-dapps-image-alt": "コンピューターを使用しているドージのイラスト。", "page-index-get-started-devs-title": "開発を始める", - "page-index-get-started-devs-description": "Ethereumでコーディングを始めたい場合は、開発者ポータルに文書やチュートリアルなどがあります。", - "page-index-get-started-devs-image-alt": "レゴブロックで作られたETHロゴを作成する手のイラスト。", - "page-index-what-is-ethereum": "Ethereumとは", - "page-index-what-is-ethereum-description": "Ethereumは、デジタルマネー、グローバル決済、アプリケーションの基盤となる技術です。Ethereumコミュニティは、活況を呈するデジタル経済、クリエイターがオンラインで収入を得るための大胆で新しい方法などを構築しています。世界のどこにいても、インターネットさえあれば、誰でも参加することができます。", - "page-index-what-is-ethereum-button": "Ethereumとは", + "page-index-get-started-devs-description": "イーサリアムでコーディングを始めたい場合は、開発者ポータルに文書やチュートリアルなどがあります。", + "page-index-get-started-devs-image-alt": "レゴブロックで作られたETHロゴを作成する手のイラスト", + "page-index-what-is-ethereum": "イーサリアムとは", + "page-index-what-is-ethereum-description": "イーサリアムは、デジタルマネー、グローバル決済、アプリケーションの基盤となるテクノロジーです。イーサリアムコミュニティは、活況を呈するデジタル経済、クリエイターがオンラインで収入を得るための大胆で新しい方法などを構築しています。世界のどこにいても、インターネットさえあれば、誰でも参加することができます。", + "page-index-what-is-ethereum-button": "イーサリアムとは", "page-index-what-is-ethereum-secondary-button": "デジタルマネーの詳細", - "page-index-what-is-ethereum-image-alt": "市場を覗き込んでいる人のイラスト、Ethereumを表現。", + "page-index-what-is-ethereum-image-alt": "市場を覗き込んでいる人のイラスト、イーサリアムを表現", "page-index-defi": "公平な金融システム", - "page-index-defi-description": "現在、何十億もの人々が銀行口座を開設できず、他にも支払いが出来ない多数の人々がいます。Ethereumの分散型金融(DeFi)システムは、止まることもなく、差別することもありません。インターネットに接続するだけで、世界のどこにいても、資金を送受信、借用、利子を取得さらには資金を流通させることができます。", - "page-index-defi-button": "DeFiを探検する", - "page-index-defi-image-alt": "ETHのシンボルを提供する手のイラスト。", + "page-index-defi-description": "現在、何十億もの人々が銀行口座を開設できず、他にも支払いが出来ない多数の人々がいます。イーサリアムの分散型金融(DeFi)システムは、止まることもなく、差別することもありません。インターネットに接続するだけで、世界のどこにいても、資金を送受信、借用、利子を取得さらには資金を流通させることができます。", + "page-index-defi-button": "分散型金融(DeFi)の探索", + "page-index-defi-image-alt": "ETHのシンボルを提供する手のイラスト", "page-index-internet": "開かれたインターネット", - "page-index-internet-description": "今日、私たちは個人情報の管理を放棄することで、「無料」のインターネットサービスにアクセスできるようになっています。Ethereumのサービスは初めから公開されており、ウォレットがあれば十分です。これらのサービスは、無料で簡単に設定でき、自分でコントロールでき、個人情報なしで動作します。", - "page-index-internet-button": "開かれたインターネットを探検する", + "page-index-internet-description": "今日、私たちは個人情報の管理を放棄することで、「無料」のインターネットサービスにアクセスできるようになっています。イーサリアムのサービスは初めから公開されており、ウォレットがあれば十分です。これらのサービスは、無料で簡単に設定でき、自分でコントロールでき、個人情報なしで動作します。", + "page-index-internet-button": "開かれたインターネットの探索", "page-index-internet-secondary-button": "ウォレットの詳細", - "page-index-internet-image-alt": "Ethereumのクリスタルで動く未来的なコンピュータセットアップのイラスト。", - "page-index-developers": "開発の新境地", - "page-index-developers-description": "Ethereumとそのアプリは透明でオープンソースです。コードをフォークして、他の人がすでに作った機能を再利用することができます。新しい言語を学びたくなければ、JavaScriptやその他の既存の言語を使って、オープンソースのコードを扱うことができます。", + "page-index-internet-image-alt": "イーサリアムのクリスタルで動く未来的なコンピュータセットアップのイラスト", + "page-index-developers": "開発の新しいフロンティア", + "page-index-developers-description": "イーサリアムとそのアプリは透明でオープンソースです。コードをフォークして、他の人がすでに作った機能を再利用することができます。新しい言語を学びたくなければ、JavaScriptやその他の既存の言語を使って、オープンソースのコードを扱うことができます。", "page-index-developers-button": "開発者ポータル", "page-index-developers-code-examples": "コード例", "page-index-developers-code-example-title-0": "自分の銀行", "page-index-developers-code-example-description-0": "自分がプログラムしたロジックで動く銀行を構築することができます。", "page-index-developers-code-example-title-1": "自分の通貨", "page-index-developers-code-example-description-1": "アプリケーション間で転送および使用できるトークンを作成できます。", - "page-index-developers-code-example-title-2": "JavaScriptのEthereumウォレット", - "page-index-developers-code-example-description-2": "既存の言語を使ってEthereumや他のアプリケーションと対話することができます。", + "page-index-developers-code-example-title-2": "JavaScriptのイーサリアム・ウォレット", + "page-index-developers-code-example-description-2": "既存の言語を使ってイーサリアムや他のアプリケーションと対話することができます。", "page-index-developers-code-example-title-3": "オープンでパーミッションレスなDNS", "page-index-developers-code-example-description-3": "既存のサービスを分散化された公開アプリとして再構築することができます。", - "page-index-network-stats-title": "現在のEthereum", + "page-index-network-stats-title": "現在のイーサリアム", "page-index-network-stats-subtitle": "最新のネットワーク統計", "page-index-network-stats-eth-price-description": "ETH価格(米ドル)", "page-index-network-stats-eth-price-explainer": "1 ETHの最新価格です。0.0000000000000001から購入できます。1 ETH全てを購入する必要はありません。", "page-index-network-stats-tx-day-description": "現在のトランザクション", - "page-index-network-stats-tx-day-explainer": "過去24時間にネットワーク上で正常に処理されたトランザクションの数。", - "page-index-network-stats-value-defi-description": "DeFiに預けられた金額(米ドル)", - "page-index-network-stats-value-defi-explainer": "分散型金融(DeFi)アプリケーション、Ethereumデジタル経済における金額。", + "page-index-network-stats-tx-day-explainer": "過去24時間にネットワーク上で正常に処理されたトランザクション数", + "page-index-network-stats-value-defi-description": "分散型金融(DeFi)に預けられた金額(米ドル)", + "page-index-network-stats-value-defi-explainer": "分散型金融(DeFi)アプリケーション、イーサリアムのデジタル経済における金額。", "page-index-network-stats-nodes-description": "ノード", - "page-index-network-stats-nodes-explainer": "Ethereumは、ノードと呼ばれる世界中の何千人ものボランティアによって運営されています。", + "page-index-network-stats-nodes-explainer": "イーサリアムは、ノードと呼ばれる世界中の何千人ものボランティアによって運営されています。", "page-index-touts-header": "ethereum.orgの探索", "page-index-contribution-banner-title": "ethereum.orgへの貢献", - "page-index-contribution-banner-description": "このウェブサイトは、何百人ものコミュニティ貢献者によるオープンソースです。このサイトのコンテンツの編集を提案したり、素晴らしい新機能を提案したり、バグを潰すのに貢献することができます。", - "page-index-contribution-banner-image-alt": "レゴブロックで作られたEthereumのロゴ。", + "page-index-contribution-banner-description": "このウェブサイトは、何百人ものコミュニティ貢献者によるオープンソースです。このサイトのコンテンツの編集、新しく優れた機能の提案、バグの修正に貢献することができます。", + "page-index-contribution-banner-image-alt": "レゴブロックで作られたイーサリアムのロゴ", "page-index-contribution-banner-button": "貢献の詳細", "page-index-tout-upgrades-title": "アップグレードに関してさらに詳しく", - "page-index-tout-upgrades-description": "Ethereumは、ネットワークの拡張性、安全性、持続可能性をなしえるために、相互に関連する複数のアップグレードで構成されています。", - "page-index-tout-upgrades-image-alt": "アップグレード後、Ethereumがパワーアップしたことを示す宇宙船のイラスト。", - "page-index-tout-enterprise-title": "企業向けEthereum", - "page-index-tout-enterprise-description": "Ethereumがどのようにして新しいビジネスモデルを開拓し、コストを削減し、ビジネスの将来性を高めることができるのかをご覧ください。", - "page-index-tout-enterprise-image-alt": "未来的なコンピュータまたはデバイスのイラスト。", - "page-index-tout-community-title": "Ethereumコミュニティ", - "page-index-tout-community-description": "Ethereumは、コミュニティがすべてです。さまざまな経歴や関心を持つ人たちで構成されています。参加方法をご覧ください。", - "page-index-tout-community-image-alt": "一緒に作業する開発者グループのイラスト。", + "page-index-tout-upgrades-description": "イーサリアムのロードマップは、ネットワークをよりスケーラブル、セキュア、かつ持続可能にするための、相互に関連する複数のアップグレードで構成されています。", + "page-index-tout-upgrades-image-alt": "アップグレード後、イーサリアムがパワーアップしたことを示す宇宙船イラスト", + "page-index-tout-enterprise-title": "企業向けイーサリアム", + "page-index-tout-enterprise-description": "イーサリアムがどのようにして新しいビジネスモデルを開拓し、コストを削減し、ビジネスの将来性を高めることができるのかをご覧ください。", + "page-index-tout-enterprise-image-alt": "未来的なコンピュータまたはデバイスのイラスト", + "page-index-tout-community-title": "イーサリアムコミュニティ", + "page-index-tout-community-description": "イーサリアムは、コミュニティがすべてです。さまざまな経歴や関心を持つ人たちで構成されています。参加方法をご覧ください。", + "page-index-tout-community-image-alt": "一緒に作業する開発者グループのイラスト", "page-index-nft": "資産のインターネット", - "page-index-nft-description": "Ethereumはデジタルマネーのためだけではありません。所有できるものはすべて、非代替性トークン(NFT)として表現し、取引し、利用することができます。自分の芸術作品をトークン化して、再販されるたびに自動的に印税を受け取ることができます。あるいは、所有物をトークンにしてローンを組むこともできます。可能性はどんどん広がっています。", - "page-index-nft-button": "NFTの詳細", - "page-index-nft-alt": "ホログラムを介して表示されているEthロゴ。" + "page-index-nft-description": "イーサリアムはデジタルマネーだけではありません。所有できるものはすべて、非代替性トークン(NFT)として表現し、取引し、利用することができます。自分の芸術作品をトークン化して、再販されるたびに自動的に印税を受け取ることができます。あるいは、所有物をトークンにしてローンを組むこともできます。可能性はどんどん広がっています。", + "page-index-nft-button": "非代替性トークン(NFT)の詳細", + "page-index-nft-alt": "ホログラムを介して表示されているETHロゴ" } diff --git a/src/intl/sl/common.json b/src/intl/sl/common.json index 9190dc1c52b..ed09e066867 100644 --- a/src/intl/sl/common.json +++ b/src/intl/sl/common.json @@ -15,6 +15,7 @@ "binance-logo": "Logotip Binance", "bittrex-logo": "Logotip Bittrex", "brand-assets": "Gradivo znamke", + "bridges": "Mostovi blokovnih verig", "bug-bounty": "Nagrade za odpravljanje napak", "coinbase-logo": "Logotip Coinbase", "coinmama-logo": "Logotip Coinmama", @@ -78,6 +79,9 @@ "ethereum-whitepaper": "Bela knjiga o Ethereumu", "events": "Dogodki", "example-projects": "Primeri projektov", + "feedback-prompt": "Vam je ta stran pomagala odgovoriti na vaša vprašanja?", + "feedback-title-helpful": "Hvala za povratne informacije!", + "feedback-title-not-helpful": "Pridružite se našemu javnemu Discordu in najdite odgovore, ki jih iščete.", "find-wallet": "Poišči denarnico", "foundation": "Fundacija", "gemini-logo": "Logotip Gemini", @@ -101,6 +105,7 @@ "jobs": "Zaposlitev", "kraken-logo": "Logotip Kraken", "language-ar": "Arabščina", + "language-az": "Azerbajdžanščina", "language-bg": "Bulgraščina", "language-bn": "Bengalščina", "language-ca": "Katalonščina", @@ -112,6 +117,7 @@ "language-fa": "Farsi", "language-fi": "Finščina", "language-fr": "Francoščina", + "language-gl": "Galicijščina", "language-hi": "Hindijščina", "language-hr": "Hrvaščina", "language-hu": "Madžarščina", @@ -119,6 +125,7 @@ "language-ig": "Igbo", "language-it": "Italijanščina", "language-ja": "Japonščina", + "language-ka": "Gruzijščina", "language-ko": "Korejščina", "language-lt": "Litovščina", "language-ml": "Malajalščina", @@ -147,6 +154,7 @@ "languages": "Jeziki", "last-24-hrs": "Zadnjih 24 ur", "last-edit": "Nazadnje urejeno", + "layer-2": "Plast 2", "learn": "Učenje", "learn-by-coding": "Učenje s kodiranjem", "learn-menu": "Meni za učenje", @@ -162,8 +170,6 @@ "loading-error-refresh": "Napaka, prosim osvežite.", "logo": "logotip", "loopring-logo": "Logotip Loopring", - "london-upgrade-banner": "Nadgradnja \"London\" nastopi čez: ", - "london-upgrade-banner-released": "Nadgradnja \"London\" je bila implementirana!", "mainnet-ethereum": "Glavno omrežje Ethereum", "makerdao-logo": "Logotip MakerDao", "matcha-logo": "Logotip Matcha", @@ -172,7 +178,11 @@ "more": "Več", "more-info": "Več informacij", "nav-beginners": "Začetniki", + "nav-developers": "Razvijalci", + "nav-developers-docs": "Dokumentacija za razvijalce", + "nav-primary": "Primarna", "next": "Naprej", + "no": "Ne", "oasis-logo": "Logotip Oasis", "online": "Na spletu", "on-this-page": "Na tej strani", @@ -185,7 +195,12 @@ "pros": "Prednosti", "read-more": "Preberite več", "refresh": "Osvežite stran.", + "return-home": "vrni se domov", + "run-a-node": "Upravljajte vozlišče", "review-progress": "Pregled napredka", + "rollup-component-website": "Spletna stran", + "rollup-component-developer-docs": "Dokumentacija za razvijalce", + "rollup-component-technology-and-risk-summary": "Povzetek tehnologije in rizika", "search": "Iskanje", "search-box-blank-state-text": "Začnite iskati!", "search-eth-address": "To je videti kot naslov Ethereum. Ne zagotavljamo podatkov za posamezne naslove. Poskusite ga poiskati v pregledovalniku blokov, kot je", @@ -202,7 +217,11 @@ "smart-contracts": "Pametne pogodbe", "stablecoins": "Stabilni kovanci", "staking": "Zastavljanje", + "solo": "Samostojno zastavljanje", + "saas": "Zastavljanje kot storitev", + "pools": "Skupno zastavljanje", "staking-community-grants": "Skladi za skupnost zastavljavcev", + "academic-grants-round": "Krog akademske finančne podpore", "summary": "Povzetek", "support": "Podpora", "terms-of-use": "Pogoji uporabe", @@ -217,9 +236,10 @@ "translation-banner-title-update": "Pomagajte posodobiti to stran", "translation-program": "Program prevajanja", "translation-progress": "Napredek prevajanja", - "translation-banner-no-bugs-title": "Brez hroščev!", - "translation-banner-no-bugs-content": "Ta stran ni prevedena. To stran smo zaenkrat namenoma pustili v angleščini.", - "translation-banner-no-bugs-dont-show-again": "Ne prikaži znova.", + "translation-banner-no-bugs-title": "Brez napak!", + "translation-banner-no-bugs-content": "Ta stran se ne prevaja. Namenoma smo jo za zdaj pustili v angleščini.", + "translation-banner-no-bugs-dont-show-again": "Ne prikaži več", + "try-using-search": "Da bi našli, kar iščete, poskusite z uporabo iskalnika ali", "tutorials": "Vadnice", "uniswap-logo": "Logotip Uniswap", "upgrades": "Nadgradnje", @@ -228,11 +248,14 @@ "use-ethereum-menu": "Meni Uporaba Ethereuma", "vision": "Vizija", "wallets": "Denarnice", + "we-couldnt-find-that-page": "Te strani ni mogoče najti", + "web3": "Kaj je Web3?", "website-last-updated": "Zadnja posodobitev spletnega mesta", "what-is-ether": "Kaj je ether (ETH)?", "what-is-ethereum": "Kaj je Ethereum?", "whitepaper": "Bela knjiga", "defi-page": "Decentralizirane finance (DeFi)", "dao-page": "Decentralizirane avtonomne organizacije (DAO)", - "nft-page": "Nezamenljivi žetoni (NFT)" + "nft-page": "Nezamenljivi žetoni (NFT)", + "yes": "Da" } diff --git a/src/intl/sl/page-index.json b/src/intl/sl/page-index.json index fe4c8f0c67b..8b477444998 100644 --- a/src/intl/sl/page-index.json +++ b/src/intl/sl/page-index.json @@ -62,7 +62,7 @@ "page-index-contribution-banner-image-alt": "Ethereum logotip narejen iz lego kock.", "page-index-contribution-banner-button": "Več o prispevkih", "page-index-tout-upgrades-title": "Izboljšajte svoje znanje o nadgradnji", - "page-index-tout-upgrades-description": "Ethereum je program medsebojno povezanih nadgradenj zasnovanih tako, da je Ethereum bolj skalabilen, varen in trajnosten.", + "page-index-tout-upgrades-description": "Ethereumov načrt je sestavljen iz medsebojno povezanih nadgradenj, zasnovanih tako, da je Ethereum bolj nadgradljiv, varen in trajnosten.", "page-index-tout-upgrades-image-alt": "Ilustracija vesoljske ladje, ki predstavlja povečano moč po nadgradnji Ethereuma.", "page-index-tout-enterprise-title": "Ethereum za podjetja", "page-index-tout-enterprise-description": "Oglejte si, kako lahko Ethereum odpre nove poslovne modele, zniža vaše stroške in pripravi vaše podjetje na prihodnost.", From 61c89687d3167e283e170fcad1cb0cba49182d72 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 16 May 2022 19:26:56 +0000 Subject: [PATCH 161/167] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fd547c417ef..a295967fd2e 100644 --- a/README.md +++ b/README.md @@ -1206,6 +1206,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Steve Goodman

📖 +
booklearner

📖 From 4f9bd5bab5736b4c251ddd24cd28c74f92118d06 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 16 May 2022 19:26:57 +0000 Subject: [PATCH 162/167] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 088368d342e..aa6c22716d8 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7443,6 +7443,15 @@ "contributions": [ "doc" ] + }, + { + "login": "booklearner", + "name": "booklearner", + "avatar_url": "https://avatars.githubusercontent.com/u/103979114?v=4", + "profile": "http://booklearner.org", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, From b6cb128164e633382cfa3c5f0b4db55e3f25634b Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Mon, 16 May 2022 20:39:03 +0100 Subject: [PATCH 163/167] Remove unused pages --- src/content/translations/cs/dapps/index.md | 33 ----------------- src/content/translations/cs/eth/index.md | 25 ------------- src/content/translations/cs/wallets/index.md | 38 -------------------- 3 files changed, 96 deletions(-) delete mode 100644 src/content/translations/cs/dapps/index.md delete mode 100644 src/content/translations/cs/eth/index.md delete mode 100644 src/content/translations/cs/wallets/index.md diff --git a/src/content/translations/cs/dapps/index.md b/src/content/translations/cs/dapps/index.md deleted file mode 100644 index 22f68228968..00000000000 --- a/src/content/translations/cs/dapps/index.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Používání decentralizovaných aplikací pro Ethereum (dapps) -description: Základní informace, které potřebujete pro zahájení používání Etherea. -lang: cs ---- - -# Používání Etherea {#using-ethereum} - - - -## Jak používat aplikace postavené na Ethereu {#how-to-use-an-application-built-on-ethereum} - -Nejjednodušší způsob, jak se seznámit s Ethereem, je vyzkoušet ho a použít! - -Zde uvádíme několik aplikací postavených na Ethereu – tento seznam často obměňujeme. - - - -Zajímají vás další aplikace postavené na Ethereu? - -- [Postavené na Ethereu](https://docs.ethhub.io/built-on-ethereum/built-on-ethereum/) _Pravidelně aktualizováno – EthHub_ -- [90+ Ethereum Apps You Can Use Right Now](https://media.consensys.net/40-ethereum-apps-you-can-use-right-now-d643333769f7) _24. dubna 2019 - ConsenSys_ -- [Ethereum Dapps](https://www.stateofthedapps.com/rankings/platform/ethereum) _Pravidelně aktualizováno – State of the Dapps_ -- [Ethereum DeFi Ecosystem](https://defiprime.com/ethereum) _Pravidelně aktualizováno – Defiprime_ -- [DeFi Pulse](https://defipulse.com/) _Analýza + hodnocení DeFi protokolů - Defi Pulse_ - -Některé aplikace na Ethereu vyžadují peněženku - [více informací o peněženkách pro Ethereum zde](/wallets/). - -Některé aplikace Ethereum budou vyžadovat ETH - [více informací o ETH zde](/eth/). diff --git a/src/content/translations/cs/eth/index.md b/src/content/translations/cs/eth/index.md deleted file mode 100644 index 38faa9848e2..00000000000 --- a/src/content/translations/cs/eth/index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Co je Ether (ETH)? -description: Základní informace, které potřebujete k pochopení ETH. -lang: cs ---- - -# Co je Ether (ETH)? {#what-is-ether-eth} - - - -## Co je to ETH a jak ho získat? {#what-is-eth-and-how-do-i-get-it} - -ETH je vlastní měna platformy Ethereum. Jsou to „digitální peníze“, které lze okamžitě a levně posílat přes internet a také používat v mnoha [aplikacích založených na Ethereu](/dapps/). - -Nejsnazší způsob, jak ETH získat, je zakoupit si ho. Možnost zakoupení ETH poskytuje celá řada kryptoměnových burz. Kterou z nich použijete, závisí na tom, z jaké země pocházíte či jakou platební metodu hodláte použít. - -Další informace o tom, jak nakoupit ETH, naleznete v následujících článcích a návodech: - -- [How to buy Ether (ETH)](https://support.mycrypto.com/how-to/getting-started/how-to-buy-ether-with-usd) _Pravidelně aktualizováno – MyCrypto_ -- [How to Buy Ether](https://docs.ethhub.io/using-ethereum/how-to-buy-ether/) _Pravidelně aktualizováno – EthHub_ -- [Ethereum, a Digital Currency](https://www.cryptokitties.co/faq#ethereum-a-digital-currency) _CryptoKitties_ diff --git a/src/content/translations/cs/wallets/index.md b/src/content/translations/cs/wallets/index.md deleted file mode 100644 index 153465d52ae..00000000000 --- a/src/content/translations/cs/wallets/index.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Peněženky pro Ethereum -description: Základní informace, které potřebujete k tomu, abyste mohli začít používat peněženky pro Ethereum. -lang: cs ---- - -# Ethereum peněženky {#ethereum-wallets} - - - -## Co je to Ethereum peněženka a kterou použít? {#what-is-an-ethereum-wallet-and-which-one-should-i-use} - -Peněženky jsou aplikace, které usnadňují držení a odesílání [ETH](/eth/) a komunikaci s [aplikacemi postavenými na Ethereu](/dapps/). - -Chcete nainstalovat peněženku? - -- [MetaMask](https://metamask.io) _rozšíření prohlížeče a mobilní peněženka pro iOS a Android_ -- [MyCrypto](https://mycrypto.com) _webová peněženka_ -- [TrustWallet](https://trustwallet.com/) _mobilní peněženka pro iOS a Android_ -- [MyEtherWallet](https://www.myetherwallet.com/) _peněženka na straně klienta_ -- [Opera](https://www.opera.com/crypto) _významný prohlížeč s integrovanou peněženkou_ - -Chcete se dozvědět více o Ethereum peněženkách? - -- [Intro to Ethereum Wallets](https://docs.ethhub.io/using-ethereum/wallets/intro-to-ethereum-wallets/) _Pravidelně aktualizováno – EthHub_ -- [Absolute Beginner Introduction to Ethereum: The Full Download](https://www.mewtopia.com/absolute-beginners-guide/) _23. července 2019 - MyEtherWallet_ -- [Best Ethereum Wallets 2019: Hardware vs. Software vs. Paper](https://blockonomi.com/best-ethereum-wallets/) _15. prosince 2018 - Blockonomi_ - -Chcete se dozvědět o tom, jak bezpečně uchovávat své kryptofinance a privátní klíče? - -- [Protecting Yourself and Your Funds](https://support.mycrypto.com/staying-safe/protecting-yourself-and-your-funds) _Pravidelně aktualizováno – MyCrypto_ -- [The keys to keeping your crypto safe](https://blog.coinbase.com/the-keys-to-keeping-your-crypto-safe-96d497cce6cf) _16. ledna 2019 - Coinbase blog_ -- [How to Store Digital Assets on Ethereum](https://media.consensys.net/how-to-store-digital-assets-on-ethereum-a2bfdcf66bd0) _30. května 2018 - ConsenSys_ -- [Do you really need a hardware wallet?](https://medium.com/ledger-on-security-and-blockchain/ledger-101-part-1-do-you-really-need-a-hardware-wallet-7f5abbadd945) _24. září 2018 - Ledger_ From 0fbb21e43669954379766ea90f31a6b9902c32a3 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Mon, 16 May 2022 20:42:32 +0100 Subject: [PATCH 164/167] Remove what is ethereum page --- .../translations/cs/what-is-ethereum/index.md | 44 ------------------- 1 file changed, 44 deletions(-) delete mode 100644 src/content/translations/cs/what-is-ethereum/index.md diff --git a/src/content/translations/cs/what-is-ethereum/index.md b/src/content/translations/cs/what-is-ethereum/index.md deleted file mode 100644 index 9a4bcf7a5aa..00000000000 --- a/src/content/translations/cs/what-is-ethereum/index.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Co je to Ethereum? -description: Příručky, informace a nástroje pro úplné začátečníky při užívání Etherea. -lang: cs ---- - -# Co je to Ethereum? {#what-is-ethereum} - -Slyšíte o Ethereu poprvé? Jste na správném místě. Pojďme na to. - -**Ethereum je základem nové éry internetu:** - -- Internetu, jehož součástí jsou peníze a platby. -- Internetu, kde jsou uživatelé pány svých dat a kde vás vaše aplikace nezneužívají a neokrádají. -- Internetu, kde má každý přístup k otevřenému finančnímu systému. -- Internetu postaveném na neutrální, otevřené infrastruktuře, která není pod kontrolou jedné osoby nebo korporace. - -**Ethereum, založené v roce 2015, je přední světový programovatelný blockchain.** - -**Stejně jako ostatní blockchainy i Ethereum má svou vlastní kryptoměnu – Ether (ETH). **Ether je digitální měna a platidlo. Pokud jste již slyšeli o [Bitcoinu](http://bitcoin.org/), tak ETH má mnoho podobných vlastností. Je čistě digitální a kdokoli ho může okamžitě posílat komukoli na světě. ETH není kontrolováno žádnou vládou ani společností – je to decentralizovaná a vzácná komodita. Lidé na celém světě využívají ETH k placení, jako ukladatele hodnoty nebo jako zástavu. - -**Na rozdíl od ostatních blockchainů toho Ethereum umí mnohem víc.** Ethereum je programovatelné, což znamená, že ho mohou využít vývojáři pro [nové druhy aplikací](/dapps/). - -Tyto decentralizované aplikace (nebo také „dapp“) plně využívají kryptoměny a technologii blockchain. Jejich důvěryhodnost je zajištěna tím, že jsou „uploadovány“ na Ethereum, a tudíž budou vždy fungovat tak, jak byly naprogramovány. Aplikace dapp mohou kontrolovat digitální aktiva, a tím vytvářet nové druhy finančních aplikací. Mohou být decentralizované, což znamená, že je neřídí žádná entita ani osoba. - -**Tisíce vývojářů po celém světě momentálně vytváří inovativní aplikace na Ethereu, které můžete využít právě dnes:** - -- [**Peněženky pro kryptoměny**](/wallets/), které umožňují levné a rychlé platby s ETH nebo jinými aktivy -- **Finanční aplikace**, které umožňují půjčit nebo investovat vaše digitální aktiva -- **Decentralizované trhy**, které umožňují obchodovat digitální aktiva, nebo dokonce monetizovat a obchodovat „předpovědi“ událostí v reálném světě -- **Hry**, kde lze vlastnit herní aktiva, a dokonce vydělávat reálné peníze -- **A mnohem**, mnohem víc. - -**Ethereum je největší a nejaktivnější blockchainová komunita na světě.** Zahrnuje vývojáře základního protokolu, výzkumníky v oboru kryptoekonomie, cypherpunky, těžaře, vlastníky ETH, vývojáře aplikací, běžné uživatele, anarchisty, velké organizace z Fortune 500 a odteď i **vás**. - -**Neexistuje žádná společnost ani centralizovaná organizace, která by Ethereum řídila.** Ethereum je udržováno a vylepšováno rozmanitou a celosvětovou komunitou přispěvatelů, kteří pracují na všem od základního protokolu až po uživatelské aplikace. Tato stránka, stejně jako celé Ethereum, byla – a stále je –spoluvytvářena skupinou vzájemně spolupracujících osob. - -**Vítejte v Ethereu** - -**Co vás dále zajímá?** - -- Chcete vyzkoušet Ethereum? [ethereum.org/dapps](/dapps/) -- Chcete se dozvědět více o technologii Etherea? [ethereum.org/learn](/learn/) -- Jste vývojář a máte zájem programovat na Ethereu? [ethereum.org/developers](/developers/) From 042c853366630d823949e9e0a048d9a37b20ae28 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Mon, 16 May 2022 13:01:13 -0700 Subject: [PATCH 165/167] json syntax bug patch --- src/intl/en/page-developers-index.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intl/en/page-developers-index.json b/src/intl/en/page-developers-index.json index d9d733798c0..557c3039707 100644 --- a/src/intl/en/page-developers-index.json +++ b/src/intl/en/page-developers-index.json @@ -89,7 +89,7 @@ "page-developers-web3-link": "Web2 vs Web3", "page-developers-networking-layer": "Networking Layer", "page-developers-networking-layer-link": "Networking Layer", - "page-developers-networking-layer-desc": "Introduction to the Ethereum networking layer" + "page-developers-networking-layer-desc": "Introduction to the Ethereum networking layer", "page-developers-data-structures-and-encoding": "Data structures and encoding", "page-developers-data-structures-and-encoding-link": "Data structures and encoing", "page-developers-data-structures-and-encoding-desc": "Introduction to the data structures and encoding schema used in the Ethereum stack" From 09f28caa7899f05fe4be2b4fe25d06e08eb0311f Mon Sep 17 00:00:00 2001 From: Jhonny Vianello <62344609+jhonnyvianello@users.noreply.github.com> Date: Mon, 16 May 2022 23:20:49 +0200 Subject: [PATCH 166/167] Fix POAPs claim on Translation Program page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 2021 POAPs claim has been eliminated as it expired at the end of January 2022, and no more claimable💎 --- src/content/contributing/translation-program/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/contributing/translation-program/index.md b/src/content/contributing/translation-program/index.md index 2a41381d49c..ffb6c038028 100644 --- a/src/content/contributing/translation-program/index.md +++ b/src/content/contributing/translation-program/index.md @@ -20,7 +20,7 @@ If you want to get involved and help us grow the global Ethereum community by tr Check out our Translator Acknowledgements page, and{" "} - claim your POAP token! If you translated ethereum.org in 2021, there's a unique POAP waiting for you.{" "} + claim your POAP token! If you translated ethereum.org in 2022, there's a unique POAP waiting for you.{" "} More on POAPs From b8f5e44a7550a71c14789c60ff17e14bcef3e6b6 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 16 May 2022 18:00:52 -0600 Subject: [PATCH 167/167] v3.24.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 718a557e747..4ad5988e7c8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ethereum-org-website", - "version": "3.23.0", + "version": "3.24.0", "description": "Website of ethereum.org", "main": "index.js", "repository": "git@github.com:ethereum/ethereum-org-website.git",