From beb19a2e3579ad964df6db93e673a17e62d4c527 Mon Sep 17 00:00:00 2001 From: Nadai2010 Date: Thu, 12 Oct 2023 07:05:49 +0100 Subject: [PATCH 1/2] Update enable tabs --- book.toml | 4 + po/es.po | 4142 ++++++++++++++++++++++++++++++++++------------- po/messages.pot | 3340 +++++++++++++++++++++++++++----------- 3 files changed, 5438 insertions(+), 2048 deletions(-) diff --git a/book.toml b/book.toml index 0424e8c29..a8462479a 100644 --- a/book.toml +++ b/book.toml @@ -13,3 +13,7 @@ after = ["links"] [output.html] git-repository-url = "https://github.com/starknet-edu/starknetbook" + +[output.html.fold] +enable = true +level = 0 diff --git a/po/es.po b/po/es.po index 0bbdbd30e..d5fe890f9 100644 --- a/po/es.po +++ b/po/es.po @@ -56,155 +56,163 @@ msgstr "" msgid "Starknet-js: Javascript SDK" msgstr "" -#: src/SUMMARY.md:20 -msgid "Starknet-React: React Integration" +#: src/SUMMARY.md:20 src/SUMMARY.md:46 +msgid "Examples" msgstr "" #: src/SUMMARY.md:21 -msgid "Starknet-py: Python SDK 🚧" +msgid "Beginner - ERC-20 UI" msgstr "" #: src/SUMMARY.md:22 -msgid "Starknet-rs: Rust SDK 🚧" +msgid "Intermediate - Million Dollar Homepage" msgstr "" #: src/SUMMARY.md:23 -msgid "Foundry Forge: Testing 🚧" +msgid "Starknet-React: React Integration" msgstr "" #: src/SUMMARY.md:24 -msgid "Foundry Cast: Interacting with Starknet 🚧" +msgid "Starknet-py: Python SDK 🚧" +msgstr "" + +#: src/SUMMARY.md:25 +msgid "Starknet-rs: Rust SDK 🚧" +msgstr "" + +#: src/SUMMARY.md:26 +msgid "Foundry Forge: Testing 🚧" msgstr "" #: src/SUMMARY.md:27 +msgid "Foundry Cast: Interacting with Starknet 🚧" +msgstr "" + +#: src/SUMMARY.md:29 msgid "Architecture" msgstr "" -#: src/SUMMARY.md:30 +#: src/SUMMARY.md:32 msgid "Transactions" msgstr "" -#: src/SUMMARY.md:31 +#: src/SUMMARY.md:33 msgid "Sequencers" msgstr "" -#: src/SUMMARY.md:32 +#: src/SUMMARY.md:34 msgid "Provers 🚧" msgstr "" -#: src/SUMMARY.md:33 +#: src/SUMMARY.md:35 msgid "Nodes 🚧" msgstr "" -#: src/SUMMARY.md:34 -msgid "Layer 3 and App Chains 🚧 " +#: src/SUMMARY.md:36 +msgid "Layer 3 and App Chains 🚧 " msgstr "" -#: src/SUMMARY.md:35 +#: src/SUMMARY.md:37 msgid "Solidity Verifier 🚧" msgstr "" -#: src/SUMMARY.md:36 +#: src/SUMMARY.md:38 msgid "Decentralization 🚧" msgstr "" -#: src/SUMMARY.md:38 +#: src/SUMMARY.md:40 msgid "Account Abstraction" msgstr "" -#: src/SUMMARY.md:41 +#: src/SUMMARY.md:43 msgid "Accounts" msgstr "" -#: src/SUMMARY.md:42 +#: src/SUMMARY.md:44 msgid "Hello, Account! 🚧" msgstr "" -#: src/SUMMARY.md:43 +#: src/SUMMARY.md:45 msgid "Standard AccounT 🚧" msgstr "" -#: src/SUMMARY.md:44 -msgid "Examples" -msgstr "" - -#: src/SUMMARY.md:45 +#: src/SUMMARY.md:47 msgid "Multicaller 🚧" msgstr "" -#: src/SUMMARY.md:46 +#: src/SUMMARY.md:48 msgid "Multisig 🚧" msgstr "" -#: src/SUMMARY.md:47 +#: src/SUMMARY.md:49 msgid "Auto-Payments 🚧" msgstr "" -#: src/SUMMARY.md:48 +#: src/SUMMARY.md:50 msgid "Alternative Signature Schemes 🚧" msgstr "" -#: src/SUMMARY.md:52 +#: src/SUMMARY.md:54 msgid "STARKs 🚧" msgstr "" -#: src/SUMMARY.md:53 +#: src/SUMMARY.md:55 msgid "Basics 🚧" msgstr "" -#: src/SUMMARY.md:54 +#: src/SUMMARY.md:56 msgid "Math Primer 🚧" msgstr "" -#: src/SUMMARY.md:55 +#: src/SUMMARY.md:57 msgid "Number Theory 🚧" msgstr "" -#: src/SUMMARY.md:56 +#: src/SUMMARY.md:58 msgid "Geometry 🚧" msgstr "" -#: src/SUMMARY.md:57 +#: src/SUMMARY.md:59 msgid "Cryptographic Primitives 🚧" msgstr "" -#: src/SUMMARY.md:58 +#: src/SUMMARY.md:60 msgid "Arithimization 🚧" msgstr "" -#: src/SUMMARY.md:59 +#: src/SUMMARY.md:61 msgid "Low Degree Testing 🚧" msgstr "" -#: src/SUMMARY.md:60 +#: src/SUMMARY.md:62 msgid "FRI Protocol 🚧" msgstr "" -#: src/SUMMARY.md:61 +#: src/SUMMARY.md:63 msgid "Efficient STARKs" msgstr "" -#: src/SUMMARY.md:62 +#: src/SUMMARY.md:64 msgid "STARKs Protocol (Python) 🚧" msgstr "" -#: src/SUMMARY.md:63 src/SUMMARY.md:68 +#: src/SUMMARY.md:65 src/SUMMARY.md:70 msgid "Trace/Low Degree Extension 🚧" msgstr "" -#: src/SUMMARY.md:64 src/SUMMARY.md:69 +#: src/SUMMARY.md:66 src/SUMMARY.md:71 msgid "Constraints 🚧" msgstr "" -#: src/SUMMARY.md:65 src/SUMMARY.md:70 +#: src/SUMMARY.md:67 src/SUMMARY.md:72 msgid "FRI Commitments 🚧" msgstr "" -#: src/SUMMARY.md:66 src/SUMMARY.md:71 +#: src/SUMMARY.md:68 src/SUMMARY.md:73 msgid "Query Phase 🚧" msgstr "" -#: src/SUMMARY.md:67 +#: src/SUMMARY.md:69 msgid "STARKs Protocol (Rust) 🚧" msgstr "" @@ -254,124 +262,136 @@ msgstr "" #: src/title-page.md:27 msgid "" -"| Chapter | " -"Description " +"| Chapter | " +"Description " "|\n" -"|-------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|\n" -"| 1: Starknet Introduction | Delve into the fundamental concepts of Starknet and acquaint yourself with the deployment of smart " -"contracts. |\n" -"| 2: Starknet Tooling | Familiarize yourself with vital tools, such as Protostar and Hardhat, and explore how languages like Javascript, Python, and " -"Rust can be leveraged for Starknet interactions. |\n" -"| 3: Starknet Architecture| Uncover Starknet’s core structure, gaining insights into the transaction lifecycle and the interplay between the Sequencer, " -"Prover, and Nodes. |\n" -"| 4: Account Abstraction | Delve deep into Starknet’s unique approach to user accounts, and master the art of crafting custom " -"accounts. |\n" -"| 5: STARKs | Dive into the intricacies of STARKs and their pivotal role in shaping Starknet’s " -"landscape. |" -msgstr "" - -#: src/title-page.md:36 +"| ------------------------ | " +"----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- " +"|\n" +"| 1: Starknet Introduction | Delve into the fundamental concepts of Starknet " +"and acquaint yourself with the deployment of smart " +"contracts. " +"|\n" +"| 2: Starknet Tooling | Familiarize yourself with vital tools, such as " +"Protostar and Hardhat, and explore how languages like Javascript, Python, " +"and Rust can be leveraged for Starknet interactions. |\n" +"| 3: Starknet Architecture | Uncover Starknet’s core structure, gaining " +"insights into the transaction lifecycle and the interplay between the " +"Sequencer, Prover, and Nodes. |\n" +"| 4: Account Abstraction | Delve deep into Starknet’s unique approach to " +"user accounts, and master the art of crafting custom " +"accounts. " +"|\n" +"| 5: STARKs | Dive into the intricacies of STARKs and their " +"pivotal role in shaping Starknet’s " +"landscape. " +"|" +msgstr "" + +#: src/title-page.md:35 msgid "# Where to Start?" msgstr "" -#: src/title-page.md:38 +#: src/title-page.md:37 msgid "" "Depending on your goals and interests, you can choose different paths\n" "through the Starknet Book. Here are some recommendations based on\n" "various objectives:" msgstr "" -#: src/title-page.md:42 +#: src/title-page.md:41 msgid "" -"- If you’re a **complete beginner** and want to start learning about\n" -" Cairo and Starknet from scratch, follow the book in its entirety,\n" -" starting with **Introduction to Starknet**.\n" +"- If you’re a **complete beginner** and want to start learning about\n" +" Cairo and Starknet from scratch, follow the book in its entirety,\n" +" starting with **Introduction to Starknet**.\n" "\n" -"- If you’re an **experienced developer** looking to quickly dive into\n" -" writing scalable and decentralized smart contracts, focus on the\n" -" Cairo Book, particularly **chapter 12: Starknet Smart Contracts**\n" -" ([link](https://book.cairo-lang.org/ch99-00-starknet-smart-contracts.html)).\n" +"- If you’re an **experienced developer** looking to quickly dive into\n" +" writing scalable and decentralized smart contracts, focus on the\n" +" Cairo Book, particularly **chapter 12: Starknet Smart Contracts**\n" +" ([link](https://book.cairo-lang.org/ch99-00-starknet-smart-contracts." +"html)).\n" "\n" -"- If you’re a **frontend developer** wanting to integrate Starknet\n" -" with a React frontend using Javascript, prioritize the\n" -" **starknet-js** and **starknet-react** subchapters in **Starknet\n" -" Tooling**\n" +"- If you’re a **frontend developer** wanting to integrate Starknet\n" +" with a React frontend using Javascript, prioritize the\n" +" **starknet-js** and **starknet-react** subchapters in **Starknet\n" +" Tooling**\n" "\n" -"- If you’re a **DevOps engineer** or **node operator** interested in\n" -" running a Starknet node and indexer, head straight to **Starknet\n" -" Architecture**.\n" +"- If you’re a **DevOps engineer** or **node operator** interested in\n" +" running a Starknet node and indexer, head straight to **Starknet\n" +" Architecture**.\n" "\n" -"- If you’re a **security researcher** or **smart contract auditor**\n" -" wanting to learn about the Account Abstraction feature and its\n" -" implications, go for **Account Abstraction**.\n" +"- If you’re a **security researcher** or **smart contract auditor**\n" +" wanting to learn about the Account Abstraction feature and its\n" +" implications, go for **Account Abstraction**.\n" "\n" -"- If you’re a **blockchain enthusiast** curious about the underlying\n" -" architecture and mechanics of Starknet and Cairo, explore **Starknet\n" -" Architecture**.\n" +"- If you’re a **blockchain enthusiast** curious about the underlying\n" +" architecture and mechanics of Starknet and Cairo, explore **Starknet\n" +" Architecture**.\n" "\n" -"- If you’re a **cryptography expert** or **researcher** eager to\n" -" understand the fundamentals of STARKs and their connection to the\n" -" Starknet ecosystem, delve into **STARKs**." +"- If you’re a **cryptography expert** or **researcher** eager to\n" +" understand the fundamentals of STARKs and their connection to the\n" +" Starknet ecosystem, delve into **STARKs**." msgstr "" -#: src/title-page.md:72 +#: src/title-page.md:71 msgid "" "Feel free to mix and match these paths based on your unique interests\n" "and requirements." msgstr "" -#: src/title-page.md:75 +#: src/title-page.md:74 msgid "# Your Contributions Matter" msgstr "" -#: src/title-page.md:77 +#: src/title-page.md:76 msgid "" "Welcome aboard! By contributing to the Starknet Book, you’re doing more\n" "than sharing expertise—you’re shaping the future of decentralized tech.\n" "Let’s build a guide that helps developers unlock Starknet’s potential." msgstr "" -#: src/title-page.md:81 +#: src/title-page.md:80 msgid "" "For detailed contribution guidelines, visit the [Contributors\n" -"Guide](https://github.com/starknet-edu/starknetbook/blob/main/CONTRIBUTING.adoc).\n" +"Guide](https://github.com/starknet-edu/starknetbook/blob/main/CONTRIBUTING." +"adoc).\n" "Every contribution counts. Your skills and passion will help make this\n" "book an invaluable tool." msgstr "" -#: src/title-page.md:86 +#: src/title-page.md:85 msgid "## How You Can Help" msgstr "" -#: src/title-page.md:88 +#: src/title-page.md:87 msgid "" -"- Found an empty section? Fill it in!\n" +"- Found an empty section? Fill it in!\n" "\n" -"- Think we need a new section? Suggest one.\n" +"- Think we need a new section? Suggest one.\n" "\n" -"- See room for improvement? Go ahead and tweak it.\n" +"- See room for improvement? Go ahead and tweak it.\n" "\n" -"- Want to add code in a new programming language? Go for it.\n" +"- Want to add code in a new programming language? Go for it.\n" "\n" -"- Found a bug? Fix it.\n" +"- Found a bug? Fix it.\n" "\n" -"- Exercises unclear? Add explanations.\n" +"- Exercises unclear? Add explanations.\n" "\n" -"- Show off your favorite Cairo features through new exercises." +"- Show off your favorite Cairo features through new exercises." msgstr "" -#: src/title-page.md:102 +#: src/title-page.md:101 msgid "# Additional Key Educational Resources" msgstr "" -#: src/title-page.md:104 +#: src/title-page.md:103 msgid "" "We’ve compiled a list of valuable educational resources that will help\n" "deepen your understanding and enhance your skills in coding with Cairo\n" "and staying abreast with Starknet developments:" msgstr "" -#: src/title-page.md:108 +#: src/title-page.md:107 msgid "" "1. **Cairo Book**: A comprehensive guide to Cairo, the programming\n" " language for Starknet smart contracts. You can access it\n" @@ -408,160 +428,196 @@ msgstr "" #: src/ch00-00-introduction.md:5 msgid "" -"Historically, societal roles like currency, property rights, and social status titles have been governed by *protocols* and *registries*. Their value " -"stems from a widely accepted understanding of their integrity. These functions have predominantly been overseen by centralized entities prone to " -"challenges such as corruption, agency conflicts, and exclusion ([Eli Ben-Sasson, Bareli, Brandt, Volokh, 2023](https://hackmd.io/@Elibensasson/" +"Historically, societal roles like currency, property rights, and social " +"status titles have been governed by _protocols_ and _registries_. Their " +"value stems from a widely accepted understanding of their integrity. These " +"functions have predominantly been overseen by centralized entities prone to " +"challenges such as corruption, agency conflicts, and exclusion ([Eli Ben-" +"Sasson, Bareli, Brandt, Volokh, 2023](https://hackmd.io/@Elibensasson/" "ryMelVulp))." msgstr "" #: src/ch00-00-introduction.md:7 msgid "" -"Satoshi's creation, Bitcoin, introduced a novel approach for these functions, termed an *integrity web*. This is an infrastructure for societal roles " -"that:" +"Satoshi's creation, Bitcoin, introduced a novel approach for these " +"functions, termed an _integrity web_. This is an infrastructure for societal " +"roles that:" msgstr "" -#: src/ch00-00-introduction.md:8 +#: src/ch00-00-introduction.md:9 msgid "" "1. Is openly described by a public protocol.\n" "2. Operates over a wide, inclusive, peer-to-peer network.\n" -"3. Distributes value fairly and extensively to maintain societal consensus on its integrity." +"3. Distributes value fairly and extensively to maintain societal consensus " +"on its integrity." msgstr "" -#: src/ch00-00-introduction.md:12 +#: src/ch00-00-introduction.md:13 msgid "" -"While Bitcoin addressed monetary functions, Ethereum expanded this to include any function that can be defined by computer programming. Both faced the " -"challenge of balancing scalability with decentralization. These integrity webs have often favored inclusivity over capacity, ensuring even those with " -"limited resources can authenticate the system's integrity. Yet, this means they struggle to meet global demand." +"While Bitcoin addressed monetary functions, Ethereum expanded this to " +"include any function that can be defined by computer programming. Both faced " +"the challenge of balancing scalability with decentralization. These " +"integrity webs have often favored inclusivity over capacity, ensuring even " +"those with limited resources can authenticate the system's integrity. Yet, " +"this means they struggle to meet global demand." msgstr "" -#: src/ch00-00-introduction.md:14 +#: src/ch00-00-introduction.md:15 msgid "## Defining \"Blockchain\"" msgstr "" -#: src/ch00-00-introduction.md:16 +#: src/ch00-00-introduction.md:17 msgid "" -"In the ever-evolving realm of technology, defining a term as multifaceted as \"Blockchain\" can be challenging. Based on current understandings and " -"applications, a Blockchain can be characterized by the following three properties ([Eli Ben-Sasson, 2023](https://twitter.com/EliBenSasson/" +"In the ever-evolving realm of technology, defining a term as multifaceted as " +"\"Blockchain\" can be challenging. Based on current understandings and " +"applications, a Blockchain can be characterized by the following three " +"properties ([Eli Ben-Sasson, 2023](https://twitter.com/EliBenSasson/" "status/1709272086504485265)):" msgstr "" -#: src/ch00-00-introduction.md:18 -msgid "" -"1. **Public Protocol:** The foundation of a Blockchain rests upon a protocol that is openly available. This transparency ensures that any interested " -"party can understand its workings, fostering trust and enabling wider adoption.\n" -"2. **Open P2P Network:** Instead of relying on a centralized entity, a Blockchain operates over a peer-to-peer (P2P) network. This decentralized approach " -"ensures that operations are distributed across various participants or nodes, making the system more resilient to failures and censorship.\n" -"3. **Value Distribution:** Central to the Blockchain's operation is the way it rewards its operators. The system autonomously distributes value in a " -"manner that is wide-ranging and equitable. This incentivization not only motivates participants to maintain the system's integrity but also ensures a " +#: src/ch00-00-introduction.md:19 +msgid "" +"1. **Public Protocol:** The foundation of a Blockchain rests upon a protocol " +"that is openly available. This transparency ensures that any interested " +"party can understand its workings, fostering trust and enabling wider " +"adoption.\n" +"2. **Open P2P Network:** Instead of relying on a centralized entity, a " +"Blockchain operates over a peer-to-peer (P2P) network. This decentralized " +"approach ensures that operations are distributed across various participants " +"or nodes, making the system more resilient to failures and censorship.\n" +"3. **Value Distribution:** Central to the Blockchain's operation is the way " +"it rewards its operators. The system autonomously distributes value in a " +"manner that is wide-ranging and equitable. This incentivization not only " +"motivates participants to maintain the system's integrity but also ensures a " "broader societal consensus." msgstr "" -#: src/ch00-00-introduction.md:22 +#: src/ch00-00-introduction.md:23 msgid "" -"While these properties capture the essence of many Blockchains, the term's definition might need refinement as the technology matures and finds new " -"applications. Engaging in continuous dialogue and revisiting definitions will be crucial in this dynamic landscape." +"While these properties capture the essence of many Blockchains, the term's " +"definition might need refinement as the technology matures and finds new " +"applications. Engaging in continuous dialogue and revisiting definitions " +"will be crucial in this dynamic landscape." msgstr "" -#: src/ch00-00-introduction.md:24 +#: src/ch00-00-introduction.md:25 msgid "## Starknet Definition" msgstr "" -#: src/ch00-00-introduction.md:26 +#: src/ch00-00-introduction.md:27 msgid "" -"Starknet is a Layer-2 network that makes Ethereum transactions faster, cheaper, and more secure using zk-STARKs technology. Think of it as a boosted " -"layer on top of Ethereum, optimized for speed and cost." +"Starknet is a Layer-2 network that makes Ethereum transactions faster, " +"cheaper, and more secure using zk-STARKs technology. Think of it as a " +"boosted layer on top of Ethereum, optimized for speed and cost." msgstr "" -#: src/ch00-00-introduction.md:28 +#: src/ch00-00-introduction.md:29 msgid "" -"Starknet bridges the gap between scalability and broad consensus. It integrates a mathematical framework to navigate the balance between capacity and " -"inclusivity. Its integrity hinges on the robustness of succinct, transparent proofs of computational integrity. This method lets powerful operators " -"enhance Starknet's capacity, ensuring everyone can authenticate Starknet's integrity using universally accessible tools ([Eli Ben-Sasson, Bareli, Brandt, " -"Volokh, 2023](https://hackmd.io/@Elibensasson/ryMelVulp))." +"Starknet bridges the gap between scalability and broad consensus. It " +"integrates a mathematical framework to navigate the balance between capacity " +"and inclusivity. Its integrity hinges on the robustness of succinct, " +"transparent proofs of computational integrity. This method lets powerful " +"operators enhance Starknet's capacity, ensuring everyone can authenticate " +"Starknet's integrity using universally accessible tools ([Eli Ben-Sasson, " +"Bareli, Brandt, Volokh, 2023](https://hackmd.io/@Elibensasson/ryMelVulp))." msgstr "" -#: src/ch00-00-introduction.md:30 +#: src/ch00-00-introduction.md:31 msgid "## Starknet’s Mission" msgstr "" -#: src/ch00-00-introduction.md:32 -msgid "*Starknet’s mission is to allow individuals to freely implement and use any social function they desire.*" +#: src/ch00-00-introduction.md:33 +msgid "" +"_Starknet’s mission is to allow individuals to freely implement and use any " +"social function they desire._" msgstr "" -#: src/ch00-00-introduction.md:34 +#: src/ch00-00-introduction.md:35 msgid "## Starknet’s Values" msgstr "" -#: src/ch00-00-introduction.md:36 -msgid "Starknet's ethos is anchored in core principles ([Eli Ben-Sasson, Bareli, Brandt, Volokh, 2023](https://hackmd.io/@Elibensasson/ryMelVulp)):" +#: src/ch00-00-introduction.md:37 +msgid "" +"Starknet's ethos is anchored in core principles ([Eli Ben-Sasson, Bareli, " +"Brandt, Volokh, 2023](https://hackmd.io/@Elibensasson/ryMelVulp)):" msgstr "" -#: src/ch00-00-introduction.md:38 +#: src/ch00-00-introduction.md:39 msgid "" -"- **Lasting Broadness.** Starknet continuously resists power consolidation. Key points include:\n" -" - Broad power distribution underpins Starknet's legitimacy and must persist across operations and decision-making. While centralized operation may be " -"necessary at times, it should be short-lived.\n" -" - Starknet's protocol and governance should always be open and transparent.\n" -" - Governance should bolster inclusivity, with a flexible structure that can evolve to ensure enduring inclusivity.\n" +"- **Lasting Broadness.** Starknet continuously resists power consolidation. " +"Key points include:\n" "\n" -"- **Neutrality.** Starknet remains impartial to the societal functions it supports.\n" -" - The objectives and ethos of functions on Starknet lie with their creators.\n" -" - **Censorship resistance:** Starknet remains agnostic to the nature and meaning of user transactions.\n" +" - Broad power distribution underpins Starknet's legitimacy and must " +"persist across operations and decision-making. While centralized operation " +"may be necessary at times, it should be short-lived.\n" +" - Starknet's protocol and governance should always be open and " +"transparent.\n" +" - Governance should bolster inclusivity, with a flexible structure that " +"can evolve to ensure enduring inclusivity.\n" "\n" -"- **Individual Empowerment.** At its core, Starknet thrives on a well-informed and autonomous user base. This is achieved by fostering a culture rooted " -"in its core mission and values, with a strong emphasis on education." +"- **Neutrality.** Starknet remains impartial to the societal functions it " +"supports.\n" +"\n" +" - The objectives and ethos of functions on Starknet lie with their " +"creators.\n" +" - **Censorship resistance:** Starknet remains agnostic to the nature and " +"meaning of user transactions.\n" +"\n" +"- **Individual Empowerment.** At its core, Starknet thrives on a well-" +"informed and autonomous user base. This is achieved by fostering a culture " +"rooted in its core mission and values, with a strong emphasis on education." msgstr "" -#: src/ch00-00-introduction.md:49 +#: src/ch00-00-introduction.md:52 msgid "## Key Features" msgstr "" -#: src/ch00-00-introduction.md:51 +#: src/ch00-00-introduction.md:54 msgid "These are some key features of Starknet:" msgstr "" -#: src/ch00-00-introduction.md:53 +#: src/ch00-00-introduction.md:56 msgid "" -"- Low Costs: Transactions on Starknet cost less than on Ethereum.\n" -" Future updates like Volition and EIP 4844 will make it even cheaper.\n" +"- Low Costs: Transactions on Starknet cost less than on Ethereum.\n" +" Future updates like Volition and EIP 4844 will make it even cheaper.\n" "\n" -"- Developer-Friendly: Starknet lets developers easily build\n" -" decentralized apps using its native language, Cairo.\n" +"- Developer-Friendly: Starknet lets developers easily build\n" +" decentralized apps using its native language, Cairo.\n" "\n" -"- Speed and Efficiency: Upcoming releases aim to make transactions\n" -" even faster and cheaper.\n" +"- Speed and Efficiency: Upcoming releases aim to make transactions\n" +" even faster and cheaper.\n" "\n" -"- CVM: Thanks to Cairo, Starknet runs on it´s own VM, called Cairo VM\n" -" (CVM), that allow us to innovate beyond the Ethereum Virtual Machine\n" -" (EVM) and create a new paradigm for decentralized applications." +"- CVM: Thanks to Cairo, Starknet runs on it´s own VM, called Cairo VM\n" +" (CVM), that allow us to innovate beyond the Ethereum Virtual Machine\n" +" (EVM) and create a new paradigm for decentralized applications." msgstr "" -#: src/ch00-00-introduction.md:66 +#: src/ch00-00-introduction.md:69 msgid "Here some of them:" msgstr "" -#: src/ch00-00-introduction.md:68 +#: src/ch00-00-introduction.md:71 msgid "" -"- Account Abstraction: Implemented at the protocol level, this\n" -" facilitates diverse signing schemes while ensuring user security and\n" -" self-custody of assets.\n" +"- Account Abstraction: Implemented at the protocol level, this\n" +" facilitates diverse signing schemes while ensuring user security and\n" +" self-custody of assets.\n" "\n" -"- Volition: Will be implemented on testnet during Q4 2023 will allow\n" -" developers to regulate data availability on Ethereum (L1) or on\n" -" Starknet (L2). Reducing L1 onchain data can radically reduce costs.\n" +"- Volition: Will be implemented on testnet during Q4 2023 will allow\n" +" developers to regulate data availability on Ethereum (L1) or on\n" +" Starknet (L2). Reducing L1 onchain data can radically reduce costs.\n" "\n" -"- Paymaster: StarkNet will allow users to choose how to pay for\n" -" transaction fee, follows the guidelines laid out in EIP 4337 and\n" -" allows the transaction to specify a specific contract, a\n" -" **Paymaster**, to pay for their transaction. Supports gasless\n" -" transactions, enhancing user accessibility." +"- Paymaster: StarkNet will allow users to choose how to pay for\n" +" transaction fee, follows the guidelines laid out in EIP 4337 and\n" +" allows the transaction to specify a specific contract, a\n" +" **Paymaster**, to pay for their transaction. Supports gasless\n" +" transactions, enhancing user accessibility." msgstr "" -#: src/ch00-00-introduction.md:82 +#: src/ch00-00-introduction.md:85 msgid "## Cairo: The Language of Starknet" msgstr "" -#: src/ch00-00-introduction.md:84 +#: src/ch00-00-introduction.md:87 msgid "" "Cairo is tailor-made for creating STARK-based smart contracts. As\n" "Starknet’s native language, it’s central to building scalable and secure\n" @@ -570,79 +626,79 @@ msgid "" "[Starklings](https://github.com/shramee/starklings-cairo1)." msgstr "" -#: src/ch00-00-introduction.md:90 +#: src/ch00-00-introduction.md:93 msgid "" "Inspired by Rust, Cairo lets you write contracts safely and\n" "conveniently." msgstr "" -#: src/ch00-00-introduction.md:93 +#: src/ch00-00-introduction.md:96 msgid "### Why Choose Cairo?" msgstr "" -#: src/ch00-00-introduction.md:95 +#: src/ch00-00-introduction.md:98 msgid "" -"Cairo is designed for *Provable Computation,* a new paradigm that lets\n" +"Cairo is designed for _Provable Computation,_ a new paradigm that lets\n" "programs prove their correctness without re-running them. Here’s why it\n" "stands out:" msgstr "" -#: src/ch00-00-introduction.md:99 +#: src/ch00-00-introduction.md:102 msgid "" -"- Purpose-Built: Designed specifically for smart contracts.\n" +"- Purpose-Built: Designed specifically for smart contracts.\n" "\n" -"- No EVM Limits: Goes beyond what the Ethereum Virtual Machine can do.\n" +"- No EVM Limits: Goes beyond what the Ethereum Virtual Machine can do.\n" "\n" -"- Flexibility: Uses traits for more flexibility than inheritance." +"- Flexibility: Uses traits for more flexibility than inheritance." msgstr "" -#: src/ch00-00-introduction.md:105 +#: src/ch00-00-introduction.md:108 msgid "## Governance" msgstr "" -#: src/ch00-00-introduction.md:107 +#: src/ch00-00-introduction.md:110 msgid "" "The Starknet Foundation oversees Starknet’s governance. Its duties\n" "include:" msgstr "" -#: src/ch00-00-introduction.md:110 +#: src/ch00-00-introduction.md:113 msgid "" -"- Managing Starknet’s development and operations\n" +"- Managing Starknet’s development and operations\n" "\n" -"- Overseeing the Starknet DAO, which enables community involvement\n" +"- Overseeing the Starknet DAO, which enables community involvement\n" "\n" -"- Setting rules to maintain network integrity" +"- Setting rules to maintain network integrity" msgstr "" -#: src/ch00-00-introduction.md:116 +#: src/ch00-00-introduction.md:119 msgid "" "Our focus is on technical input and debate for improving the protocol.\n" "While we value all perspectives, it’s often the technical insights that\n" "steer us forward." msgstr "" -#: src/ch00-00-introduction.md:120 +#: src/ch00-00-introduction.md:123 msgid "" "Members can influence Starknet by voting on changes. Here’s the process:\n" "A new version is tested on the Goerli Testnet. Members then have six\n" "days to review it. A Snapshot proposal is made, and the community votes.\n" -"A majority of *YES* votes means an upgrade to the Mainnet." +"A majority of _YES_ votes means an upgrade to the Mainnet." msgstr "" -#: src/ch00-00-introduction.md:125 +#: src/ch00-00-introduction.md:128 msgid "In short, governance is key to Starknet’s evolution." msgstr "" -#: src/ch00-00-introduction.md:127 +#: src/ch00-00-introduction.md:130 msgid "To propose an improvement, create a SNIP." msgstr "" -#: src/ch00-00-introduction.md:130 +#: src/ch00-00-introduction.md:132 msgid "### SNIP: StarkNet Improvement Proposals" msgstr "" -#: src/ch00-00-introduction.md:132 +#: src/ch00-00-introduction.md:134 msgid "" "SNIP is short for StarkNet Improvement Proposal. It’s essentially a\n" "blueprint that details proposed enhancements or changes to the StarkNet\n" @@ -650,17 +706,18 @@ msgid "" "specifications of the change and the reasons behind it. If you’re\n" "proposing a SNIP, it’s your job to rally community support and document\n" "any objections (more details\n" -"[here](https://community.starknet.io/t/draft-simp-1-simp-purpose-and-guidelines/1197#what-is-a-snip-2)).\n" +"[here](https://community.starknet.io/t/draft-simp-1-simp-purpose-and-" +"guidelines/1197#what-is-a-snip-2)).\n" "Once a SNIP is approved, it becomes a part of the Starknet protocol. All\n" "the SNIPs can be found in [this\n" "repository](https://github.com/starknet-io/SNIPs)." msgstr "" -#: src/ch00-00-introduction.md:143 +#: src/ch00-00-introduction.md:145 msgid "SNIPs serve three crucial roles:" msgstr "" -#: src/ch00-00-introduction.md:145 +#: src/ch00-00-introduction.md:147 msgid "" "1. They are the main avenue for proposing new features or changes.\n" "\n" @@ -671,14 +728,14 @@ msgid "" " view of how StarkNet has evolved." msgstr "" -#: src/ch00-00-introduction.md:153 +#: src/ch00-00-introduction.md:155 msgid "" "Because SNIPs are stored as text files in a [version-controlled\n" "repository](https://github.com/starknet-io/SNIPs), you can easily track\n" "changes and understand the history of proposals." msgstr "" -#: src/ch00-00-introduction.md:157 +#: src/ch00-00-introduction.md:159 msgid "" "For those who are building on Starknet, SNIPs aren’t just\n" "suggestions—they’re a roadmap. It’s beneficial for implementers to keep\n" @@ -686,35 +743,39 @@ msgid "" "gauge the state of a particular implementation or software library." msgstr "" -#: src/ch00-00-introduction.md:163 +#: src/ch00-00-introduction.md:164 msgid "## Learning Resources" msgstr "" -#: src/ch00-00-introduction.md:165 +#: src/ch00-00-introduction.md:166 msgid "For deeper insights into Starknet and Cairo:" msgstr "" -#: src/ch00-00-introduction.md:167 +#: src/ch00-00-introduction.md:168 msgid "" -"- [The Starknet Book](https://book.starknet.io): For mastering\n" -" Starknet\n" +"- [The Starknet Book](https://book.starknet.io): For mastering\n" +" Starknet\n" "\n" -"- [The Cairo Book](https://cairo-book.github.io/): For mastering Cairo\n" +"- [The Cairo Book](https://cairo-book.github.io/): For mastering Cairo\n" "\n" -"- [Starklings](https://github.com/shramee/starklings-cairo1):\n" -" Practical tutorials and examples" +"- [Starklings](https://github.com/shramee/starklings-cairo1):\n" +" Practical tutorials and examples" msgstr "" -#: src/ch00-00-introduction.md:175 src/ch02-08-starknet-react.md:361 src/ch03-00-architecture.md:251 src/ch03-02-sequencers.md:217 +#: src/ch00-00-introduction.md:176 src/ch02-08-starknet-react.md:361 +#: src/ch03-00-architecture.md:251 src/ch03-02-sequencers.md:216 #: src/ch03-03-provers.md:243 src/ch04-00-account-abstraction.md:242 msgid "## Conclusion" msgstr "" -#: src/ch00-00-introduction.md:177 +#: src/ch00-00-introduction.md:178 msgid "" -"In decentralized technology, Starknet offers a solution to challenges that previous systems encountered. It's based on established *protocols* and " -"*registries*, following the initial concepts introduced by figures such as Satoshi. Through a specific mathematical method, Starknet seeks a balance " -"between scalability and consensus. As this technology progresses, Starknet adheres to principles of inclusivity, neutrality, and user empowerment. It's " +"In decentralized technology, Starknet offers a solution to challenges that " +"previous systems encountered. It's based on established _protocols_ and " +"_registries_, following the initial concepts introduced by figures such as " +"Satoshi. Through a specific mathematical method, Starknet seeks a balance " +"between scalability and consensus. As this technology progresses, Starknet " +"adheres to principles of inclusivity, neutrality, and user empowerment. It's " "poised for continuous adaptation and improvement in the field." msgstr "" @@ -724,14 +785,19 @@ msgstr "" #: src/ch01-00-getting-started.md:3 msgid "" -"Starknet is a scalable Layer-2 solution on Ethereum. This guide will walk you through the process of deploying and interacting with your first Starknet " -"smart contract using the Cairo programming language, a language tailored for creating validity proofs and that Starknet uses. For seasoned developers " -"looking to understand the core concepts and get hands-on experience, this guide offers step-by-step instructions and essential details." +"Starknet is a scalable Layer-2 solution on Ethereum. This guide will walk " +"you through the process of deploying and interacting with your first " +"Starknet smart contract using the Cairo programming language, a language " +"tailored for creating validity proofs and that Starknet uses. For seasoned " +"developers looking to understand the core concepts and get hands-on " +"experience, this guide offers step-by-step instructions and essential " +"details." msgstr "" #: src/ch01-00-getting-started.md:5 msgid "" -"We will use the Starknet Remix Plugin to compile, deploy and interact with our smart contract. It is a great tool to get started with Starknet " +"We will use the Starknet Remix Plugin to compile, deploy and interact with " +"our smart contract. It is a great tool to get started with Starknet " "development." msgstr "" @@ -743,7 +809,9 @@ msgid "" msgstr "" #: src/ch01-00-getting-started.md:11 -msgid "\"Activate" +msgid "" +"\"Activate" msgstr "" #: src/ch01-00-getting-started.md:13 @@ -751,27 +819,30 @@ msgid "Activate the Starknet Plugin" msgstr "" #: src/ch01-00-getting-started.md:15 -msgid "4. After enabling, the Starknet logo appears on the left sidebar. Click it to interact with opened Cairo files." +msgid "" +"4. After enabling, the Starknet logo appears on the left sidebar. Click it " +"to interact with opened Cairo files." msgstr "" -#: src/ch01-00-getting-started.md:18 +#: src/ch01-00-getting-started.md:17 msgid "## Introduction to Starknet Smart Contracts" msgstr "" -#: src/ch01-00-getting-started.md:20 -msgid "The script below is a simple `Ownable` contract pattern written in Cairo for Starknet. It features:" +#: src/ch01-00-getting-started.md:19 +msgid "" +"The script below is a simple `Ownable` contract pattern written in Cairo for " +"Starknet. It features:" msgstr "" -#: src/ch01-00-getting-started.md:22 +#: src/ch01-00-getting-started.md:21 msgid "" "- An ownership system.\n" "- A method to transfer ownership.\n" "- A method to check the current owner.\n" -"- An event notification for ownership changes.\n" -" " +"- An event notification for ownership changes." msgstr "" -#: src/ch01-00-getting-started.md:27 +#: src/ch01-00-getting-started.md:26 msgid "" "```rust\n" "use starknet::ContractAddress;\n" @@ -790,7 +861,7 @@ msgid "" " #[event]\n" " #[derive(Drop, starknet::Event)]\n" " enum Event {\n" -" OwnershipTransferred1: OwnershipTransferred1, \n" +" OwnershipTransferred1: OwnershipTransferred1,\n" " }\n" "\n" " #[derive(Drop, starknet::Event)]\n" @@ -813,7 +884,8 @@ msgid "" "\n" " #[external(v0)]\n" " impl OwnableImpl of super::OwnableTrait {\n" -" fn transfer_ownership(ref self: ContractState, new_owner: ContractAddress) {\n" +" fn transfer_ownership(ref self: ContractState, new_owner: " +"ContractAddress) {\n" " self.only_owner();\n" " let prev_owner = self.owner.read();\n" " self.owner.write(new_owner);\n" @@ -839,42 +911,49 @@ msgid "" "```" msgstr "" -#: src/ch01-00-getting-started.md:92 +#: src/ch01-00-getting-started.md:91 msgid "### Components Breakdown" msgstr "" -#: src/ch01-00-getting-started.md:94 +#: src/ch01-00-getting-started.md:93 msgid "" -"The following is a brief description of the components in the contract. We will get into more details when we get deeper into Cairo so feel free to skip " -"this section for now if you are not familiar with smart contract development." +"The following is a brief description of the components in the contract. We " +"will get into more details when we get deeper into Cairo so feel free to " +"skip this section for now if you are not familiar with smart contract " +"development." msgstr "" -#: src/ch01-00-getting-started.md:96 +#: src/ch01-00-getting-started.md:95 msgid "" "1. **Dependencies and Interface**:\n" -" - **`starknet::ContractAddress`**: Represents a Starknet contract address.\n" -" - **`OwnableTrait`**: Specifies functions for transferring and getting ownership.\n" +" - **`starknet::ContractAddress`**: Represents a Starknet contract " +"address.\n" +" - **`OwnableTrait`**: Specifies functions for transferring and getting " +"ownership.\n" "2. **Events**:\n" -" - **`OwnershipTransferred1`**: Indicates ownership change with previous and new owner details.\n" +" - **`OwnershipTransferred1`**: Indicates ownership change with previous " +"and new owner details.\n" "3. **Storage**:\n" -" - **`Storage`**: Holds the contract's state with the current owner's address.\n" +" - **`Storage`**: Holds the contract's state with the current owner's " +"address.\n" "4. **Constructor**:\n" -" - Initializes the contract with a starting owner.\n" +" - Initializes the contract with a starting owner.\n" "5. **External Functions**:\n" -" - Functions for transferring ownership and retrieving the current owner's details.\n" +" - Functions for transferring ownership and retrieving the current owner's " +"details.\n" "6. **Private Methods**:\n" -" - **`only_owner`**: Validates if the caller is the current owner." +" - **`only_owner`**: Validates if the caller is the current owner." msgstr "" -#: src/ch01-00-getting-started.md:110 +#: src/ch01-00-getting-started.md:109 msgid "## Compilation Process" msgstr "" -#: src/ch01-00-getting-started.md:112 +#: src/ch01-00-getting-started.md:111 msgid "To compile using Remix:" msgstr "" -#: src/ch01-00-getting-started.md:114 +#: src/ch01-00-getting-started.md:113 msgid "" "1. **File Creation**\n" "\n" @@ -885,41 +964,51 @@ msgid "" "\n" " - Choose the `Ownable.cairo` file.\n" " - In the \"Starknet\" tab, select \"Compile Ownable.cairo\".\n" -" - Post-compilation, an \"artifacts\" folder emerges containing the compiled contract in two distinct formats: Sierra (JSON file) and CASM. For " -"Starknet deployment, Remix will use the Sierra file. Do not worry about this process for now; we will cover it in detail in a later chapter. For now, " +" - Post-compilation, an \"artifacts\" folder emerges containing the " +"compiled contract in two distinct formats: Sierra (JSON file) and CASM. For " +"Starknet deployment, Remix will use the Sierra file. Do not worry about this " +"process for now; we will cover it in detail in a later chapter. For now, " "Remix will handle the compilation and deployment for us." msgstr "" -#: src/ch01-00-getting-started.md:125 -msgid "\"Artifacts" +#: src/ch01-00-getting-started.md:124 +msgid "" +"\"Artifacts" msgstr "" -#: src/ch01-00-getting-started.md:127 +#: src/ch01-00-getting-started.md:126 msgid "Artifacts folder after compilation" msgstr "" -#: src/ch01-00-getting-started.md:129 +#: src/ch01-00-getting-started.md:128 msgid "## Deployment on the Development Network" msgstr "" -#: src/ch01-00-getting-started.md:131 -msgid "To set your smart contract in motion, an initial owner must be defined. The Constructor function needs this information." +#: src/ch01-00-getting-started.md:130 +msgid "" +"To set your smart contract in motion, an initial owner must be defined. The " +"Constructor function needs this information." msgstr "" -#: src/ch01-00-getting-started.md:133 -msgid "Here's a step-by-step guide to deploying your smart contract on the development network:" +#: src/ch01-00-getting-started.md:132 +msgid "" +"Here's a step-by-step guide to deploying your smart contract on the " +"development network:" msgstr "" -#: src/ch01-00-getting-started.md:135 +#: src/ch01-00-getting-started.md:134 msgid "" "1. **Select the Appropriate Network**\n" "\n" " - Go to the Environment selection tab.\n" -" - Choose \"Remote Devnet\" for deploying your inaugural contract on a development network.\n" +" - Choose \"Remote Devnet\" for deploying your inaugural contract on a " +"development network.\n" "\n" "2. **Choose a Devnet Account**\n" "\n" -" - Under \"Devnet account selection\", a list of accounts specific to the chosen devnet is presented.\n" +" - Under \"Devnet account selection\", a list of accounts specific to the " +"chosen devnet is presented.\n" " - Pick any account and copy its address.\n" "\n" "3. **Initiating Deployment**\n" @@ -929,23 +1018,29 @@ msgid "" " - Click on \"Deploy ownable.cairo\"." msgstr "" -#: src/ch01-00-getting-started.md:151 -msgid "Post-deployment, Remix's terminal will send various logs. These logs provide crucial details, including:" +#: src/ch01-00-getting-started.md:150 +msgid "" +"Post-deployment, Remix's terminal will send various logs. These logs provide " +"crucial details, including:" msgstr "" -#: src/ch01-00-getting-started.md:153 +#: src/ch01-00-getting-started.md:152 msgid "" -" - `transaction_hash`: The unique hash of the transaction. This hash can be used to track the transaction's status.\n" -" - `contract_address`: The address of the deployed contract. Use this address to interact with your contract.\n" -" - `calldata`: Contains the `init_owner` address fed to the constructor." +"- `transaction_hash`: The unique hash of the transaction. This hash can be " +"used to track the transaction's status.\n" +"- `contract_address`: The address of the deployed contract. Use this address " +"to interact with your contract.\n" +"- `calldata`: Contains the `init_owner` address fed to the constructor." msgstr "" -#: src/ch01-00-getting-started.md:157 +#: src/ch01-00-getting-started.md:156 msgid "" "```bash\n" "{\n" -" \"transaction_hash\": \"0x275e6d2caf9bc98b47ba09fa9034668c6697160a74de89c4655e2a70be84247\",\n" -" \"contract_address\": \"0x5eb239955ad4c4333b8ab83406a3cf5970554b60a0d8e78a531df18c59a0db9\",\n" +" \"transaction_hash\": " +"\"0x275e6d2caf9bc98b47ba09fa9034668c6697160a74de89c4655e2a70be84247\",\n" +" \"contract_address\": " +"\"0x5eb239955ad4c4333b8ab83406a3cf5970554b60a0d8e78a531df18c59a0db9\",\n" " ...\n" " \"calldata\": [\n" " \"0x4d9c8282b5633eeb1aab56393690d76f71e32f1b7be1bea03eb03e059245a28\"\n" @@ -955,36 +1050,41 @@ msgid "" "```" msgstr "" -#: src/ch01-00-getting-started.md:169 -msgid "By following the above process, you successfully deploy your smart contract on the development network." +#: src/ch01-00-getting-started.md:168 +msgid "" +"By following the above process, you successfully deploy your smart contract " +"on the development network." msgstr "" -#: src/ch01-00-getting-started.md:172 +#: src/ch01-00-getting-started.md:170 msgid "## Interaction with the Contract" msgstr "" -#: src/ch01-00-getting-started.md:174 +#: src/ch01-00-getting-started.md:172 msgid "" -"With the contract now active on the development network, interaction becomes possible. Here's a guide to effectively interact with your contract on " +"With the contract now active on the development network, interaction becomes " +"possible. Here's a guide to effectively interact with your contract on " "Starknet:" msgstr "" -#: src/ch01-00-getting-started.md:176 +#: src/ch01-00-getting-started.md:174 msgid "" "1. **Initiating Interaction**\n" "\n" " - Navigate to the \"Starknet\" tab.\n" " - Select the \"Interact\" option.\n" -" \n" +"\n" "2. **Calling the `get_owner` Function**\n" "\n" -" - Choose the `get_owner` function. Since this function doesn't require arguments, the calldata field remains blank. (This is a read function, hence " +" - Choose the `get_owner` function. Since this function doesn't require " +"arguments, the calldata field remains blank. (This is a read function, hence " "calling it is termed as a \"call\".)\n" -" - Press the \"get_owner\" button. Your terminal will display the result, revealing the owner's address provided during the contract's deployment as " +" - Press the \"get_owner\" button. Your terminal will display the result, " +"revealing the owner's address provided during the contract's deployment as " "calldata for the constructor:" msgstr "" -#: src/ch01-00-getting-started.md:186 +#: src/ch01-00-getting-started.md:184 msgid "" "```bash\n" "{\n" @@ -999,31 +1099,42 @@ msgid "" "```" msgstr "" -#: src/ch01-00-getting-started.md:198 -msgid "This call currently doesn't spend gas because the function does not change the state of the contract." +#: src/ch01-00-getting-started.md:196 +msgid "" +"This call currently doesn't spend gas because the function does not change " +"the state of the contract." msgstr "" -#: src/ch01-00-getting-started.md:200 +#: src/ch01-00-getting-started.md:198 msgid "3. **Invoking the `transfer_ownership` Function**" msgstr "" -#: src/ch01-00-getting-started.md:202 +#: src/ch01-00-getting-started.md:200 msgid "" -"- Now, for the **`transfer_ownership`** function, which requires the new owner's address as input.\n" -"- Enter this address into the calldata field. (For this, use any address from the \"Devnet account selection\" listed in the Environment tab.)\n" -"- Click the \"transfer_ownership\" button. The terminal then showcases the transaction hash indicating the contract's state alteration. Since we are " -"altering the contract's state this typo of interaction is called an \"invoke\" and needs to be signed by the account that is calling the function." +"- Now, for the **`transfer_ownership`** function, which requires the new " +"owner's address as input.\n" +"- Enter this address into the calldata field. (For this, use any address " +"from the \"Devnet account selection\" listed in the Environment tab.)\n" +"- Click the \"transfer_ownership\" button. The terminal then showcases the " +"transaction hash indicating the contract's state alteration. Since we are " +"altering the contract's state this typo of interaction is called an " +"\"invoke\" and needs to be signed by the account that is calling the " +"function." msgstr "" -#: src/ch01-00-getting-started.md:206 +#: src/ch01-00-getting-started.md:204 msgid "" -"For these transactions, the terminal logs will exhibit a \"status\" variable, indicating the transaction's fate. If the status reads \"ACCEPTED_ON_L2\", " -"the Sequencer has accepted the transaction, pending block inclusion. However, a \"REJECTED\" status signifies the Sequencer's disapproval, and the " -"transaction won't feature in the upcoming block. More often than not, this transaction gains acceptance, leading to a contract state modification. On " -"calling the **`get_owner`** function again we get this:" +"For these transactions, the terminal logs will exhibit a \"status\" " +"variable, indicating the transaction's fate. If the status reads " +"\"ACCEPTED_ON_L2\", the Sequencer has accepted the transaction, pending " +"block inclusion. However, a \"REJECTED\" status signifies the Sequencer's " +"disapproval, and the transaction won't feature in the upcoming block. More " +"often than not, this transaction gains acceptance, leading to a contract " +"state modification. On calling the **`get_owner`** function again we get " +"this:" msgstr "" -#: src/ch01-00-getting-started.md:208 +#: src/ch01-00-getting-started.md:206 msgid "" "```bash\n" "{\n" @@ -1038,102 +1149,123 @@ msgid "" "```" msgstr "" -#: src/ch01-00-getting-started.md:220 -msgid "You've now adeptly compiled, deployed, and interacted with your inaugural Starknet smart contract. Well done!" +#: src/ch01-00-getting-started.md:218 +msgid "" +"You've now adeptly compiled, deployed, and interacted with your inaugural " +"Starknet smart contract. Well done!" msgstr "" -#: src/ch01-00-getting-started.md:223 +#: src/ch01-00-getting-started.md:220 msgid "## Deploying on Starknet Testnet" msgstr "" -#: src/ch01-00-getting-started.md:225 +#: src/ch01-00-getting-started.md:222 msgid "" -"After testing your smart contract on a development network, it's time to deploy it to the Starknet Testnet. Starknet Testnet is a public platform " -"available for everyone, ideal for testing smart contracts and collaborating with fellow developers." +"After testing your smart contract on a development network, it's time to " +"deploy it to the Starknet Testnet. Starknet Testnet is a public platform " +"available for everyone, ideal for testing smart contracts and collaborating " +"with fellow developers." msgstr "" -#: src/ch01-00-getting-started.md:227 +#: src/ch01-00-getting-started.md:224 msgid "First you need to create a Starknet account." msgstr "" -#: src/ch01-00-getting-started.md:229 +#: src/ch01-00-getting-started.md:226 msgid "### Smart Wallet Setup" msgstr "" -#: src/ch01-00-getting-started.md:231 +#: src/ch01-00-getting-started.md:228 msgid "" -"Before deploying your smart contract to Starknet, you must handle the transaction cost. While deploying to the Starknet Goerli Testnet is free, a smart " -"wallet account is essential. You can set up a smart wallet using either:" +"Before deploying your smart contract to Starknet, you must handle the " +"transaction cost. While deploying to the Starknet Goerli Testnet is free, a " +"smart wallet account is essential. You can set up a smart wallet using " +"either:" msgstr "" -#: src/ch01-00-getting-started.md:233 +#: src/ch01-00-getting-started.md:230 msgid "" "- [Braavos](https://braavos.app/)\n" "- [Argent](https://www.argent.xyz/argent-x/)" msgstr "" -#: src/ch01-00-getting-started.md:236 +#: src/ch01-00-getting-started.md:233 msgid "" -"Both are reliable Starknet wallets offering enhanced security and accessibility features thanks to the possibilities that the Cairo VM brings, such as " -"Account Abstraction (keep reading the Book for more on this)." +"Both are reliable Starknet wallets offering enhanced security and " +"accessibility features thanks to the possibilities that the Cairo VM brings, " +"such as Account Abstraction (keep reading the Book for more on this)." msgstr "" -#: src/ch01-00-getting-started.md:238 +#: src/ch01-00-getting-started.md:235 msgid "" "1. Install the recommended chrome/brave extension for your chosen wallet.\n" "2. Follow your wallet provider's instructions to deploy your account.\n" -" 1. Use the [Starknet Faucet](https://faucet.goerli.starknet.io/) to fund your account.\n" +" 1. Use the [Starknet Faucet](https://faucet.goerli.starknet.io/) to fund " +"your account.\n" "3. Deploy the account to the network. This usually takes around 10 seconds." msgstr "" -#: src/ch01-00-getting-started.md:243 -msgid "Once set up, you're ready to deploy your smart contracts to the Starknet Testnet." +#: src/ch01-00-getting-started.md:240 +msgid "" +"Once set up, you're ready to deploy your smart contracts to the Starknet " +"Testnet." msgstr "" -#: src/ch01-00-getting-started.md:245 +#: src/ch01-00-getting-started.md:242 msgid "### Deployment and Interaction" msgstr "" -#: src/ch01-00-getting-started.md:247 +#: src/ch01-00-getting-started.md:244 msgid "" "1. Follow the previous deployment steps.\n" "2. In the 'Environment selection' tab, choose 'Wallet Selection'.\n" -"3. Select your Starknet account and continue with deploying and interacting with your contract." +"3. Select your Starknet account and continue with deploying and interacting " +"with your contract." msgstr "" -#: src/ch01-00-getting-started.md:251 -msgid "You can monitor transaction hashes and addresses using any Starknet block explorers like:" +#: src/ch01-00-getting-started.md:248 +msgid "" +"You can monitor transaction hashes and addresses using any Starknet block " +"explorers like:" msgstr "" -#: src/ch01-00-getting-started.md:253 +#: src/ch01-00-getting-started.md:250 msgid "" "- [Starkscan](https://testnet.starkscan.co/)\n" "- [Voyager](https://goerli.voyager.online/)" msgstr "" -#: src/ch01-00-getting-started.md:256 +#: src/ch01-00-getting-started.md:253 msgid "" -"These tools provide a visual representation of transactions and contract state alterations. Notably, when you alter the contract ownership using the " -"`transfer_ownership` function, the event emitted by the contract appears in the block explorer. It's an effective method to track contract events." +"These tools provide a visual representation of transactions and contract " +"state alterations. Notably, when you alter the contract ownership using the " +"`transfer_ownership` function, the event emitted by the contract appears in " +"the block explorer. It's an effective method to track contract events." msgstr "" -#: src/ch01-00-getting-started.md:259 +#: src/ch01-00-getting-started.md:255 msgid "## Your Next Steps" msgstr "" -#: src/ch01-00-getting-started.md:261 +#: src/ch01-00-getting-started.md:257 msgid "Decide your direction from the following choices:" msgstr "" -#: src/ch01-00-getting-started.md:263 +#: src/ch01-00-getting-started.md:259 msgid "" -"1. **Deepen Your Starknet Knowledge**: For an extensive grasp of Starknet's inner workings and potential use cases, delve into Chapter 3 of the Starknet " -"Book. This chapter details Starknet’s architectural nuances. Then go ahead from there.\n" +"1. **Deepen Your Starknet Knowledge**: For an extensive grasp of Starknet's " +"inner workings and potential use cases, delve into Chapter 3 of the Starknet " +"Book. This chapter details Starknet’s architectural nuances. Then go ahead " +"from there.\n" "\n" -"2. **Dive into Cairo**: If you're more attuned to coding and wish to craft Starknet contracts, then Cairo is essential. It stands as Starknet's core " -"contract language. Begin with Chapters 1-6 of the [Cairo Book](https://book.cairo-lang.org/title-page.html), ranging from basics in *Getting Started* to " -"more advanced aspects such as *Enums and Pattern Matching*. Conclude by navigating to the [Starknet Smart Contracts chapter](https://book.cairo-lang.org/" -"ch99-00-starknet-smart-contracts.html), ensuring you have a well-rounded understanding." +"2. **Dive into Cairo**: If you're more attuned to coding and wish to craft " +"Starknet contracts, then Cairo is essential. It stands as Starknet's core " +"contract language. Begin with Chapters 1-6 of the [Cairo Book](https://book." +"cairo-lang.org/title-page.html), ranging from basics in _Getting Started_ to " +"more advanced aspects such as _Enums and Pattern Matching_. Conclude by " +"navigating to the [Starknet Smart Contracts chapter](https://book.cairo-lang." +"org/ch99-00-starknet-smart-contracts.html), ensuring you have a well-rounded " +"understanding." msgstr "" #: src/ch02-00-starknet-tooling.md:1 @@ -1145,7 +1277,7 @@ msgid "" "To make the most of this chapter, a basic grasp of the Cairo programming\n" "language is advised. We suggest reading chapters 1-6 of the [Cairo\n" "Book](https://book.cairo-lang.org/title-page.html), covering topics from\n" -"*Getting Started* to *Enums and Pattern Matching.* Follow this by\n" +"_Getting Started_ to _Enums and Pattern Matching._ Follow this by\n" "studying the [Starknet Smart Contracts\n" "chapter](https://book.cairo-lang.org/ch99-00-starknet-smart-contracts.html)\n" "in the same book. With this background, you’ll be well-equipped to\n" @@ -1173,14 +1305,14 @@ msgstr "" #: src/ch02-00-starknet-tooling.md:23 msgid "" -"- Frameworks: Build using Protostar or Hardhat\n" +"- Frameworks: Build using Protostar or Hardhat\n" "\n" -"- SDKs: Discover multi-language support through Starknet.js,\n" -" Starknet-rs, Starknet\\_py, and Caigo\n" +"- SDKs: Discover multi-language support through Starknet.js,\n" +" Starknet-rs, Starknet_py, and Caigo\n" "\n" -"- Front-end Development: Use Starknet.js and React\n" +"- Front-end Development: Use Starknet.js and React\n" "\n" -"- Testing: Understand testing methods with Protostar and the Devnet" +"- Testing: Understand testing methods with Protostar and the Devnet" msgstr "" #: src/ch02-00-starknet-tooling.md:32 @@ -1211,7 +1343,8 @@ msgid "" "6. Starknet-react: Builds front-end apps using React." msgstr "" -#: src/ch02-01-basic-installation.md:1 src/ch02-03-scarb.md:34 src/ch02-07-starknet-js.md:13 +#: src/ch02-01-basic-installation.md:1 src/ch02-03-scarb.md:34 +#: src/ch02-07-starknet-js.md:13 msgid "# Installation" msgstr "" @@ -1280,7 +1413,9 @@ msgid "## Scarb Package Manager Installation" msgstr "" #: src/ch02-01-basic-installation.md:39 -msgid "We will get deeper into Scarb later in this chapter. For now, we will go over the installation process." +msgid "" +"We will get deeper into Scarb later in this chapter. For now, we will go " +"over the installation process." msgstr "" #: src/ch02-01-basic-installation.md:41 @@ -1290,7 +1425,8 @@ msgstr "" #: src/ch02-01-basic-installation.md:43 msgid "" "```bash\n" -" curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh\n" +" curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/" +"install.sh | sh\n" "```" msgstr "" @@ -1304,7 +1440,8 @@ msgstr "" msgid "Restart the terminal and run:" msgstr "" -#: src/ch02-01-basic-installation.md:52 src/ch02-02-compile-deploy-interact.md:38 +#: src/ch02-01-basic-installation.md:52 +#: src/ch02-02-compile-deploy-interact.md:38 msgid "" "```bash\n" " scarb --version\n" @@ -1375,7 +1512,8 @@ msgid "" "```bash\n" " ...\n" " --compiler-version \n" -" Statically-linked Sierra compiler version [possible values: [COMPILER VERSIONS]]]\n" +" Statically-linked Sierra compiler version [possible values: " +"[COMPILER VERSIONS]]]\n" " ...\n" "```" msgstr "" @@ -1415,7 +1553,8 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:58 msgid "" "```bash\n" -" curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh -s -- -v 0.6.1\n" +" curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/" +"install.sh | sh -s -- -v 0.6.1\n" "```" msgstr "" @@ -1490,7 +1629,8 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:104 msgid "" "```bash\n" -" starkli signer keystore from-key ~/.starkli-wallets/deployer/my_keystore_1.json\n" +" starkli signer keystore from-key ~/.starkli-wallets/deployer/" +"my_keystore_1.json\n" " Enter private key:\n" " Enter password:\n" "```" @@ -1536,7 +1676,7 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:132 msgid "" -"1. **Private Key**: A 256-bit/32-byte/64-character (ignoring the *0x*\n" +"1. **Private Key**: A 256-bit/32-byte/64-character (ignoring the _0x_\n" " prefix) hexadecimal key that is the cornerstone of your wallet’s\n" " security.\n" "\n" @@ -1546,7 +1686,8 @@ msgid "" "3. **Smart Wallet Address**: Unlike Ethereum, the address here is\n" " influenced by the public key, class hash, and a salt. **[Learn more\n" " in Starknet\n" -" Documentation](https://docs.starknet.io/documentation/architecture_and_concepts/Smart_Contracts/contract-address/)**." +" Documentation](https://docs.starknet.io/documentation/" +"architecture_and_concepts/Smart_Contracts/contract-address/)**." msgstr "" #: src/ch02-02-compile-deploy-interact.md:144 @@ -1567,36 +1708,39 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:152 msgid "" "```json\n" -" {\n" -" \"crypto\": {\n" -" \"cipher\": \"aes-128-ctr\",\n" -" \"cipherparams\": {\n" -" \"iv\": \"dba5f9a67456b121f3f486aa18e24db7\"\n" -" },\n" -" \"ciphertext\": \"b3cda3df39563e3dd61064149d6ed8c9ab5f07fbcd6347625e081fb695ddf36c\",\n" -" \"kdf\": \"scrypt\",\n" -" \"kdfparams\": {\n" -" \"dklen\": 32,\n" -" \"n\": 8192,\n" -" \"p\": 1,\n" -" \"r\": 8,\n" -" \"salt\": \"6dd5b06b1077ba25a7bf511510ea0c608424c6657dd3ab51b93029244537dffb\"\n" -" },\n" -" \"mac\": \"55e1616d9ddd052864a1ae4207824baac58a6c88798bf28585167a5986585ce6\"\n" -" },\n" -" \"id\": \"afbb9007-8f61-4e62-bf14-e491c30fd09a\",\n" -" \"version\": 3\n" -" }\n" +"{\n" +" \"crypto\": {\n" +" \"cipher\": \"aes-128-ctr\",\n" +" \"cipherparams\": {\n" +" \"iv\": \"dba5f9a67456b121f3f486aa18e24db7\"\n" +" },\n" +" \"ciphertext\": " +"\"b3cda3df39563e3dd61064149d6ed8c9ab5f07fbcd6347625e081fb695ddf36c\",\n" +" \"kdf\": \"scrypt\",\n" +" \"kdfparams\": {\n" +" \"dklen\": 32,\n" +" \"n\": 8192,\n" +" \"p\": 1,\n" +" \"r\": 8,\n" +" \"salt\": " +"\"6dd5b06b1077ba25a7bf511510ea0c608424c6657dd3ab51b93029244537dffb\"\n" +" },\n" +" \"mac\": " +"\"55e1616d9ddd052864a1ae4207824baac58a6c88798bf28585167a5986585ce6\"\n" +" },\n" +" \"id\": \"afbb9007-8f61-4e62-bf14-e491c30fd09a\",\n" +" \"version\": 3\n" +"}\n" "```" msgstr "" #: src/ch02-02-compile-deploy-interact.md:175 msgid "" -"- **`version`**: The version of the smart wallet implementation.\n" +"- **`version`**: The version of the smart wallet implementation.\n" "\n" -"- **`id`**: A randomly generated identification string.\n" +"- **`id`**: A randomly generated identification string.\n" "\n" -"- **`crypto`**: Houses all encryption details." +"- **`crypto`**: Houses all encryption details." msgstr "" #: src/ch02-02-compile-deploy-interact.md:181 @@ -1605,53 +1749,53 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:183 msgid "" -"- **`cipher`**: Specifies the encryption algorithm used, which in this\n" -" case is AES-128-CTR.\n" +"- **`cipher`**: Specifies the encryption algorithm used, which in this\n" +" case is AES-128-CTR.\n" "\n" -" - **AES (Advanced Encryption Standard)**: A globally accepted\n" -" encryption standard.\n" +" - **AES (Advanced Encryption Standard)**: A globally accepted\n" +" encryption standard.\n" "\n" -" - **128**: Refers to the key size in bits, making it a 128-bit\n" -" key.\n" +" - **128**: Refers to the key size in bits, making it a 128-bit\n" +" key.\n" "\n" -" - **CTR (Counter Mode)**: A specific mode of operation for the AES\n" -" cipher.\n" +" - **CTR (Counter Mode)**: A specific mode of operation for the AES\n" +" cipher.\n" "\n" -"- **`cipherparams`**: Contains an Initialization Vector (IV), which\n" -" ensures that encrypting the same plaintext with the same key will\n" -" produce different ciphertexts.\n" +"- **`cipherparams`**: Contains an Initialization Vector (IV), which\n" +" ensures that encrypting the same plaintext with the same key will\n" +" produce different ciphertexts.\n" "\n" -" - **`iv` (Initialization Vector)**: A 16-byte hex string that\n" -" serves as a random and unique starting point for each encryption\n" -" operation.\n" +" - **`iv` (Initialization Vector)**: A 16-byte hex string that\n" +" serves as a random and unique starting point for each encryption\n" +" operation.\n" "\n" -"- **`ciphertext`**: This is the private key after encryption, securely\n" -" stored so that only the correct password can reveal it.\n" +"- **`ciphertext`**: This is the private key after encryption, securely\n" +" stored so that only the correct password can reveal it.\n" "\n" -"- **`kdf` and `kdfparams`**: KDF stands for Key Derivation Function.\n" -" This adds a layer of security by requiring computational work,\n" -" making brute-force attacks harder.\n" +"- **`kdf` and `kdfparams`**: KDF stands for Key Derivation Function.\n" +" This adds a layer of security by requiring computational work,\n" +" making brute-force attacks harder.\n" "\n" -" - **`dklen`**: The length (in bytes) of the derived key. Typically\n" -" 32 bytes.\n" +" - **`dklen`**: The length (in bytes) of the derived key. Typically\n" +" 32 bytes.\n" "\n" -" - **`n`**: A cost factor representing CPU/memory usage. A higher\n" -" value means more computational work is needed, thus increasing\n" -" security.\n" +" - **`n`**: A cost factor representing CPU/memory usage. A higher\n" +" value means more computational work is needed, thus increasing\n" +" security.\n" "\n" -" - **`p`**: Parallelization factor, affecting the computational\n" -" complexity.\n" +" - **`p`**: Parallelization factor, affecting the computational\n" +" complexity.\n" "\n" -" - **`r`**: Block size for the hash function, again affecting\n" -" computational requirements.\n" +" - **`r`**: Block size for the hash function, again affecting\n" +" computational requirements.\n" "\n" -" - **`salt`**: A random value that is combined with the password to\n" -" deter dictionary attacks.\n" +" - **`salt`**: A random value that is combined with the password to\n" +" deter dictionary attacks.\n" "\n" -"- **`mac` (Message Authentication Code)**: This is a cryptographic\n" -" code that ensures the integrity of the message (the encrypted\n" -" private key in this case). It is generated using a hash of both the\n" -" ciphertext and a portion of the derived key." +"- **`mac` (Message Authentication Code)**: This is a cryptographic\n" +" code that ensures the integrity of the message (the encrypted\n" +" private key in this case). It is generated using a hash of both the\n" +" ciphertext and a portion of the derived key." msgstr "" #: src/ch02-02-compile-deploy-interact.md:231 @@ -1671,7 +1815,8 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:240 msgid "" "```bash\n" -" starkli account fetch --output ~/.starkli-wallets/deployer/my_account_1.json\n" +" starkli account fetch --output ~/.starkli-wallets/" +"deployer/my_account_1.json\n" "```" msgstr "" @@ -1687,7 +1832,8 @@ msgid "" "```bash\n" " Account contract type identified as: Braavos\n" " Description: Braavos official proxy account\n" -" Downloaded new account config file: ~/.starkli-wallets/deployer/my_account_1.json\n" +" Downloaded new account config file: ~/.starkli-wallets/deployer/" +"my_account_1.json\n" "```" msgstr "" @@ -1709,28 +1855,32 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:262 msgid "" "```json\n" -" {\n" -" \"version\": 1,\n" -" \"variant\": {\n" -" \"type\": \"braavos\",\n" -" \"version\": 1,\n" -" \"implementation\": \"0x5dec330eebf36c8672b60db4a718d44762d3ae6d1333e553197acb47ee5a062\",\n" -" \"multisig\": {\n" -" \"status\": \"off\"\n" -" },\n" -" \"signers\": [\n" -" {\n" -" \"type\": \"stark\",\n" -" \"public_key\": \"0x49759ed6197d0d385a96f9d8e7af350848b07777e901f5570b3dc2d9744a25e\"\n" -" }\n" -" ]\n" -" },\n" -" \"deployment\": {\n" -" \"status\": \"deployed\",\n" -" \"class_hash\": \"0x3131fa018d520a037686ce3efddeab8f28895662f019ca3ca18a626650f7d1e\",\n" -" \"address\": \"0x6dcb489c1a93069f469746ef35312d6a3b9e56ccad7f21f0b69eb799d6d2821\"\n" +"{\n" +" \"version\": 1,\n" +" \"variant\": {\n" +" \"type\": \"braavos\",\n" +" \"version\": 1,\n" +" \"implementation\": " +"\"0x5dec330eebf36c8672b60db4a718d44762d3ae6d1333e553197acb47ee5a062\",\n" +" \"multisig\": {\n" +" \"status\": \"off\"\n" +" },\n" +" \"signers\": [\n" +" {\n" +" \"type\": \"stark\",\n" +" \"public_key\": " +"\"0x49759ed6197d0d385a96f9d8e7af350848b07777e901f5570b3dc2d9744a25e\"\n" " }\n" -" }\n" +" ]\n" +" },\n" +" \"deployment\": {\n" +" \"status\": \"deployed\",\n" +" \"class_hash\": " +"\"0x3131fa018d520a037686ce3efddeab8f28895662f019ca3ca18a626650f7d1e\",\n" +" \"address\": " +"\"0x6dcb489c1a93069f469746ef35312d6a3b9e56ccad7f21f0b69eb799d6d2821\"\n" +" }\n" +"}\n" "```" msgstr "" @@ -1773,15 +1923,16 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:307 msgid "" -"- Declare your contract’s code.\n" +"- Declare your contract’s code.\n" "\n" -"- Deploy an instance of the declared code." +"- Deploy an instance of the declared code." msgstr "" #: src/ch02-02-compile-deploy-interact.md:311 msgid "" "To get started, navigate to the `contracts/` directory in the [first\n" -"chapter](https://github.com/starknet-edu/starknetbook/tree/main/chapters/book/modules/chapter_1/pages/contracts)\n" +"chapter](https://github.com/starknet-edu/starknetbook/tree/main/chapters/" +"book/modules/chapter_1/pages/contracts)\n" "of the Starknet Book repo. The `src/lib.cairo` file contains a basic\n" "contract to practice with." msgstr "" @@ -1804,7 +1955,7 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:325 msgid "" "This creates a compiled contract in `target/dev/` as\n" -"\"contracts\\_Ownable.sierra.json\" (in Chapter 2 of the book we will learn\n" +"\"contracts_Ownable.sierra.json\" (in Chapter 2 of the book we will learn\n" "more details about Scarb)." msgstr "" @@ -1834,7 +1985,8 @@ msgid "" " up an API key and choose an endpoint. For Infura, it would look like\n" " `https://starknet-goerli.infura.io/v3/`. Learn more in the\n" " [Infura\n" -" documentation](https://docs.infura.io/networks/starknet/how-to/choose-a-network).\n" +" documentation](https://docs.infura.io/networks/starknet/how-to/choose-a-" +"network).\n" "\n" "3. **Your Own Node**: For those who want full control. It’s the most\n" " complex but offers the most freedom. Check out [Chapter 4 of the\n" @@ -1844,14 +1996,15 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:353 msgid "" -"In this tutorial, we will use Alchemy. We can set the STARKNET\\_RPC\n" +"In this tutorial, we will use Alchemy. We can set the STARKNET_RPC\n" "environment variable to make command invocations easier:" msgstr "" #: src/ch02-02-compile-deploy-interact.md:356 msgid "" "```bash\n" -" export STARKNET_RPC=\"https://starknet-goerli.g.alchemy.com/v2/\"\n" +" export STARKNET_RPC=\"https://starknet-goerli.g.alchemy.com/v2/" +"\"\n" "```" msgstr "" @@ -1905,15 +2058,17 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:387 msgid "" "```bash\n" -" Class hash declared: 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8\n" +" Class hash declared: " +"0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8\n" "```" msgstr "" #: src/ch02-02-compile-deploy-interact.md:391 msgid "" -"You can think of this hash as the contract class’s *address.* Use a\n" +"You can think of this hash as the contract class’s _address._ Use a\n" "block explorer like\n" -"[StarkScan](https://testnet.starkscan.co/class/0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8)\n" +"[StarkScan](https://testnet.starkscan.co/" +"class/0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8)\n" "to verify this hash on the blockchain." msgstr "" @@ -1951,9 +2106,10 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:414 msgid "" -"In our example, the constructor expects an *owner* address. You can\n" +"In our example, the constructor expects an _owner_ address. You can\n" "learn more about constructors in \\[Chapter 12 of The Cairo\n" -"Book\\]()." +"Book\\]()." msgstr "" #: src/ch02-02-compile-deploy-interact.md:418 @@ -1973,14 +2129,15 @@ msgstr "" msgid "" "Here’s a specific example with an actual class hash and constructor\n" "inputs (as the owner address use the address of your smart wallet so you\n" -"can invoke the transfer\\_ownership function later):" +"can invoke the transfer_ownership function later):" msgstr "" #: src/ch02-02-compile-deploy-interact.md:430 msgid "" "```bash\n" " starkli deploy \\\n" -" 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8 \\\n" +" 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8 " +"\\\n" " 0x02cdAb749380950e7a7c0deFf5ea8eDD716fEb3a2952aDd4E5659655077B8510\n" "```" msgstr "" @@ -1994,10 +2151,13 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:439 msgid "" "```bash\n" -" Deploying class 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8 with salt " +" Deploying class " +"0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8 with salt " "0x065034b27a199cbb2a5b97b78a8a6a6c6edd027c7e398b18e5c0e5c0c65246b7...\n" -" The contract will be deployed at address 0x02a83c32d4b417d3c22f665acbc10e9a1062033b9ab5b2c3358952541bc6c012\n" -" Contract deployment transaction: 0x0743de1e233d38c4f3e9fb13f1794276f7d4bf44af9eac66e22944ad1fa85f14\n" +" The contract will be deployed at address " +"0x02a83c32d4b417d3c22f665acbc10e9a1062033b9ab5b2c3358952541bc6c012\n" +" Contract deployment transaction: " +"0x0743de1e233d38c4f3e9fb13f1794276f7d4bf44af9eac66e22944ad1fa85f14\n" " Contract deployed:\n" " 0x02a83c32d4b417d3c22f665acbc10e9a1062033b9ab5b2c3358952541bc6c012\n" "```" @@ -2007,7 +2167,8 @@ msgstr "" msgid "" "The contract is now live on the Starknet testnet. You can verify its\n" "status using a block explorer like\n" -"[StarkScan](https://testnet.starkscan.co/contract/0x02a83c32d4b417d3c22f665acbc10e9a1062033b9ab5b2c3358952541bc6c012).\n" +"[StarkScan](https://testnet.starkscan.co/" +"contract/0x02a83c32d4b417d3c22f665acbc10e9a1062033b9ab5b2c3358952541bc6c012).\n" "On the \"Read/Write Contract\" tab, you’ll see the contract’s external\n" "functions." msgstr "" @@ -2035,7 +2196,8 @@ msgid "" "requires no arguments." msgstr "" -#: src/ch02-02-compile-deploy-interact.md:466 src/ch02-02-compile-deploy-interact.md:523 +#: src/ch02-02-compile-deploy-interact.md:466 +#: src/ch02-02-compile-deploy-interact.md:523 msgid "" "```bash\n" " starkli call \\\n" @@ -2093,7 +2255,8 @@ msgstr "" #: src/ch02-02-compile-deploy-interact.md:501 msgid "" "```bash\n" -" Execution was reverted; failure reason: [0x43616c6c6572206973206e6f7420746865206f776e6572].\n" +" Execution was reverted; failure reason: " +"[0x43616c6c6572206973206e6f7420746865206f776e6572].\n" "```" msgstr "" @@ -2185,7 +2348,8 @@ msgstr "" msgid "" "Scarb is cross-platform, supporting macOS, Linux, and Windows. For\n" "installation, refer to the [Chapter 1 setup\n" -"guide](https://book.starknet.io/chapter_1/environment_setup.html#the_scarb_package_manager_installation)." +"guide](https://book.starknet.io/chapter_1/environment_setup." +"html#the_scarb_package_manager_installation)." msgstr "" #: src/ch02-03-scarb.md:40 @@ -2209,12 +2373,12 @@ msgstr "" #: src/ch02-03-scarb.md:50 msgid "" -"- A package must include a `Scarb.toml` file, which is Scarb’s\n" -" manifest file. It contains the dependencies for your package.\n" +"- A package must include a `Scarb.toml` file, which is Scarb’s\n" +" manifest file. It contains the dependencies for your package.\n" "\n" -"- A package must include a `src/lib.cairo` file, which is the root of\n" -" the package tree. It allows you to define functions and declare used\n" -" modules." +"- A package must include a `src/lib.cairo` file, which is the root of\n" +" the package tree. It allows you to define functions and declare used\n" +" modules." msgstr "" #: src/ch02-03-scarb.md:57 @@ -2303,7 +2467,8 @@ msgid "" " name = \"hello_scarb\"\n" " version = \"0.1.0\"\n" "\n" -" # See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html\n" +" # See more keys and their definitions at https://docs.swmansion.com/" +"scarb/docs/reference/manifest.html\n" " [dependencies]\n" " # foo = { path = \"vendor/foo\" }" msgstr "" @@ -2340,7 +2505,7 @@ msgstr "" #: src/ch02-03-scarb.md:131 msgid "" "In this instance, the `lib.cairo` file contains a module declaration\n" -"referencing *hello\\_scarb*, which includes the *hello\\_scarb.cairo*\n" +"referencing _hello_scarb_, which includes the _hello_scarb.cairo_\n" "file’s implementation. For more on modules, imports, and the `lib.cairo`\n" "file, please refer to the subchapter on [imports in Chapter\n" "2](https://book.starknet.io/chapter_2/imports.html)." @@ -2368,7 +2533,8 @@ msgid "" "`target/dev/hello_scarb.sierra` file. Sierra serves as an intermediate\n" "layer between high-level Cairo and compilation targets such as Cairo\n" "Assembly (CASM). To understand more about Sierra, check out this\n" -"[article](https://medium.com/nethermind-eth/under-the-hood-of-cairo-1-0-exploring-sierra-7f32808421f5/)." +"[article](https://medium.com/nethermind-eth/under-the-hood-of-cairo-1-0-" +"exploring-sierra-7f32808421f5/)." msgstr "" #: src/ch02-03-scarb.md:151 @@ -2388,7 +2554,7 @@ msgid "" msgstr "" #: src/ch02-03-scarb.md:159 -msgid "- Edit Scarb.toml File" +msgid "- Edit Scarb.toml File" msgstr "" #: src/ch02-03-scarb.md:161 @@ -2401,7 +2567,8 @@ msgstr "" #: src/ch02-03-scarb.md:165 msgid "" "[dependencies]\n" -" alexandria_math = { git = \"https://github.com/keep-starknet-strange/alexandria.git\" }" +" alexandria_math = { git = \"https://github.com/keep-starknet-strange/" +"alexandria.git\" }" msgstr "" #: src/ch02-03-scarb.md:168 @@ -2414,7 +2581,8 @@ msgstr "" #: src/ch02-03-scarb.md:172 msgid "" "[dependencies]\n" -" alexandria_math = { git = \"https://github.com/keep-starknet-strange/alexandria.git\", rev = \"81bb93c\" }" +" alexandria_math = { git = \"https://github.com/keep-starknet-strange/" +"alexandria.git\", rev = \"81bb93c\" }" msgstr "" #: src/ch02-03-scarb.md:175 @@ -2422,7 +2590,7 @@ msgid "After adding the dependency, remember to save the file." msgstr "" #: src/ch02-03-scarb.md:177 -msgid "- Use the scarb add Command" +msgid "- Use the scarb add Command" msgstr "" #: src/ch02-03-scarb.md:179 @@ -2432,12 +2600,14 @@ msgid "" msgstr "" #: src/ch02-03-scarb.md:182 -msgid "$ scarb add alexandria_math --git https://github.com/keep-starknet-strange/alexandria.git" +msgid "" +"$ scarb add alexandria_math --git https://github.com/keep-starknet-strange/" +"alexandria.git" msgstr "" #: src/ch02-03-scarb.md:184 msgid "" -"This command will add the alexandria\\_math dependency from the specified\n" +"This command will add the alexandria_math dependency from the specified\n" "Git repository to your project." msgstr "" @@ -2463,9 +2633,9 @@ msgstr "" #: src/ch02-03-scarb.md:197 msgid "" -"For example, let’s assume you have added the alexandria\\_math\n" +"For example, let’s assume you have added the alexandria_math\n" "dependency. Now, you can import and utilize functions from the\n" -"alexandria\\_math library in your `src/hello_scarb.cairo` file:" +"alexandria_math library in your `src/hello_scarb.cairo` file:" msgstr "" #: src/ch02-03-scarb.md:201 @@ -2481,7 +2651,7 @@ msgstr "" #: src/ch02-03-scarb.md:208 msgid "" "In the above example, we import the fibonacci function from the\n" -"alexandria\\_math library and utilize it in the main function." +"alexandria_math library and utilize it in the main function." msgstr "" #: src/ch02-03-scarb.md:211 @@ -2496,18 +2666,18 @@ msgstr "" #: src/ch02-03-scarb.md:216 msgid "" -"- `scarb new `: Initialize a new project with the given\n" -" project name.\n" +"- `scarb new `: Initialize a new project with the given\n" +" project name.\n" "\n" -"- `scarb build`: Compile your Cairo code into Sierra code.\n" +"- `scarb build`: Compile your Cairo code into Sierra code.\n" "\n" -"- `scarb add --git `: Add a dependency to\n" -" your project from a specified Git repository.\n" +"- `scarb add --git `: Add a dependency to\n" +" your project from a specified Git repository.\n" "\n" -"- `scarb rm `: Remove a dependency from your project.\n" +"- `scarb rm `: Remove a dependency from your project.\n" "\n" -"- `scarb run