From 0bc611d3f72ebd02b4d294fa2aea759fd3ec9ad4 Mon Sep 17 00:00:00 2001 From: Nadai <112663528+Nadai2010@users.noreply.github.com> Date: Fri, 13 Oct 2023 11:56:13 +0100 Subject: [PATCH] :tada: [i18n] Transalation Spanish (#213) * Update [i18n ES] TEST Translations * Update Chapter 1-2 [i18n] in Spanish * Delete po/es.mo --- po/es.po | 4176 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 2812 insertions(+), 1364 deletions(-) diff --git a/po/es.po b/po/es.po index d5fe890f9..3484f6c7e 100644 --- a/po/es.po +++ b/po/es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: The Starknet Book\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-10-10 09:54-0300\n" +"PO-Revision-Date: 2023-10-12 23:55+0100\n" "Last-Translator: dami \n" "Language-Team: Spanish \n" "Language: es\n" @@ -14,7 +14,7 @@ msgstr "" #: src/SUMMARY.md:1 msgid "The Starknet Book" -msgstr "El libro de Starknet" +msgstr "El Libro de Starknet" #: src/SUMMARY.md:4 msgid "Introduction" @@ -34,191 +34,191 @@ msgstr "Instalación básica" #: src/SUMMARY.md:14 msgid "Compile, Deploy, Interact" -msgstr "" +msgstr "Compilar, Desplegar, Interactuar" #: src/SUMMARY.md:15 msgid "Scarb: The Package Manager" -msgstr "" +msgstr "Scarb: El Gestor de Paquetes" #: src/SUMMARY.md:16 msgid "Starkli: A CLI interface 🚧" -msgstr "" +msgstr "Starkli: Una interfaz CLI 🚧" #: src/SUMMARY.md:17 msgid "Katana: A Local Node" -msgstr "" +msgstr "Katana: Un Nodo Local" #: src/SUMMARY.md:18 msgid "Starknet Devnet 🚧" -msgstr "" +msgstr "Starknet Devnet 🚧" #: src/SUMMARY.md:19 msgid "Starknet-js: Javascript SDK" -msgstr "" +msgstr "Starknet-js: Javascript SDK" #: src/SUMMARY.md:20 src/SUMMARY.md:46 msgid "Examples" -msgstr "" +msgstr "Ejemplos" #: src/SUMMARY.md:21 msgid "Beginner - ERC-20 UI" -msgstr "" +msgstr "Principiante - ERC-20 UI" #: src/SUMMARY.md:22 msgid "Intermediate - Million Dollar Homepage" -msgstr "" +msgstr "Intermedio - Página de inicio de Million Dollar" #: src/SUMMARY.md:23 msgid "Starknet-React: React Integration" -msgstr "" +msgstr "Starknet-React: Integración de React" #: src/SUMMARY.md:24 msgid "Starknet-py: Python SDK 🚧" -msgstr "" +msgstr "Starknet-py: Python SDK 🚧" #: src/SUMMARY.md:25 msgid "Starknet-rs: Rust SDK 🚧" -msgstr "" +msgstr "Starknet-py: Python SDK 🚧" #: src/SUMMARY.md:26 msgid "Foundry Forge: Testing 🚧" -msgstr "" +msgstr "Foundry Forge: Testing 🚧" #: src/SUMMARY.md:27 msgid "Foundry Cast: Interacting with Starknet 🚧" -msgstr "" +msgstr "Foundry Cast: Interactuando con Starknet 🚧" #: src/SUMMARY.md:29 msgid "Architecture" -msgstr "" +msgstr "Arquitectura" #: src/SUMMARY.md:32 msgid "Transactions" -msgstr "" +msgstr "Transacciones" #: src/SUMMARY.md:33 msgid "Sequencers" -msgstr "" +msgstr "Secuenciadores" #: src/SUMMARY.md:34 msgid "Provers 🚧" -msgstr "" +msgstr "Provers🚧" #: src/SUMMARY.md:35 msgid "Nodes 🚧" -msgstr "" +msgstr "Nodos 🚧" #: src/SUMMARY.md:36 msgid "Layer 3 and App Chains 🚧 " -msgstr "" +msgstr "Layer 3 y App Chains 🚧 " #: src/SUMMARY.md:37 msgid "Solidity Verifier 🚧" -msgstr "" +msgstr "Solidity Verifier 🚧" #: src/SUMMARY.md:38 msgid "Decentralization 🚧" -msgstr "" +msgstr "Descentralización 🚧" #: src/SUMMARY.md:40 msgid "Account Abstraction" -msgstr "" +msgstr "Abstracción de Cuenta" #: src/SUMMARY.md:43 msgid "Accounts" -msgstr "" +msgstr "Cuentas" #: src/SUMMARY.md:44 msgid "Hello, Account! 🚧" -msgstr "" +msgstr "¡Hola Cuenta! 🚧" #: src/SUMMARY.md:45 msgid "Standard AccounT 🚧" -msgstr "" +msgstr "Cuenta Estándar 🚧" #: src/SUMMARY.md:47 msgid "Multicaller 🚧" -msgstr "" +msgstr "Multicaller 🚧" #: src/SUMMARY.md:48 msgid "Multisig 🚧" -msgstr "" +msgstr "Multisig 🚧" #: src/SUMMARY.md:49 msgid "Auto-Payments 🚧" -msgstr "" +msgstr "Auto-Payments 🚧" #: src/SUMMARY.md:50 msgid "Alternative Signature Schemes 🚧" -msgstr "" +msgstr "Esquemas de Firma Alternativos 🚧" #: src/SUMMARY.md:54 msgid "STARKs 🚧" -msgstr "" +msgstr "STARKs 🚧" #: src/SUMMARY.md:55 msgid "Basics 🚧" -msgstr "" +msgstr "Básicos 🚧" #: src/SUMMARY.md:56 msgid "Math Primer 🚧" -msgstr "" +msgstr "Manual de Matemáticas 🚧" #: src/SUMMARY.md:57 msgid "Number Theory 🚧" -msgstr "" +msgstr "Teoría de Números 🚧" #: src/SUMMARY.md:58 msgid "Geometry 🚧" -msgstr "" +msgstr "Geometría 🚧" #: src/SUMMARY.md:59 msgid "Cryptographic Primitives 🚧" -msgstr "" +msgstr "Primitivas Criptográficas 🚧" #: src/SUMMARY.md:60 msgid "Arithimization 🚧" -msgstr "" +msgstr "Aritimización 🚧" #: src/SUMMARY.md:61 msgid "Low Degree Testing 🚧" -msgstr "" +msgstr "Pruebas de Bajo Grado 🚧" #: src/SUMMARY.md:62 msgid "FRI Protocol 🚧" -msgstr "" +msgstr "FRI 🚧" #: src/SUMMARY.md:63 msgid "Efficient STARKs" -msgstr "" +msgstr "STARK Eficientes" #: src/SUMMARY.md:64 msgid "STARKs Protocol (Python) 🚧" -msgstr "" +msgstr "Protocolo STARK (Python) 🚧" #: src/SUMMARY.md:65 src/SUMMARY.md:70 msgid "Trace/Low Degree Extension 🚧" -msgstr "" +msgstr "Traza/Extensión de Bajo Grado 🚧" #: src/SUMMARY.md:66 src/SUMMARY.md:71 msgid "Constraints 🚧" -msgstr "" +msgstr "Restricciones 🚧" #: src/SUMMARY.md:67 src/SUMMARY.md:72 msgid "FRI Commitments 🚧" -msgstr "" +msgstr "Compromisos de FRI 🚧" #: src/SUMMARY.md:68 src/SUMMARY.md:73 msgid "Query Phase 🚧" -msgstr "" +msgstr "Fase de Consulta 🚧" #: src/SUMMARY.md:69 msgid "STARKs Protocol (Rust) 🚧" -msgstr "" +msgstr "Protocolo STARK (Rust) 🚧" #: src/title-page.md:1 msgid "# The Starknet Book" -msgstr "" +msgstr "# El Libro de Starknet" #: src/title-page.md:3 msgid "" @@ -227,6 +227,10 @@ msgid "" "marked under a 🚧 emoji. We welcome your suggestions, feedback, and\n" "content contributions to make this book a reliable guide for everyone." msgstr "" +"El Libro de Starknet es un trabajo en progreso, moldeado por los aportes\n" +"continuos de la comunidad. Algunas secciones pueden estar incompletas o aún bajo revisión y son\n" +"marcado debajo de un emoji 🚧. Agradecemos sus sugerencias, comentarios y\n" +"contribuciones de contenido para hacer de este libro una guía confiable para todos." #: src/title-page.md:8 msgid "" @@ -234,6 +238,9 @@ msgid "" "essentials of Starknet development. It’s a community effort, with each\n" "chapter guiding you through the Starknet ecosystem." msgstr "" +"El Libro de Starknet es una guía paso a paso destinada a enseñarle los\n" +"Conceptos básicos del desarrollo de Starknet. Es un esfuerzo comunitario, en el que cada\n" +"capítulo lo guiará a través del ecosistema Starknet." #: src/title-page.md:12 msgid "" @@ -242,6 +249,10 @@ msgid "" "Cairo Book, another community resource. You can access the Cairo Book\n" "[**here**](https://book.cairo-lang.org/)." msgstr "" +"Entendiendo Cairo, el lenguaje de programación clave para Smart Contract en\n" +"Starknet, es crucial. Es por eso que este libro trabaja de la mano con el\n" +"Libro de Cairo, otro recurso comunitario. Puedes acceder al Libro Cairo\n" +"[**aquí**](https://book.cairo-lang.org/)." #: src/title-page.md:17 msgid "" @@ -251,14 +262,19 @@ msgid "" "to tools, architecture, account setups, STARKs, and Starknet-specific\n" "apps." msgstr "" +"En resumen, el Libro de Cairo te ayuda a dominar Cairo, mientras que El Libro de Starknet\n" +"se centra en las características específicas de Starknet. Para una completa\n" +"comprensión, recomendamos explorar ambos. Este libro te presentará\n" +"herramientas, arquitectura, configuraciones de cuentas, STARK y aplicaciones específicas\n" +"de Starknet." #: src/title-page.md:23 msgid "## Table of Contents" -msgstr "" +msgstr "## Tabla de Contenido" #: src/title-page.md:25 msgid "**Chapter Titles**" -msgstr "" +msgstr "**Títulos de los Capítulos**" #: src/title-page.md:27 msgid "" @@ -268,29 +284,31 @@ msgid "" "| ------------------------ | " "----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- " "|\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 "" +"| 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 "" +"| Capítulo | Descripción |\n" +"| ------------------------ | -------------------------------------------------- -------------------------------------------------- " +"-------------------------------------------------- ----------------------- |\n" +"| 1: Introducción a Starknet | Profundice en los conceptos fundamentales de Starknet y familiarícese con el despliegue de contratos inteligentes. |\n" +"| 2: Herramientas Starknet | Familiarícese con herramientas vitales, como Protostar y Hardhat, y explore cómo se pueden aprovechar lenguajes como Javascript, Python y Rust " +"para las interacciones con Starknet. |\n" +"| 3: Arquitectura Starknet | Descubra la estructura central de Starknet y obtenga información sobre el ciclo de vida de las transacciones y la interacción entre el " +"Secuenciador, el Prover y los nodos. |\n" +"| 4: Abstracción de cuenta | Profundice en el enfoque único de Starknet para las cuentas de usuario y domine el arte de crear cuentas personalizadas. |\n" +"| 5: STARK | Sumérgete en las complejidades de los STARK y su papel fundamental en la configuración del panorama de Starknet. |" #: src/title-page.md:35 msgid "# Where to Start?" -msgstr "" +msgstr "# ¿Donde Empezar?" #: src/title-page.md:37 msgid "" @@ -298,6 +316,9 @@ msgid "" "through the Starknet Book. Here are some recommendations based on\n" "various objectives:" msgstr "" +"Dependiendo de tus objetivos e intereses, puedes elegir diferentes caminos\n" +"a través del Libro de Starknet. A continuación se presentan algunas recomendaciones basadas en\n" +"varios objetivos:" #: src/title-page.md:41 msgid "" @@ -308,8 +329,7 @@ msgid "" "- 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" +" ([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" @@ -332,16 +352,47 @@ msgid "" " understand the fundamentals of STARKs and their connection to the\n" " Starknet ecosystem, delve into **STARKs**." msgstr "" +"- Si eres un **completo principiante** y quieres comenzar a aprender sobre\n" +" Cairo y Starknet desde cero, sigue el libro en su totalidad,\n" +" comenzando con **Introducción a Starknet**.\n" +"\n" +"- Si eres un **desarrollador experimentado** y buscas sumergirte rápidamente en\n" +" escribir contratos inteligentes escalables y descentralizados, centrarse en el\n" +" Libro de Cairo, en particular **capítulo 12: Contratos inteligentes de Starknet**\n" +" ([enlace](https://book.cairo-lang.org/ch99-00-starknet-smart-contracts.html)).\n" +"\n" +"- Si eres un **desarrollador frontend** que desea integrar Starknet\n" +" con una interfaz React usando Javascript, priorice la\n" +" **starknet-js** y **starknet-react** subcapítulos en **Starknet\n" +" Tooling**\n" +"\n" +"- Si es un **ingeniero de DevOps** o un **operador de nodo** interesado en\n" +" ejecutando un nodo Starknet y un indexador, diríjase directamente a **Starknet\n" +" Arquitectura**.\n" +"\n" +"- Si es un **investigador de seguridad** o un **auditor de contratos inteligentes**\n" +" querer aprender sobre la función de Abstracción de Cuenta y sus\n" +" implicaciones, opte por **Abstracción de cuenta**.\n" +"\n" +"- Si eres un **entusiasta de blockchain** y tienes curiosidad sobre lo subyacente\n" +" arquitectura y mecánica de Starknet y Cairo, explora **Starknet\n" +" Arquitectura**.\n" +"\n" +"- Si eres un **experto en criptografía** o un **investigador** deseoso de\n" +" comprender los fundamentos de STARK y su conexión con el\n" +" Ecosistema Starknet, profundiza en **STARKs**." #: src/title-page.md:71 msgid "" "Feel free to mix and match these paths based on your unique interests\n" "and requirements." msgstr "" +"Siéntete libre de mezclar y combinar estos caminos según tus intereses únicos\n" +"y requisitos." #: src/title-page.md:74 msgid "# Your Contributions Matter" -msgstr "" +msgstr "# Tus Contribuciones Importan" #: src/title-page.md:76 msgid "" @@ -349,19 +400,25 @@ msgid "" "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 "" +"¡Bienvenido a bordo! Al contribuir al Libro de Starknet, estás haciendo más\n" +"que compartir experiencia, estás dando forma al futuro de la tecnología descentralizada.\n" +"Creemos una guía que ayude a los desarrolladores a desbloquear el potencial de Starknet." #: 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 "" +"Para obtener pautas de contribución detalladas, visite [Contributors\n" +"Guía](https://github.com/starknet-edu/starknetbook/blob/main/CONTRIBUTING.adoc).\n" +"Cada contribución cuenta. Tus habilidades y pasión te ayudarán a lograrlo.\n" +"Reserve una herramienta invaluable." #: src/title-page.md:85 msgid "## How You Can Help" -msgstr "" +msgstr "## Cómo Puedes Ayudar" #: src/title-page.md:87 msgid "" @@ -379,10 +436,23 @@ msgid "" "\n" "- Show off your favorite Cairo features through new exercises." msgstr "" +"- ¿Encontraste una sección vacía? ¡Rellenalo!\n" +"\n" +"- ¿Crees que necesitamos una nueva sección? Sugiere uno.\n" +"\n" +"- ¿Ves margen de mejora? Continúe y modifíquelo.\n" +"\n" +"- ¿Quieres agregar código en un nuevo lenguaje de programación? A por ello.\n" +"\n" +"- ¿Encontraste un error? Arreglalo.\n" +"\n" +"- ¿Los ejercicios no están claros? Añade explicaciones.\n" +"\n" +"- Muestra tus características favoritas de Cairo a través de nuevos ejercicios." #: src/title-page.md:101 msgid "# Additional Key Educational Resources" -msgstr "" +msgstr "# Recursos Educativos Clave Adicionales" #: src/title-page.md:103 msgid "" @@ -390,6 +460,9 @@ msgid "" "deepen your understanding and enhance your skills in coding with Cairo\n" "and staying abreast with Starknet developments:" msgstr "" +"Hemos compilado una lista de valiosos recursos educativos que le ayudarán\n" +"profundice su comprensión y mejore sus habilidades en codificación con Cairo\n" +"y mantenerse al tanto de los desarrollos de Starknet:" #: src/title-page.md:107 msgid "" @@ -417,164 +490,189 @@ msgid "" " networking, sharing ideas, and troubleshooting together. Join us on\n" " Telegram [here](https://t.me/starknetna)." msgstr "" +"1. **Libro de El Cairo**: Una guía completa de Cairo, la programación\n" +" lenguaje para contratos inteligentes de Starknet. Puedes acceder a él\n" +" [aquí](https://book.cairo-lang.org/).\n" +"\n" +"2. **Starklings**: un recurso diseñado específicamente para guiarte\n" +" a través del aprendizaje de la programación de Cairo, asegurándose de que alcance un\n" +" nivel competente. Puedes acceder a él\n" +" [aquí](https://github.com/shramee/starklings-cairo1).\n" +"\n" +"3. **Foro de la comunidad Starknet**: una plataforma en línea donde puedes\n" +" participar en debates sobre los últimos desarrollos en Starknet.\n" +" Únase a la conversación [aquí](https://community.starknet.io/).\n" +"\n" +"4. **Documentación de Starknet**: Puedes navegar a través de la documentación\n" +" [aquí](https://docs.starknet.io/).\n" +"\n" +"5. **Documentación de Cairo**: explórela\n" +" [aquí](https://www.cairo-lang.org/docs).\n" +"\n" +"6. **Starknet Developer Telegram (inglés)**: Una comunidad para\n" +" Desarrolladores Starknet de habla inglesa. Esta es una gran plataforma para\n" +" establecer contactos, compartir ideas y solucionar problemas juntos. Únete a nosotros\n" +" Telegram [aquí](https://t.me/starknetna)." #: src/ch00-00-introduction.md:1 msgid "# The Starknet Network" -msgstr "" +msgstr "# La Red de Starknet" #: src/ch00-00-introduction.md:3 msgid "## Preamble" -msgstr "" +msgstr "## Preámbulo" #: 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/" -"ryMelVulp))." +"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 "" +"Históricamente, los roles sociales como la moneda, los derechos de propiedad y los títulos de estatus social han estado gobernados por protocolos y registros. Su valor surge " +"de una comprensión ampliamente aceptada de su integridad. Estas funciones han sido supervisadas predominantemente por entidades centralizadas propensas a desafíos como la " +"corrupción, los conflictos de agencia y la exclusión ([Eli Ben-Sasson, Bareli, Brandt, Volokh, 2023](https://hackmd.io/@Elibensasson/ryMelVulp) )." #: 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:" +msgid "Satoshi's creation, Bitcoin, introduced a novel approach for these functions, termed an _integrity web_. This is an infrastructure for societal roles that:" msgstr "" +"La creación de Satoshi, Bitcoin, introdujo un enfoque novedoso para estas funciones, denominado _red de integridad_. Se trata de una infraestructura para roles sociales que:" #: 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 "" +"1. Está descrito abiertamente por un protocolo público.\n" +"2. Opera a través de una red peer-to-peer amplia e inclusiva.\n" +"3. Distribuye valor de manera justa y amplia para mantener el consenso social sobre su integridad." #: 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 "" +"Mientras que Bitcoin abordó las funciones monetarias, Ethereum amplió esto para incluir cualquier función que pueda definirse mediante programación informática. Ambos " +"enfrentaron el desafío de equilibrar la escalabilidad con la descentralización. Estas redes de integridad a menudo han favorecido la inclusión sobre la capacidad, asegurando " +"que incluso aquellos con recursos limitados puedan autenticar la integridad del sistema. Sin embargo, esto significa que tienen dificultades para satisfacer la demanda " +"global." #: src/ch00-00-introduction.md:15 msgid "## Defining \"Blockchain\"" -msgstr "" +msgstr "## Definición de \"Blockchain" #: 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/" -"status/1709272086504485265)):" +"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 "" +"En el siempre cambiante ámbito de la tecnología, definir un término tan polifacético como \"Blockchain\" puede resultar complicado. Según los conocimientos y aplicaciones " +"actuales, una Blockchain puede caracterizarse por las tres propiedades siguientes ([Eli Ben-Sasson, 2023](https://twitter.com/EliBenSasson/status/1709272086504485265)):" #: 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 "" +"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 "" +"1. **Protocolo público:** La base de una Blockchain es un protocolo que está disponible abiertamente. Esta transparencia garantiza que cualquier parte interesada pueda " +"entender su funcionamiento, fomentando la confianza y permitiendo una adopción más amplia.\n" +"2. **Red abierta P2P:** En lugar de depender de una entidad centralizada, una Blockchain funciona a través de una red entre pares (P2P). Este enfoque descentralizado " +"garantiza que las operaciones se distribuyan entre varios participantes o nodos, lo que hace que el sistema sea más resistente a los fallos y la censura.\n" +"3. **Distribución de valor:** Un aspecto central del funcionamiento de la Blockchain es la forma en que recompensa a sus operadores. El sistema distribuye valor de forma " +"autónoma, amplia y equitativa. Esta incentivación no sólo motiva a los participantes a mantener la integridad del sistema, sino que también garantiza un consenso social más " +"amplio." #: 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 "" +"Aunque estas propiedades captan la esencia de muchas Blockchains, la definición del término podría necesitar refinamiento a medida que la tecnología madura y encuentra " +"nuevas aplicaciones. En este panorama dinámico, será crucial entablar un diálogo continuo y revisar las definiciones." #: src/ch00-00-introduction.md:25 msgid "## Starknet Definition" -msgstr "" +msgstr "## Definición de Starknet" #: 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 "" +"Starknet es una red de capa 2 que hace que las transacciones de Ethereum sean más rápidas, baratas y seguras utilizando la tecnología de zk-STARK. Piense en ella como una " +"capa reforzada sobre Ethereum, optimizada para la velocidad y el coste." #: 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 "" +"Starknet tiende un puente entre la escalabilidad y el amplio consenso. Integra un marco matemático para navegar por el equilibrio entre capacidad e inclusividad. Su " +"integridad depende de la solidez de las pruebas sucintas y transparentes de integridad computacional. Este método permite a los operadores potentes mejorar la capacidad de " +"Starknet, garantizando que todo el mundo pueda autenticar la integridad de Starknet utilizando herramientas universalmente accesibles ([Eli Ben-Sasson, Bareli, Brandt, " +"Volokh, 2023](https://hackmd.io/@Elibensasson/ryMelVulp))." #: src/ch00-00-introduction.md:31 msgid "## Starknet’s Mission" -msgstr "" +msgstr "## Misión de Starknet" #: 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 "" +msgid "_Starknet’s mission is to allow individuals to freely implement and use any social function they desire._" +msgstr "_La misión de Starknet es permitir a los individuos implantar y utilizar libremente cualquier función social que deseen._" #: src/ch00-00-introduction.md:35 msgid "## Starknet’s Values" -msgstr "" +msgstr "## Valores de Starknet" #: 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 "" +msgid "Starknet's ethos is anchored in core principles ([Eli Ben-Sasson, Bareli, Brandt, Volokh, 2023](https://hackmd.io/@Elibensasson/ryMelVulp)):" +msgstr "La ética de Starknet se basa en principios fundamentales ([Eli Ben-Sasson, Bareli, Brandt, Volokh, 2023](https://hackmd.io/@Elibensasson/ryMelVulp)):" #: src/ch00-00-introduction.md:39 msgid "" -"- **Lasting Broadness.** Starknet continuously resists power consolidation. " -"Key points include:\n" +"- **Lasting Broadness.** Starknet continuously resists power consolidation. Key points include:\n" "\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" +" - 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" -"- **Neutrality.** Starknet remains impartial to the societal functions it " -"supports.\n" +"- **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" +" - 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." +"- **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 "" +"- **Amplitud duradera.** Starknet se resiste continuamente a la consolidación de poder. Los puntos clave incluyen:\n" +"\n" +" - La amplia distribución del poder sustenta la legitimidad de Starknet y debe persistir en todas las operaciones y toma de decisiones. Si bien en ocasiones puede ser " +"necesario el funcionamiento centralizado, debería ser de corta duración.\n" +" - El protocolo y la gobernanza de Starknet siempre deben ser abiertos y transparentes.\n" +" - La gobernanza debería reforzar la inclusión, con una estructura flexible que pueda evolucionar para garantizar una inclusión duradera.\n" +"\n" +"- **Neutralidad.** Starknet se mantiene imparcial con respecto a las funciones sociales que apoya.\n" +"\n" +" - Los objetivos y el espíritu de las funciones de Starknet recaen en sus creadores.\n" +" - **Resistencia a la censura:** Starknet permanece agnóstico respecto de la naturaleza y el significado de las transacciones de los usuarios.\n" +"\n" +"- **Empoderamiento individual.** En esencia, Starknet prospera con una base de usuarios autónomos y bien informados. Esto se logra fomentando una cultura arraigada en su " +"misión y valores fundamentales, con un fuerte énfasis en la educación." #: src/ch00-00-introduction.md:52 msgid "## Key Features" -msgstr "" +msgstr "## Características Clave" #: src/ch00-00-introduction.md:54 msgid "These are some key features of Starknet:" -msgstr "" +msgstr "Estas son algunas de las características clave de Starknet:" #: src/ch00-00-introduction.md:56 msgid "" @@ -591,10 +689,22 @@ msgid "" " (CVM), that allow us to innovate beyond the Ethereum Virtual Machine\n" " (EVM) and create a new paradigm for decentralized applications." msgstr "" +"- **Bajos costos:** Las transacciones en Starknet cuestan menos que en Ethereum.\n" +" Actualizaciones futuras como Volition y EIP 4844 lo harán aún más económico.\n" +"\n" +"- **Fácil de usar para desarrolladores:** Starknet permite a los desarrolladores crear fácilmente\n" +" aplicaciones descentralizadas que utilizan su idioma nativo, El Cairo.\n" +"\n" +"- **Velocidad y eficiencia:** Los próximos lanzamientos tienen como objetivo realizar transacciones\n" +" incluso más rápido y más barato.\n" +"\n" +"- **CVM:** Gracias a Cairo, Starknet se ejecuta en su propia VM, llamada Cairo VM\n" +" (CVM), que nos permiten innovar más allá de la Máquina Virtual Ethereum\n" +" (EVM) y crear un nuevo paradigma para aplicaciones descentralizadas." #: src/ch00-00-introduction.md:69 msgid "Here some of them:" -msgstr "" +msgstr "Aquí algunas de ellas:" #: src/ch00-00-introduction.md:71 msgid "" @@ -612,10 +722,23 @@ msgid "" " **Paymaster**, to pay for their transaction. Supports gasless\n" " transactions, enhancing user accessibility." msgstr "" +"- **Abstracción de Cuenta:** Implementado a nivel de protocolo, esto\n" +" facilita diversos esquemas de firma al tiempo que garantiza la seguridad del usuario y\n" +" autocustodia de bienes.\n" +"\n" +"- **Volition:** Se implementará en testnet durante el cuarto trimestre de 2023 y permitirá\n" +" desarrolladores para regular la disponibilidad de datos en Ethereum (L1) o en\n" +" Starknet (L2). Reducir los datos en cadena L1 puede reducir radicalmente los costos.\n" +"\n" +"- **Paymaster:** Starknet permitirá a los usuarios elegir cómo pagar\n" +" tarifa de transacción, sigue las pautas establecidas en EIP 4337 y\n" +" permite que la transacción especifique un contrato específico, un\n" +" **Paymaster**, para pagar su transacción. Soporta sin gas\n" +" transacciones, mejorando la accesibilidad del usuario." #: src/ch00-00-introduction.md:85 msgid "## Cairo: The Language of Starknet" -msgstr "" +msgstr "## Cairo: El Lenguaje de Starknet" #: src/ch00-00-introduction.md:87 msgid "" @@ -625,16 +748,23 @@ msgid "" "Book](https://cairo-book.github.io/) and\n" "[Starklings](https://github.com/shramee/starklings-cairo1)." msgstr "" +"Cairo está hecho a medida para crear contratos inteligentes basados en STARK. Como\n" +"El idioma nativo de Starknet es fundamental para construir plataformas escalables y seguras.\n" +"Aplicaciones descentralizadas. Para comenzar a aprender ahora, consulte el [Cairo\n" +"Libro](https://cairo-book.github.io/) y\n" +"[Starklings](https://github.com/shramee/starklings-cairo1)." #: src/ch00-00-introduction.md:93 msgid "" "Inspired by Rust, Cairo lets you write contracts safely and\n" "conveniently." msgstr "" +"Inspirado en Rust, Cairo le permite redactar contratos de forma segura y\n" +"convenientemente." #: src/ch00-00-introduction.md:96 msgid "### Why Choose Cairo?" -msgstr "" +msgstr "### ¿Por qué elegir Cairo?" #: src/ch00-00-introduction.md:98 msgid "" @@ -642,6 +772,9 @@ msgid "" "programs prove their correctness without re-running them. Here’s why it\n" "stands out:" msgstr "" +"Cairo está diseñado para _Computación Demostrable_, un nuevo paradigma que permite\n" +"que los programas demuestran su corrección sin volver a ejecutarlos. He aquí por qué\n" +"destaca:" #: src/ch00-00-introduction.md:102 msgid "" @@ -651,16 +784,23 @@ msgid "" "\n" "- Flexibility: Uses traits for more flexibility than inheritance." msgstr "" +"- **Purpose-Built: :** Diseñado específicamente para smart contracts.\n" +"\n" +"- **Sin límites de EVM:** Va más allá de lo que puede hacer la máquina virtual Ethereum.\n" +"\n" +"- **Flexibilidad:** Utiliza rasgos para mayor flexibilidad que la herencia." #: src/ch00-00-introduction.md:108 msgid "## Governance" -msgstr "" +msgstr "## Gobernanza" #: src/ch00-00-introduction.md:110 msgid "" "The Starknet Foundation oversees Starknet’s governance. Its duties\n" "include:" msgstr "" +"La Fundación Starknet supervisa la gobernanza de Starknet. Sus deberes\n" +"incluyen:" #: src/ch00-00-introduction.md:113 msgid "" @@ -670,6 +810,11 @@ msgid "" "\n" "- Setting rules to maintain network integrity" msgstr "" +"- Gestionar el desarrollo y las operaciones de Starknet\n" +"\n" +"- Supervisar Starknet DAO, que permite la participación de la comunidad\n" +"\n" +"- Establecer reglas para mantener la integridad de la red" #: src/ch00-00-introduction.md:119 msgid "" @@ -677,6 +822,9 @@ msgid "" "While we value all perspectives, it’s often the technical insights that\n" "steer us forward." msgstr "" +"Nos centramos en los aportes técnicos y el debate para mejorar el protocolo.\n" +"Si bien valoramos todas las perspectivas, a menudo son los conocimientos técnicos los que\n" +"guíanos hacia adelante." #: src/ch00-00-introduction.md:123 msgid "" @@ -685,18 +833,22 @@ msgid "" "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." msgstr "" +"Los miembros pueden influir en Starknet votando sobre los cambios. Aquí está el proceso:\n" +"Se prueba una nueva versión en Goerli Testnet. Los miembros tienen entonces seis\n" +"días para revisarlo. Se hace una propuesta de instantánea y la comunidad vota.\n" +"Una mayoría de votos _SÍ_ significa una actualización a Mainnet." #: src/ch00-00-introduction.md:128 msgid "In short, governance is key to Starknet’s evolution." -msgstr "" +msgstr "En resumen, la gobernanza es clave para la evolución de Starknet." #: src/ch00-00-introduction.md:130 msgid "To propose an improvement, create a SNIP." -msgstr "" +msgstr "Para proponer una mejora, cree un SNIP." #: src/ch00-00-introduction.md:132 msgid "### SNIP: StarkNet Improvement Proposals" -msgstr "" +msgstr "### SNIP: Starknet Improvement Proposals" #: src/ch00-00-introduction.md:134 msgid "" @@ -706,16 +858,25 @@ 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 "" +"SNIP es la abreviatura de Starknet Improvement Proposal. Es esencialmente un\n" +"plano que detalla las mejoras o cambios propuestos en el ecosistema de\n" +"Starknet. Un SNIP bien elaborado incluye tanto los aspectos técnicos\n" +"especificaciones del cambio y las razones detrás del mismo. Si estás\n" +"proponiendo un SNIP, es su trabajo conseguir el apoyo de la comunidad y documentar\n" +"cualquier objeción (más detalles\n" +"[aquí](https://community.starknet.io/t/draft-simp-1-simp-Purpose-and-guidelines/1197#what-is-a-snip-2)).\n" +"Una vez que se aprueba un SNIP, pasa a formar parte del protocolo Starknet. Todos\n" +"los SNIP se pueden encontrar en [este\n" +"repositorio](https://github.com/starknet-io/SNIPs)." #: src/ch00-00-introduction.md:145 msgid "SNIPs serve three crucial roles:" -msgstr "" +msgstr "Los SNIP cumplen tres funciones cruciales:" #: src/ch00-00-introduction.md:147 msgid "" @@ -727,6 +888,13 @@ msgid "" "3. They document the decision-making process, offering a historical\n" " view of how StarkNet has evolved." msgstr "" +"1. Son la vía principal para proponer nuevas características o cambios.\n" +"\n" +"2. Actúan como plataforma para discusiones técnicas dentro de la\n" +" comunidad.\n" +"\n" +"3. Documentan el proceso de toma de decisiones y ofrecen una visión\n" +" histórica de cómo ha evolucionado Starknet." #: src/ch00-00-introduction.md:155 msgid "" @@ -734,6 +902,9 @@ msgid "" "repository](https://github.com/starknet-io/SNIPs), you can easily track\n" "changes and understand the history of proposals." msgstr "" +"Debido a que los SNIP se almacenan como archivos de texto en un [version-controlled\n" +"repository](https://github.com/starknet-io/SNIPs), puede rastrear fácilmente los\n" +"cambios y comprender la historia de las propuestas." #: src/ch00-00-introduction.md:159 msgid "" @@ -742,14 +913,18 @@ msgid "" "a list of the SNIPs they’ve executed. This transparency helps users\n" "gauge the state of a particular implementation or software library." msgstr "" +"Para aquellos que están construyendo sobre Starknet, los SNIP no son solo\n" +"sugerencias: son una hoja de ruta. Es beneficioso para los implementadores mantener\n" +"una lista de los SNIP que han ejecutado. Esta transparencia ayuda a los usuarios\n" +"medir el estado de una implementación o biblioteca de software en particular." #: src/ch00-00-introduction.md:164 msgid "## Learning Resources" -msgstr "" +msgstr "## Recursos de aprendizaje" #: src/ch00-00-introduction.md:166 msgid "For deeper insights into Starknet and Cairo:" -msgstr "" +msgstr "Para obtener información más detallada sobre Starknet y Cairo:" #: src/ch00-00-introduction.md:168 msgid "" @@ -761,45 +936,49 @@ msgid "" "- [Starklings](https://github.com/shramee/starklings-cairo1):\n" " Practical tutorials and examples" msgstr "" +"- [El libro de Starknet](https://book.starknet.io): Para masterizar\n" +" Starknet\n" +"\n" +"- [El libro de Cairo](https://cairo-book.github.io/): Para dominar Cairo\n" +"\n" +"- [Starklings](https://github.com/shramee/starklings-cairo1):\n" +" Tutoriales prácticos y ejemplos" -#: 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 +#: 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 "" +msgstr "## Conclusión" #: 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 " -"poised for continuous adaptation and improvement in the field." +"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 "" +"En tecnología descentralizada, Starknet ofrece una solución a los desafíos que encontraron los sistemas anteriores. Se basa en _protocolos_ y _registros_ establecidos, " +"siguiendo los conceptos iniciales introducidos por figuras como Satoshi. A través de un método matemático específico, Starknet busca el equilibrio entre escalabilidad y " +"consenso. A medida que avanza esta tecnología, Starknet se adhiere a principios de inclusión, neutralidad y empoderamiento del usuario. Está preparado para una adaptación y " +"mejora continuas en el campo." #: src/ch01-00-getting-started.md:1 msgid "# Getting Started" -msgstr "" +msgstr "# Primeros Pasos" #: 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 "" +"Starknet es una solución escalable de Capa 2 en Ethereum. Esta guía lo guiará a través del proceso de implementación e interacción con su primer smart contract de Starknet " +"utilizando el lenguaje de programación Cairo, un lenguaje diseñado para crear pruebas de validez y que utiliza Starknet. Para desarrolladores experimentados que buscan " +"comprender los conceptos básicos y adquirir experiencia práctica, esta guía ofrece instrucciones paso a paso y detalles esenciales." #: 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 " -"development." +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 development." msgstr "" +"Usaremos el complemento Starknet Remix para compilar, implementar e interactuar con nuestro contrato inteligente. Es una gran herramienta para comenzar con el desarrollo de " +"Starknet." #: src/ch01-00-getting-started.md:7 msgid "" @@ -807,32 +986,29 @@ msgid "" "2. Navigate to the ‘Plugins’ section in the bottom left corner.\n" "3. Enable the “Starknet” plugin." msgstr "" +"1. Visite [El Proyecto Remix](https://remix.ethereum.org/).\n" +"2. Navegue hasta la sección 'Plugin' en la esquina inferior izquierda.\n" +"3. Habilite el complemento 'Starknet'." #: src/ch01-00-getting-started.md:11 -msgid "" -"\"Activate" -msgstr "" +msgid "\"Activate" +msgstr "\"Activate" #: src/ch01-00-getting-started.md:13 msgid "Activate the Starknet Plugin" -msgstr "" +msgstr "Activar el Plugin de Starknet" #: 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." -msgstr "" +msgid "4. After enabling, the Starknet logo appears on the left sidebar. Click it to interact with opened Cairo files." +msgstr "4. Después de habilitarlo, el logotipo de Starknet aparece en la barra lateral izquierda. Haga clic en él para interactuar con los archivos Cairo abiertos." #: src/ch01-00-getting-started.md:17 msgid "## Introduction to Starknet Smart Contracts" -msgstr "" +msgstr "## Introducción a los Smart Contracts de Starknet" #: 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 "" +msgid "The script below is a simple `Ownable` contract pattern written in Cairo for Starknet. It features:" +msgstr "El siguiente script es un patrón de contrato simple `Ownable` escrito en Cairo para Starknet. Cuenta con:" #: src/ch01-00-getting-started.md:21 msgid "" @@ -841,6 +1017,10 @@ msgid "" "- A method to check the current owner.\n" "- An event notification for ownership changes." msgstr "" +"- Un sistema de propiedad.\n" +"- Un método para transferir la propiedad (ownership).\n" +"- Un método para comprobar el propietario (owner) actual.\n" +"- Una notificación de evento para cambios de propiedad." #: src/ch01-00-getting-started.md:26 msgid "" @@ -884,8 +1064,7 @@ 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" @@ -910,48 +1089,120 @@ msgid "" "}\n" "```" msgstr "" +"```rust\n" +"use starknet::ContractAddress;\n" +"\n" +"#[starknet::interface]\n" +"trait OwnableTrait {\n" +" fn transfer_ownership(ref self: T, new_owner: ContractAddress);\n" +" fn get_owner(self: @T) -> ContractAddress;\n" +"}\n" +"\n" +"#[starknet::contract]\n" +"mod Ownable {\n" +" use super::ContractAddress;\n" +" use starknet::get_caller_address;\n" +"\n" +" #[event]\n" +" #[derive(Drop, starknet::Event)]\n" +" enum Event {\n" +" OwnershipTransferred1: OwnershipTransferred1,\n" +" }\n" +"\n" +" #[derive(Drop, starknet::Event)]\n" +" struct OwnershipTransferred1 {\n" +" #[key]\n" +" prev_owner: ContractAddress,\n" +" #[key]\n" +" new_owner: ContractAddress,\n" +" }\n" +"\n" +" #[storage]\n" +" struct Storage {\n" +" owner: ContractAddress,\n" +" }\n" +"\n" +" #[constructor]\n" +" fn constructor(ref self: ContractState, init_owner: ContractAddress) {\n" +" self.owner.write(init_owner);\n" +" }\n" +"\n" +" #[external(v0)]\n" +" impl OwnableImpl of super::OwnableTrait {\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" +" self.emit(Event::OwnershipTransferred1(OwnershipTransferred1 {\n" +" prev_owner: prev_owner,\n" +" new_owner: new_owner,\n" +" }));\n" +" }\n" +"\n" +" fn get_owner(self: @ContractState) -> ContractAddress {\n" +" self.owner.read()\n" +" }\n" +" }\n" +"\n" +" #[generate_trait]\n" +" impl PrivateMethods of PrivateMethodsTrait {\n" +" fn only_owner(self: @ContractState) {\n" +" let caller = get_caller_address();\n" +" assert(caller == self.owner.read(), 'Caller is not the owner');\n" +" }\n" +" }\n" +"}\n" +"```" #: src/ch01-00-getting-started.md:91 msgid "### Components Breakdown" -msgstr "" +msgstr "### Desglose de Componentes" #: 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 "" +"La siguiente es una breve descripción de los componentes del contrato. Entraremos en más detalles cuando profundicemos en El Cairo, así que no dude en omitir esta sección " +"por ahora si no está familiarizado con el desarrollo de contratos inteligentes." #: 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" "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." msgstr "" +"1. **Dependencias e Interfaz**:\n" +" - **`starknet::ContractAddress`**: Representa una dirección de contrato de Starknet.\n" +" - **`OwnableTrait`**: Especifica funciones para transferir y obtener propiedad.\n" +"2. **Eventos**:\n" +" - **`OwnershipTransferred1`**: Indica cambio de propiedad con detalles del propietario anterior y nuevo.\n" +"3. **Storage**:\n" +" - **`Storage`**: Mantiene el estado del contrato con la dirección del propietario actual.\n" +"4. **Constructor**:\n" +" - Inicializa el contrato con un owner inicial.\n" +"5. **Funciones Externas**:\n" +" - Funciones para transferir la propiedad y recuperar los datos del owner actual.\n" +"6. **Métodos privados**:\n" +" - **`only_owner`**: Valida si la persona que llama es el owner actual." #: src/ch01-00-getting-started.md:109 msgid "## Compilation Process" -msgstr "" +msgstr "## Proceso de Compilación" #: src/ch01-00-getting-started.md:111 msgid "To compile using Remix:" -msgstr "" +msgstr "Para compilar usando Remix:" #: src/ch01-00-getting-started.md:113 msgid "" @@ -964,51 +1215,53 @@ 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, " -"Remix will handle the compilation and deployment for us." +" - 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 "" +"1. **Creación de archivos**\n" +"\n" +" - Navega a la pestaña \"Explorador de archivos\" en Remix.\n" +" - Cree un nuevo archivo llamado `Ownable.cairo` e ingrese el código anterior.\n" +"\n" +"2. **Copilación**\n" +"\n" +" - Elija el archivo `Ownable.cairo`.\n" +" - En la pestaña \"Starknet\", seleccione \"Compilar Ownable.cairo\".\n" +" - Después de la compilación, aparece una carpeta de \"artifacts\" que contiene el contrato compilado en dos formatos distintos: Sierra (archivo JSON) y CASM. Para la " +"implementación de Starknet, Remix utilizará el archivo Sierra. No te preocupes por este proceso por ahora; Lo cubriremos en detalle en un capítulo posterior. Por ahora, " +"Remix se encargará de la compilación y la implementación por nosotros." #: src/ch01-00-getting-started.md:124 -msgid "" -"\"Artifacts" -msgstr "" +msgid "\"Artifacts" +msgstr "\"Artifacts" #: src/ch01-00-getting-started.md:126 msgid "Artifacts folder after compilation" -msgstr "" +msgstr "Carpeta de artefactos después de la compilación." #: src/ch01-00-getting-started.md:128 msgid "## Deployment on the Development Network" -msgstr "" +msgstr "## Despliegue en la Red de Desarrollo" #: 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 "" +msgid "To set your smart contract in motion, an initial owner must be defined. The Constructor function needs this information." +msgstr "Para poner en marcha su contrato inteligente, se debe definir un propietario inicial. La función Constructor necesita esta información." #: 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 "" +msgid "Here's a step-by-step guide to deploying your smart contract on the development network:" +msgstr "Aquí hay una guía paso a paso para implementar su smart contract en la red de desarrollo:" #: 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" @@ -1017,30 +1270,42 @@ msgid "" " - Input the copied address into the `init_owner` variable.\n" " - Click on \"Deploy ownable.cairo\"." msgstr "" +"1. **Seleccione la Red Adecuada**\n" +"\n" +" - Vaya a la pestaña de selección de Environment.\n" +" - Elija \"Remote Devnet\" para implementar su contrato inaugural en una red de desarrollo.\n" +"\n" +"2. **Elija una Cuenta Devnet**\n" +"\n" +" - En \"Selección de cuenta de Devnet\", se presenta una lista de cuentas específicas del devnet elegido.\n" +" - Elija cualquier cuenta y copie su dirección.\n" +"\n" +"3. **Iniciando Implementación**\n" +"\n" +" - Navega a la pestaña \"Starknet\".\n" +" - Ingrese la dirección copiada en la variable `init_owner`.\n" +" - Haga clic en \"Deploy ownable.cairo\"." #: src/ch01-00-getting-started.md:150 -msgid "" -"Post-deployment, Remix's terminal will send various logs. These logs provide " -"crucial details, including:" -msgstr "" +msgid "Post-deployment, Remix's terminal will send various logs. These logs provide crucial details, including:" +msgstr "Después de la implementación, la terminal de Remix enviará varios registros. Estos registros proporcionan detalles cruciales, que incluyen:" #: 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" +"- `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 "" +"- `transaction_hash`: El hash único de la transacción. Este hash se puede utilizar para rastrear el estado de la transacción.\n" +"- `contract_address`: La dirección del contrato implementado. Utilice esta dirección para interactuar con su contrato.\n" +"- `calldata`: Contiene la dirección `init_owner` enviada al constructor." #: 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" @@ -1049,23 +1314,29 @@ msgid "" "}\n" "```" msgstr "" +"```bash\n" +"{\n" +" \"transaction_hash\": \"0x275e6d2caf9bc98b47ba09fa9034668c6697160a74de89c4655e2a70be84247\",\n" +" \"contract_address\": \"0x5eb239955ad4c4333b8ab83406a3cf5970554b60a0d8e78a531df18c59a0db9\",\n" +" ...\n" +" \"calldata\": [\n" +" \"0x4d9c8282b5633eeb1aab56393690d76f71e32f1b7be1bea03eb03e059245a28\"\n" +" ],\n" +" ...\n" +"}\n" +"```" #: src/ch01-00-getting-started.md:168 -msgid "" -"By following the above process, you successfully deploy your smart contract " -"on the development network." -msgstr "" +msgid "By following the above process, you successfully deploy your smart contract on the development network." +msgstr "Si sigue el proceso anterior, implementará con éxito su contrato inteligente en la red de desarrollo." #: src/ch01-00-getting-started.md:170 msgid "## Interaction with the Contract" -msgstr "" +msgstr "## Interacción con el Contrato" #: 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 " -"Starknet:" -msgstr "" +msgid "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 "Con el contrato ahora activo en la red de desarrollo, la interacción se hace posible. Aquí hay una guía para interactuar efectivamente con su contrato en Starknet:" #: src/ch01-00-getting-started.md:174 msgid "" @@ -1076,13 +1347,22 @@ msgid "" "\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 " -"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 " -"calldata for the constructor:" +" - 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 calldata for the " +"constructor:" msgstr "" +"1. **Iniciando interacción**\n" +"\n" +" - Navega a la pestaña \"Starknet\".\n" +" - Selecciona la opción \"Interactuar\".\n" +"\n" +"2. **Llamar a la función `get_owner`**\n" +"\n" +" - Elija la función `get_owner`. Como esta función no requiere argumentos, el campo calldata permanece en blanco. (Esta es una función de lectura, por lo que llamarla se " +"denomina \"call\").\n" +" - Presione el botón \"get_owner\". Su terminal mostrará el resultado, revelando la dirección del propietario proporcionada durante la implementación del contrato como " +"datos de llamada para el constructor:" #: src/ch01-00-getting-started.md:184 msgid "" @@ -1098,41 +1378,48 @@ msgid "" "}\n" "```" msgstr "" +"```bash\n" +"{\n" +" \"response\": {\n" +" \"result\": [\n" +" \"0x4d9c8282b5633eeb1aab56393690d76f71e32f1b7be1bea03eb03e059245a28\"\n" +" ]\n" +" },\n" +" \"contract\": \"ownable.cairo\",\n" +" \"function\": \"get_owner\"\n" +"}\n" +"```" #: 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 "" +msgid "This call currently doesn't spend gas because the function does not change the state of the contract." +msgstr "Esta llamada actualmente no gasta gasolina porque la función no cambia el estado del contrato." #: src/ch01-00-getting-started.md:198 msgid "3. **Invoking the `transfer_ownership` Function**" -msgstr "" +msgstr "3. **Invocando la función `transfer_ownership`**" #: 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 "" +"- Ahora, para la función **`transfer_ownership`**, que requiere la dirección del nuevo propietario como entrada.\n" +"- Ingrese esta dirección en el campo de datos de llamada. (Para esto, use cualquier dirección de la \"Selección de cuenta Devnet\" que aparece en la pestaña Entorno).\n" +"- Haga clic en el botón \"transfer_ownership\". Luego, la terminal muestra el hash de la transacción que indica la alteración del estado del contrato. Dado que estamos " +"alterando el estado del contrato, este tipo de interacción se denomina \"invoke\" y debe ser firmado por la cuenta que llama a la función." #: 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 "" +"Para estas transacciones, los registros de la terminal mostrarán una variable de \"status\", que indica el destino de la transacción. Si el estado es \"ACCEPTED_ON_L2\", el " +"secuenciador ha aceptado la transacción, pendiente de inclusión del bloque. Sin embargo, un estado \"REJECTED\" significa la desaprobación del secuenciador y la transacción " +"no aparecerá en el siguiente bloque. La mayoría de las veces, esta transacción obtiene aceptación, lo que lleva a una modificación del estado del contrato. Al llamar " +"nuevamente a la función **`get_owner`** obtenemos esto:" #: src/ch01-00-getting-started.md:206 msgid "" @@ -1148,129 +1435,146 @@ msgid "" "}\n" "```" msgstr "" +"```bash\n" +"{\n" +" \"response\": {\n" +" \"result\": [\n" +" \"0x20884fd341e11a00b9d31600c332f126f5c3f9ffd2aa93cb43dee9f90176d4f\"\n" +" ]\n" +" },\n" +" \"contract\": \"ownable.cairo\",\n" +" \"function\": \"get_owner\"\n" +"}\n" +"```" #: 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 "" +msgid "You've now adeptly compiled, deployed, and interacted with your inaugural Starknet smart contract. Well done!" +msgstr "Ahora ha compilado, implementado e interactuado hábilmente con su contrato inteligente inaugural de Starknet. ¡Bien hecho!" #: src/ch01-00-getting-started.md:220 msgid "## Deploying on Starknet Testnet" -msgstr "" +msgstr "## Implementación en Starknet Testnet" #: 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 "" +"Después de probar su contrato inteligente en una red de desarrollo, es hora de implementarlo en Starknet Testnet. Starknet Testnet es una plataforma pública disponible para " +"todos, ideal para probar contratos inteligentes y colaborar con otros desarrolladores." #: src/ch01-00-getting-started.md:224 msgid "First you need to create a Starknet account." -msgstr "" +msgstr "Primero necesitas crear una cuenta Starknet." #: src/ch01-00-getting-started.md:226 msgid "### Smart Wallet Setup" -msgstr "" +msgstr "### Configuración de Smart Wallet" #: 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 "" +"Antes de implementar su smart contract en Starknet, debe manejar el costo de la transacción. Si bien la implementación en Starknet Goerli Testnet es gratuita, una cuenta de " +"billetera inteligente es esencial. Puede configurar una billetera inteligente usando:" #: src/ch01-00-getting-started.md:230 msgid "" "- [Braavos](https://braavos.app/)\n" "- [Argent](https://www.argent.xyz/argent-x/)" msgstr "" +"- [Braavos](https://braavos.app/)\n" +"- [Argent](https://www.argent.xyz/argent-x/)" #: 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 "" +"Ambas son billeteras Starknet confiables que ofrecen características mejoradas de seguridad y accesibilidad gracias a las posibilidades que ofrece Cairo VM, como Account " +"Abstraction (siga leyendo el libro para obtener más información sobre esto)." #: 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 "" +"1. Instale la extensión Chrome/brave recomendada para su billetera elegida.\n" +"2. Siga las instrucciones de su proveedor de billetera para implementar su cuenta.\n" +" 1. Utilice [Starknet Faucet](https://faucet.goerli.starknet.io/) para depositar fondos en su cuenta.\n" +"3. Implemente la cuenta en la red. Esto suele tardar unos 10 segundos." #: src/ch01-00-getting-started.md:240 -msgid "" -"Once set up, you're ready to deploy your smart contracts to the Starknet " -"Testnet." -msgstr "" +msgid "Once set up, you're ready to deploy your smart contracts to the Starknet Testnet." +msgstr "Una vez configurado, estará listo para implementar sus contratos inteligentes en Starknet Testnet." #: src/ch01-00-getting-started.md:242 msgid "### Deployment and Interaction" -msgstr "" +msgstr "### Despliegue e Interacción" #: 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 "" +"1. Siga los pasos de implementación anteriores.\n" +"2. En la pestaña 'Environment selection', elija 'Selección de Wallet'.\n" +"3. Seleccione su cuenta Starknet y continúe con la implementación e interactuando con su contrato." #: src/ch01-00-getting-started.md:248 -msgid "" -"You can monitor transaction hashes and addresses using any Starknet block " -"explorers like:" -msgstr "" +msgid "You can monitor transaction hashes and addresses using any Starknet block explorers like:" +msgstr "Puede monitorear los hashes y las direcciones de las transacciones utilizando cualquier explorador de bloques de Starknet como:" #: src/ch01-00-getting-started.md:250 msgid "" "- [Starkscan](https://testnet.starkscan.co/)\n" "- [Voyager](https://goerli.voyager.online/)" msgstr "" +"- [Starkscan](https://testnet.starkscan.co/)\n" +"- [Voyager](https://goerli.voyager.online/)" #: 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 "" +"Estas herramientas proporcionan una representación visual de las transacciones y las alteraciones del estado del contrato. En particular, cuando modifica la propiedad del " +"contrato utilizando la función `transfer_ownership`, el evento emitido por el contrato aparece en el explorador de bloques. Es un método eficaz para realizar un seguimiento " +"de los eventos del contrato." #: src/ch01-00-getting-started.md:255 msgid "## Your Next Steps" -msgstr "" +msgstr "## Tus Próximos Pasos" #: src/ch01-00-getting-started.md:257 msgid "Decide your direction from the following choices:" -msgstr "" +msgstr "Decide tu dirección entre las siguientes opciones:" #: 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 "" +"1. **Profundice su conocimiento de Starknet**: para obtener una comprensión amplia del funcionamiento interno de Starknet y los posibles casos de uso, profundice en el " +"Capítulo 3 del Libro de Starknet. Este capítulo detalla los matices arquitectónicos de Starknet. Entonces continúa desde allí.\n" +"\n" +"2. **Sumérgete en Cairo**: si estás más familiarizado con la codificación y deseas crear contratos de Starknet, entonces Cairo es esencial. Es el lenguaje contractual " +"central de Starknet. Comience con los capítulos 1 a 6 del [Libro de El Cairo] (https://book.cairo-lang.org/title-page.html), que van desde conceptos básicos de " +"_Introducción_ hasta aspectos más avanzados como _Enums y Pattern Matching_. Concluya navegando al [capítulo Smart Contracts de Starknet] (https://book.cairo-lang.org/" +"ch99-00-starknet-smart-contracts.html), asegurándose de tener una comprensión completa." #: src/ch02-00-starknet-tooling.md:1 msgid "# Starknet Tooling" -msgstr "" +msgstr "# Herramientas en Starknet" #: src/ch02-00-starknet-tooling.md:3 src/ch02-03-scarb.md:3 msgid "" @@ -1283,6 +1587,14 @@ msgid "" "in the same book. With this background, you’ll be well-equipped to\n" "understand the examples presented here." msgstr "" +"Para aprovechar al máximo este capítulo, se necesita una comprensión básica de la programación de Cairo.\n" +"Sugerimos leer los capítulos 1-6 del [El Libro de Cairo\n" +"](https://book.cairo-lang.org/title-page.html), que cubre temas de\n" +"_Comenzando_ a _Enums y Pattern Matching._ Siga esto\n" +"estudiando los [Smart Contract de Starknet\n" +"capítulo](https://book.cairo-lang.org/ch99-00-starknet-smart-contracts.html)\n" +"en el mismo libro. Con estos antecedentes, estará bien equipado para\n" +"entender los ejemplos presentados aquí." #: src/ch02-00-starknet-tooling.md:12 msgid "" @@ -1292,16 +1604,23 @@ msgid "" "development. Front-end developers can use Starknet.js with React, while\n" "Rust and Python work well for back-end tasks." msgstr "" +"Hoy, Starknet proporciona todas las herramientas esenciales para construir aplicaciones descentralizadas\n" +" (dApps), compatibles con múltiples idiomas como\n" +"JavaScript, Rust y Python. Puede utilizar el SDK de Starknet para\n" +"desarrollar. Los desarrolladores front-end pueden usar Starknet.js con React, mientras\n" +"Rust y Python funcionan bien para tareas de back-end." #: src/ch02-00-starknet-tooling.md:18 msgid "" "We welcome contributors to enhance existing tools or develop new\n" "solutions." msgstr "" +"Damos la bienvenida a los contribuyentes para mejorar las herramientas existentes o desarrollar nuevas\n" +"soluciones." #: src/ch02-00-starknet-tooling.md:21 msgid "In this chapter, you’ll explore:" -msgstr "" +msgstr "En este capítulo, explorará:" #: src/ch02-00-starknet-tooling.md:23 msgid "" @@ -1314,18 +1633,30 @@ msgid "" "\n" "- Testing: Understand testing methods with Protostar and the Devnet" msgstr "" +"- **Frameworks:** Construir usando Protostar o Hardhat\n" +"\n" +"- **SDK:** descubra la compatibilidad con varios idiomas a través de Starknet.js,\n" +" Starknet-rs, Starknet_py y Caigo\n" +"\n" +"- **Desarrollo front-end:** Utilice Starknet.js y React\n" +"\n" +"- **Testing:** Comprender los métodos de prueba con Protostar y Devnet" #: src/ch02-00-starknet-tooling.md:32 msgid "" "By chapter’s end, you’ll have a complete grasp of Starknet’s toolset,\n" "enabling efficient dApp development." msgstr "" +"Al final del capítulo, tendrá una comprensión completa del conjunto de herramientas de Starknet,\n" +"permitiendo el desarrollo eficiente de dApps." #: src/ch02-00-starknet-tooling.md:35 msgid "" "Here’s a quick rundown of the tools that could be used for Starknet\n" "development and that we’ll cover in this chapter:" msgstr "" +"Aquí hay un resumen rápido de las herramientas que podrían usarse para \n" +"el desarrollo de Starknet y que cubriremos en este capítulo:" #: src/ch02-00-starknet-tooling.md:38 msgid "" @@ -1342,21 +1673,34 @@ msgid "" "\n" "6. Starknet-react: Builds front-end apps using React." msgstr "" +"1. **Scarb:** Un administrador de paquetes que compila tus contratos.\n" +"\n" +"2. **Starkli:** Una herramienta CLI para interactuar con la red Starknet.\n" +"\n" +"3. **Foundry:** Para pruebas por contrato.\n" +"\n" +"4. **Katana:** Crea un nodo de prueba local.\n" +"\n" +"5. **SDK:** Interfaz starknet.js, Starknet.py y starknet.rs con\n" +" Starknet utilizando lenguajes de programación comunes.\n" +"\n" +"6. **Starknet-react:** Crea aplicaciones front-end usando React." -#: 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 "" +msgstr "# Instalación" #: src/ch02-01-basic-installation.md:3 msgid "" "This chapter walks you through setting up your Starknet development\n" "tools." msgstr "" +"Este capítulo lo guiará a través de la configuración de sus herramientas\n" +"de desarrollo en Starknet." #: src/ch02-01-basic-installation.md:6 msgid "Essential tools to install:" -msgstr "" +msgstr "Herramientas esenciales para instalar:" #: src/ch02-01-basic-installation.md:8 msgid "" @@ -1367,6 +1711,10 @@ msgid "" " manager that compiles code to Sierra, a mid-level language between\n" " Cairo and CASM." msgstr "" +"1. [Starkli](https://github.com/xJonathanLEI/starkli) - Una herramienta de línea de comandos (CLI) para interactuar con Starknet. Se discuten más herramientas en el Capítulo " +"2.\n" +"\n" +"2. [Scarb](https://github.com/software-mansion/scarb) - El gestor de paquetes de Cairo que compila código a Sierra, un lenguaje intermedio entre Cairo y CASM." #: src/ch02-01-basic-installation.md:15 msgid "" @@ -1374,16 +1722,21 @@ msgid "" "Issues](https://github.com/starknet-edu/starknetbook/issues) or contact\n" "espejelomar on Telegram." msgstr "" +"Para soporte o consultas, visite nuestro [GitHub\n" +"Issues](https://github.com/starknet-edu/starknetbook/issues) o póngase en contacto\n" +"espejelomar en Telegram." #: src/ch02-01-basic-installation.md:19 msgid "## Starkli Installation" -msgstr "" +msgstr "## Instalación de Starkli" #: src/ch02-01-basic-installation.md:21 msgid "" "Easily install Starkli using Starkliup, an installer invoked through the\n" "command line." msgstr "" +"Instale Starkli fácilmente usando Starkliup, un instalador que se invoca\n" +"a través de la línea de comando." #: src/ch02-01-basic-installation.md:24 msgid "" @@ -1392,10 +1745,14 @@ msgid "" "starkliup\n" "```" msgstr "" +"```bash\n" +"curl https://get.starkli.sh | sh\n" +"starkliup\n" +"```" #: src/ch02-01-basic-installation.md:29 msgid "Restart your terminal and confirm installation:" -msgstr "" +msgstr "Reinicia tu terminal y confirma la instalación:" #: src/ch02-01-basic-installation.md:31 msgid "" @@ -1403,74 +1760,85 @@ msgid "" "starkli --version\n" "```" msgstr "" +"```bash\n" +"starkli --version\n" +"```" #: src/ch02-01-basic-installation.md:35 msgid "To upgrade Starkli, simply repeat the steps." -msgstr "" +msgstr "Para actualizar Starkli, simplemente repita los pasos." #: src/ch02-01-basic-installation.md:37 msgid "## Scarb Package Manager Installation" -msgstr "" +msgstr "## Instalación del Administrador de Paquetes Scarb" #: 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." -msgstr "" +msgid "We will get deeper into Scarb later in this chapter. For now, we will go over the installation process." +msgstr "Profundizaremos en Scarb más adelante en este capítulo. Por ahora, repasaremos el proceso de instalación." #: src/ch02-01-basic-installation.md:41 msgid "For macOS and Linux:" -msgstr "" +msgstr "Para macOS y Linux:" #: 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 "" +"```bash\n" +" curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh\n" +"```" #: src/ch02-01-basic-installation.md:47 msgid "" "For Windows, follow manual setup in the [Scarb\n" "documentation](https://docs.swmansion.com/scarb/download.html#windows)." msgstr "" +"Para Windows, siga la configuración manual en [Scarb\n" +"Documentation](https://docs.swmansion.com/scarb/download.html#windows)." #: src/ch02-01-basic-installation.md:50 msgid "Restart the terminal and run:" -msgstr "" +msgstr "Reinicie la terminal y ejecute:" -#: 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" "```" msgstr "" +"```bash\n" +" scarb --version\n" +"```" #: src/ch02-01-basic-installation.md:56 msgid "To upgrade Scarb, rerun the installation command." -msgstr "" +msgstr "Para actualizar Scarb, vuelva a ejecutar el comando de instalación." #: src/ch02-01-basic-installation.md:58 msgid "You are now set to code in Cairo and deploy to Starknet." -msgstr "" +msgstr "Ahora está configurado para codificar en Cairo y realizar la implementación en Starknet." #: src/ch02-02-compile-deploy-interact.md:1 msgid "# Hello, World!" -msgstr "" +msgstr "# ¡Hola, Mundo!" #: src/ch02-02-compile-deploy-interact.md:3 msgid "" "In this chapter, you’ll learn how to compile, deploy, and interact with\n" "a Starknet smart contract written in Cairo." msgstr "" +"En este capítulo, aprenderá cómo compilar, implementar e interactuar con\n" +"un smart contract de Starknet escrito en Cairo." #: src/ch02-02-compile-deploy-interact.md:6 msgid "" "First, confirm that the following commands work on your system. If they\n" "don’t, refer to Basic Installation in this chapter." msgstr "" +"Primero, confirme que los siguientes comandos funcionan en su sistema. Si no es\n" +"así, consulte Instalación básica en este capítulo." #: src/ch02-02-compile-deploy-interact.md:9 msgid "" @@ -1479,20 +1847,26 @@ msgid "" " starkli --version # To interact with Starknet\n" "```" msgstr "" +"```bash\n" +" scarb --version # For Cairo code compilation\n" +" starkli --version # To interact with Starknet\n" +"```" #: src/ch02-02-compile-deploy-interact.md:14 msgid "## Find the compiler versions supported" -msgstr "" +msgstr "## Encuentre las versiones del compilador compatibles" #: src/ch02-02-compile-deploy-interact.md:16 msgid "" "We have to make sure that our Starkli compiler version match Scarb\n" "compiler version" msgstr "" +"Tenemos que asegurarnos de que nuestra versión del compilador Starkli\n" +"coincida con la versión del compilador Scarb" #: src/ch02-02-compile-deploy-interact.md:19 msgid "To find the compiler versions supported by Starkli, execute:" -msgstr "" +msgstr "Para encontrar las versiones del compilador compatibles con Starkli, ejecute:" #: src/ch02-02-compile-deploy-interact.md:21 msgid "" @@ -1500,33 +1874,45 @@ msgid "" " starkli declare --help\n" "```" msgstr "" +"```bash\n" +" starkli declare --help\n" +"```" #: src/ch02-02-compile-deploy-interact.md:25 msgid "" "You’ll see a list of possible compiler versions under the\n" "`--compiler-version` flag." msgstr "" +"Verá una lista de posibles versiones del compilador bajo el\n" +"indicador `--compiler-version`." #: src/ch02-02-compile-deploy-interact.md:28 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 "" +"```bash\n" +" ...\n" +" --compiler-version \n" +" Statically-linked Sierra compiler version [possible values: [COMPILER VERSIONS]]]\n" +" ...\n" +"```" #: src/ch02-02-compile-deploy-interact.md:35 msgid "" "Note that the Scarb compiler version might not align with Starkli’s\n" "supported versions. To check Scarb’s version:" msgstr "" +"Tenga en cuenta que es posible que la versión del compilador Scarb no se alinee con las\n" +"versiones compatibles de Starkli. Para comprobar la versión de Scarb:" #: src/ch02-02-compile-deploy-interact.md:42 msgid "You’ll see a list that contains scarb, cairo and sierra version." -msgstr "" +msgstr "Verás una lista que contiene las versiones scarb, cairo y sierra." #: src/ch02-02-compile-deploy-interact.md:44 msgid "" @@ -1536,6 +1922,11 @@ msgid "" " sierra: \n" "```" msgstr "" +"```bash\n" +" scarb \n" +" cairo: \n" +" sierra: \n" +"```" #: src/ch02-02-compile-deploy-interact.md:50 msgid "" @@ -1545,22 +1936,27 @@ msgid "" "[Scarb](https://github.com/software-mansion/scarb/releases)'s GitHub\n" "repo." msgstr "" +"Si hay una discrepancia, se sugiere instalar la versión de Scarb que utiliza la versión del\n" +"compilador compatible con Starkli. Puede encontrar versiones anteriores en el repositorio\n" +"de GitHub de [Scarb](https://github.com/software-mansion/scarb/releases)." #: src/ch02-02-compile-deploy-interact.md:56 msgid "To install a specific version, such as `0.6.1`, run:" -msgstr "" +msgstr "Para instalar una versión específica, como `0.6.1`, ejecute:" #: 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 "" +"```bash\n" +" curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh -s -- -v 0.6.1\n" +"```" #: src/ch02-02-compile-deploy-interact.md:62 msgid "## Smart Wallet Setup" -msgstr "" +msgstr "## Configuración de Smart Wallet" #: src/ch02-02-compile-deploy-interact.md:64 msgid "" @@ -1569,6 +1965,10 @@ msgid "" "the Account Descriptor is a JSON file detailing the wallet’s address and\n" "public key." msgstr "" +"Una billetera inteligente comprende un firmante (Signer) y un descriptor de cuenta. El Signer\n" +"es un smart contract con una clave privada para firmar transacciones, mientras que el\n" +"descriptor de cuenta es un archivo JSON que detalla la dirección y la clave pública de\n" +"la billetera." #: src/ch02-02-compile-deploy-interact.md:69 msgid "" @@ -1581,14 +1981,21 @@ msgid "" "3. Fund your wallet with ETH. Use [Starknet Goerli\n" " Faucet](https://faucet.goerli.starknet.io/) as needed." msgstr "" +"1. Utilice las extensiones de navegador Braavos o Argent X para crear\n" +" su smart wallet.\n" +"\n" +"2. Siga las instrucciones proporcionadas para la billetera elegida (Argent o Braavos).\n" +"\n" +"3. Financia tu billetera con ETH. Utilice [Starknet Goerli\n" +"Faucet](https://faucet.goerli.starknet.io/) según sea necesario." #: src/ch02-02-compile-deploy-interact.md:78 msgid "Now you’re ready to interact with Starknet smart contracts." -msgstr "" +msgstr "Ahora está listo para interactuar con los smart contracts de Starknet." #: src/ch02-02-compile-deploy-interact.md:80 msgid "### Creating a Signer" -msgstr "" +msgstr "### Creando un Signer" #: src/ch02-02-compile-deploy-interact.md:82 msgid "" @@ -1596,6 +2003,9 @@ msgid "" "transactions in Starknet. You’ll need the private key from your smart\n" "wallet to create one, from which the public key can be derived." msgstr "" +"El Signer es un contrato inteligente esencial capaz de firmar\n" +"transacciones en Starknet. Necesitará la clave privada de su smart\n" +"wallet para crear una, de la cual se puede derivar la clave pública." #: src/ch02-02-compile-deploy-interact.md:86 msgid "" @@ -1603,10 +2013,13 @@ msgid "" "file. This encrypted file can be accessed using a password and is\n" "generally stored in the default Starkli directory." msgstr "" +"Starkli permite el almacenamiento seguro de su clave privada a través de un archivo\n" +"de almacén de claves (keystore). Se puede acceder a este archivo cifrado mediante una\n" +"contraseña y generalmente se almacena en el directorio predeterminado de Starkli." #: src/ch02-02-compile-deploy-interact.md:90 msgid "First, create the default directory:" -msgstr "" +msgstr "Primero, cree el directorio predeterminado:" #: src/ch02-02-compile-deploy-interact.md:92 msgid "" @@ -1614,6 +2027,9 @@ msgid "" " mkdir ~/.starkli-wallets/deployer -p\n" "```" msgstr "" +"```bash\n" +" mkdir ~/.starkli-wallets/deployer -p\n" +"```" #: src/ch02-02-compile-deploy-interact.md:96 msgid "" @@ -1625,16 +2041,23 @@ msgid "" "likely have several wallets. In this tutorial, we will use the name\n" "`my_keystore_ 1.json`." msgstr "" +"Luego genere el archivo del keystore. El comando del signer contiene subcomandos para crear un archivo de keystore a partir de una clave privada o crear uno completamente " +"nuevo. En este tutorial, usaremos la opción de clave privada, que es el caso de uso más común. Debe proporcionar la ruta al archivo del almacén de claves que desea crear. " +"Puede darle cualquier nombre al archivo del almacén de claves; probablemente tendrá varias billeteras. En este tutorial, usaremos el nombre `my_keystore_ 1.json`." #: 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" "```" msgstr "" +"```bash\n" +" starkli signer keystore from-key ~/.starkli-wallets/deployer/my_keystore_1.json\n" +" Enter private key:\n" +" Enter password:\n" +"```" #: src/ch02-02-compile-deploy-interact.md:110 msgid "" @@ -1642,6 +2065,8 @@ msgid "" "In the password prompt, enter a password of your choice. You will need\n" "this password to sign transactions using Starkli." msgstr "" +"En el mensaje de clave privada, pegue la clave privada de su billetera inteligente. En la solicitud de contraseña, ingrese la contraseña de su elección. Necesitará esta " +"contraseña para firmar transacciones utilizando Starkli." #: src/ch02-02-compile-deploy-interact.md:114 msgid "" @@ -1650,6 +2075,8 @@ msgid "" "\"Export Private Key\". For Braavos, you can find it in the \"Settings\"\n" "section → \"Privacy and Security\" → \"Export Private Key\"." msgstr "" +"Exporte la clave privada desde su billetera Braavos o Argent. Para Argent X, puede encontrarlo en la sección\"Settings\" section → Select your Account → \"Export Private Key" +"\". Para Braavos, puede encontrarlo en la sección \"Settings\" section → \"Privacy and Security\" → \"Export Private Key\"." #: src/ch02-02-compile-deploy-interact.md:119 msgid "" @@ -1659,20 +2086,23 @@ msgid "" "Argent X. Does it use an elliptic curve? If yes, which one? This is the\n" "reason why we need an account descriptor file." msgstr "" +"Si bien es necesario conocer la clave privada de una billetera inteligente para firmar transacciones, no es suficiente. También debemos informar a Starkli sobre el mecanismo " +"de firma empleado por nuestra billetera inteligente creada por Braavos o Argent X. ¿Utiliza una curva elíptica? ¿Si sí, cual? Ésta es la razón por la que necesitamos un " +"archivo descriptor de cuenta." #: src/ch02-02-compile-deploy-interact.md:125 msgid "#### [OPTIONAL] The Architecture of the Starknet Signer" -msgstr "" +msgstr "#### [OPCIONAL] La arquitectura del Signer en Starknet" #: src/ch02-02-compile-deploy-interact.md:127 msgid "" "The Starknet Signer plays an instrumental role in securing your\n" "transactions. Let’s demystify what goes on under the hood." -msgstr "" +msgstr "Starknet Signer desempeña un papel fundamental a la hora de proteger sus transacciones. Desmitifiquemos lo que sucede bajo el capó." #: src/ch02-02-compile-deploy-interact.md:130 msgid "Key Components:" -msgstr "" +msgstr "Componentes Clave:" #: src/ch02-02-compile-deploy-interact.md:132 msgid "" @@ -1686,13 +2116,18 @@ 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 "" +"1. **Private Key**: una clave hexadecimal de 256 bits/32 bytes/64 caracteres (ignorando el prefijo _0x_) que es la piedra angular de la seguridad de su wallet.\n" +"\n" +"2. **Public Key**: Derivada de la clave privada, también es una clave hexadecimal de 256 bits/32 bytes/64 caracteres.\n" +"\n" +"3. **Dirección de la Smart Wallet**: A diferencia de Ethereum, la dirección aquí está influenciada por la publick key, el class hash y una salt. **[Obtenga más información " +"en la documentación de Starknet](https://docs.starknet.io/documentation/architecture_and_concepts/Smart_Contracts/contract-address/)**." #: src/ch02-02-compile-deploy-interact.md:144 msgid "To view the details of the previously created keystore file:" -msgstr "" +msgstr "Para ver los detalles del archivo de keystore creado anteriormente:" #: src/ch02-02-compile-deploy-interact.md:146 msgid "" @@ -1700,10 +2135,13 @@ msgid "" " cat ~/.starkli-wallets/deployer/my_keystore_1.json\n" "```" msgstr "" +"```bash\n" +" cat ~/.starkli-wallets/deployer/my_keystore_1.json\n" +"```" #: src/ch02-02-compile-deploy-interact.md:150 msgid "Anatomy of the `keystore.json` File:" -msgstr "" +msgstr "Anatomía del archivo `keystore.json`:" #: src/ch02-02-compile-deploy-interact.md:152 msgid "" @@ -1714,25 +2152,44 @@ msgid "" " \"cipherparams\": {\n" " \"iv\": \"dba5f9a67456b121f3f486aa18e24db7\"\n" " },\n" -" \"ciphertext\": " -"\"b3cda3df39563e3dd61064149d6ed8c9ab5f07fbcd6347625e081fb695ddf36c\",\n" +" \"ciphertext\": \"b3cda3df39563e3dd61064149d6ed8c9ab5f07fbcd6347625e081fb695ddf36c\",\n" " \"kdf\": \"scrypt\",\n" " \"kdfparams\": {\n" " \"dklen\": 32,\n" " \"n\": 8192,\n" " \"p\": 1,\n" " \"r\": 8,\n" -" \"salt\": " -"\"6dd5b06b1077ba25a7bf511510ea0c608424c6657dd3ab51b93029244537dffb\"\n" +" \"salt\": \"6dd5b06b1077ba25a7bf511510ea0c608424c6657dd3ab51b93029244537dffb\"\n" " },\n" -" \"mac\": " -"\"55e1616d9ddd052864a1ae4207824baac58a6c88798bf28585167a5986585ce6\"\n" +" \"mac\": \"55e1616d9ddd052864a1ae4207824baac58a6c88798bf28585167a5986585ce6\"\n" " },\n" " \"id\": \"afbb9007-8f61-4e62-bf14-e491c30fd09a\",\n" " \"version\": 3\n" "}\n" "```" msgstr "" +"```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" +"```" #: src/ch02-02-compile-deploy-interact.md:175 msgid "" @@ -1742,10 +2199,15 @@ msgid "" "\n" "- **`crypto`**: Houses all encryption details." msgstr "" +"- **`version`**: La versión de la implementación de la billetera inteligente.\n" +"\n" +"- **`id`**: Una cadena de identificación generada aleatoriamente.\n" +"\n" +"- **`crypto`**: Alberga todos los detalles de cifrado." #: src/ch02-02-compile-deploy-interact.md:181 msgid "Inside **`crypto`**:" -msgstr "" +msgstr "Dentro de **`crypto`**:" #: src/ch02-02-compile-deploy-interact.md:183 msgid "" @@ -1797,10 +2259,40 @@ msgid "" " private key in this case). It is generated using a hash of both the\n" " ciphertext and a portion of the derived key." msgstr "" +"- **`cipher`**: Especifica el algoritmo de cifrado utilizado, que en este caso es AES-128-CTR.\n" +"\n" +" - **AES (Estándar de cifrado avanzado)**: Un estándar de cifrado aceptado globalmente.\n" +"\n" +" - **128**: Hace referencia al tamaño de la clave en bits, por lo que es una clave de 128 bits.\n" +"\n" +" - **CTR (Modo Contador)**: Un modo de operación específico para el cifrado AES.\n" +"\n" +"- **`cipherparams`**: Contiene un vector de inicialización (IV), que garantiza que cifrar el mismo texto sin formato con la misma clave producirá textos cifrados " +"diferentes.\n" +"\n" +" - **`iv` (Vector de inicialización)**: Una cadena hexadecimal de 16 bytes que sirve como punto de partida aleatorio y único para cada operación de cifrado.\n" +"\n" +"- **`ciphertext`**: Esta es la clave privada después del cifrado, almacenada de forma segura para que solo la contraseña correcta pueda revelarla.\n" +"\n" +"- **`kdf` y `kdfparams`**: KDF significa Función de derivación de claves. Esto añade una capa de seguridad al requerir trabajo computacional,\n" +" haciendo que los ataques de fuerza bruta sean más difíciles.\n" +"\n" +" - **`dklen`**: La longitud (en bytes) de la clave derivada. Normalmente 32 bytes.\n" +"\n" +" - **`n`**: un factor de costo que representa el uso de CPU/memoria. Un valor más alto significa que se necesita más trabajo computacional, lo que aumenta la seguridad.\n" +"\n" +" - **`p`**: Factor de paralelización, que afecta la complejidad computacional.\n" +"\n" +" - **`r`**: Tamaño de bloque para la función hash, lo que nuevamente afecta los requisitos computacionales.\n" +"\n" +" - **`salt`**: Un valor aleatorio que se combina con la contraseña para disuadir ataques de diccionario.\n" +"\n" +"- **`mac` (Código de autenticación de mensaje)**: Este es un código criptográfico que asegura la integridad del mensaje (el mensaje cifrado\n" +" clave privada en este caso). Se genera utilizando un hash tanto del texto cifrado como de una parte de la clave derivada." #: src/ch02-02-compile-deploy-interact.md:231 msgid "### Creating an Account Descriptor" -msgstr "" +msgstr "### Creación de un Descriptor de Cuenta" #: src/ch02-02-compile-deploy-interact.md:233 msgid "" @@ -1811,14 +2303,19 @@ msgid "" "input and generates the account descriptor file. The account descriptor\n" "file is a JSON file that contains the details of your smart wallet." msgstr "" +"Un Descriptor de cuenta informa a Starkli sobre las características únicas de su billetera inteligente, como su mecanismo de firma. Puede generar este descriptor utilizando " +"el subcomando`fetch` de Starkli bajo el comando `account`. El subcomando `fetch` toma la dirección de su billetera en cadena como entrada y genera el archivo descriptor de " +"la cuenta. El archivo descriptor de cuenta es un archivo JSON que contiene los detalles de su billetera inteligente." #: 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 "" +"```bash\n" +" starkli account fetch --output ~/.starkli-wallets/deployer/my_account_1.json\n" +"```" #: src/ch02-02-compile-deploy-interact.md:244 msgid "" @@ -1826,20 +2323,25 @@ msgid "" "We’re using a Braavos wallet as an example, but the steps are the same\n" "for an Argent wallet." msgstr "" +"Después de ejecutar el comando, verá un mensaje como el siguiente. Estamos usando una billetera Braavos como ejemplo, pero los pasos son los mismos para una billetera Argent." #: src/ch02-02-compile-deploy-interact.md:248 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 "" +"```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" +"```" #: src/ch02-02-compile-deploy-interact.md:254 msgid "To see the details of your Account Descriptor, run:" -msgstr "" +msgstr "Para ver los detalles de su Descriptor de Cuenta, ejecute:" #: src/ch02-02-compile-deploy-interact.md:256 msgid "" @@ -1847,10 +2349,13 @@ msgid "" " cat ~/.starkli-wallets/deployer/my_account_1.json\n" "```" msgstr "" +"```bash\n" +" cat ~/.starkli-wallets/deployer/my_account_1.json\n" +"```" #: src/ch02-02-compile-deploy-interact.md:260 msgid "Here’s what a typical descriptor might look like:" -msgstr "" +msgstr "Así es como podría verse un descriptor típico:" #: src/ch02-02-compile-deploy-interact.md:262 msgid "" @@ -1860,37 +2365,57 @@ msgid "" " \"variant\": {\n" " \"type\": \"braavos\",\n" " \"version\": 1,\n" -" \"implementation\": " -"\"0x5dec330eebf36c8672b60db4a718d44762d3ae6d1333e553197acb47ee5a062\",\n" +" \"implementation\": \"0x5dec330eebf36c8672b60db4a718d44762d3ae6d1333e553197acb47ee5a062\",\n" " \"multisig\": {\n" " \"status\": \"off\"\n" " },\n" " \"signers\": [\n" " {\n" " \"type\": \"stark\",\n" -" \"public_key\": " -"\"0x49759ed6197d0d385a96f9d8e7af350848b07777e901f5570b3dc2d9744a25e\"\n" +" \"public_key\": \"0x49759ed6197d0d385a96f9d8e7af350848b07777e901f5570b3dc2d9744a25e\"\n" " }\n" " ]\n" " },\n" " \"deployment\": {\n" " \"status\": \"deployed\",\n" -" \"class_hash\": " -"\"0x3131fa018d520a037686ce3efddeab8f28895662f019ca3ca18a626650f7d1e\",\n" -" \"address\": " -"\"0x6dcb489c1a93069f469746ef35312d6a3b9e56ccad7f21f0b69eb799d6d2821\"\n" +" \"class_hash\": \"0x3131fa018d520a037686ce3efddeab8f28895662f019ca3ca18a626650f7d1e\",\n" +" \"address\": \"0x6dcb489c1a93069f469746ef35312d6a3b9e56ccad7f21f0b69eb799d6d2821\"\n" " }\n" "}\n" "```" msgstr "" +"```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" +"}\n" +"```" #: src/ch02-02-compile-deploy-interact.md:287 msgid "Note: The structure will differ if you use an Argent wallet." -msgstr "" +msgstr "Note: The structure will differ if you use an Argent wallet." #: src/ch02-02-compile-deploy-interact.md:289 msgid "## Setting up Environment Variables" -msgstr "" +msgstr "## Configuración de Variables de Entorno" #: src/ch02-02-compile-deploy-interact.md:291 msgid "" @@ -1898,6 +2423,8 @@ msgid "" "variables are crucial: one for the Signer’s keystore file location and\n" "another for the Account Descriptor file." msgstr "" +"Para simplificar los comandos de Starkli, puede configurar variables de entorno. Dos variables clave son cruciales: una para la ubicación del archivo del keystore del " +"firmante y otra para el archivo del descriptor de cuenta." #: src/ch02-02-compile-deploy-interact.md:295 msgid "" @@ -1906,20 +2433,24 @@ msgid "" " export STARKNET_KEYSTORE=~/.starkli-wallets/deployer/my_keystore_1.json\n" "```" msgstr "" +"```bash\n" +" export STARKNET_ACCOUNT=~/.starkli-wallets/deployer/my_account_1.json\n" +" export STARKNET_KEYSTORE=~/.starkli-wallets/deployer/my_keystore_1.json\n" +"```" #: src/ch02-02-compile-deploy-interact.md:300 msgid "" "Setting these variables makes running Starkli commands easier and more\n" "efficient." -msgstr "" +msgstr "Configurar estas variables hace que la ejecución de comandos Starkli sea más fácil y eficiente." #: src/ch02-02-compile-deploy-interact.md:303 msgid "## Declaring Smart Contracts in Starknet" -msgstr "" +msgstr "## Declarando Smart Contracts en Starknet" #: src/ch02-02-compile-deploy-interact.md:305 msgid "Deploying a smart contract on Starknet involves two steps:" -msgstr "" +msgstr "Implementar un contrato inteligente en Starknet implica dos pasos:" #: src/ch02-02-compile-deploy-interact.md:307 msgid "" @@ -1927,15 +2458,20 @@ msgid "" "\n" "- Deploy an instance of the declared code." msgstr "" +"- Declara el código de tu contrato.\n" +"\n" +"- Implementar una instancia del código declarado." #: 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 "" +"Para comenzar, navegue hasta el directorio `contracts/` en el [primer capítulo](https://github.com/starknet-edu/starknetbook/tree/main/chapters/book/modules/chapter_1/pages/" +"contracts)\n" +"del repositorio de Starknet Book. El archivo `src/lib.cairo` contiene un contrato básico para practicar." #: src/ch02-02-compile-deploy-interact.md:316 msgid "" @@ -1944,6 +2480,8 @@ msgid "" "Environment](https://book.starknet.io/chapter_1/environment_setup.html)\n" "section." msgstr "" +"Primero, compila el contrato usando el compilador Scarb. Si no ha instalado Scarb, siga la guía de instalación en la sección [Configuración de su entorno] (https://book." +"starknet.io/chapter_1/environment_setup.html)." #: src/ch02-02-compile-deploy-interact.md:321 msgid "" @@ -1951,27 +2489,30 @@ msgid "" " scarb build\n" "```" msgstr "" +"```bash\n" +" scarb build\n" +"```" #: 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" "more details about Scarb)." -msgstr "" +msgstr "Esto crea un contrato compilado en `target/dev/` como \"contracts_Ownable.sierra.json\" (en el Capítulo 2 del libro aprenderemos más detalles sobre Scarb)." #: src/ch02-02-compile-deploy-interact.md:329 msgid "" "With the smart contract compiled, we’re ready to declare it using\n" "Starkli. Before declaring your contract, decide on an RPC provider." -msgstr "" +msgstr "Con el contrato inteligente compilado, estamos listos para declararlo usando Starkli. Antes de declarar su contrato, decida cuál es un proveedor de RPC." #: src/ch02-02-compile-deploy-interact.md:332 msgid "### Choosing an RPC Provider" -msgstr "" +msgstr "### Elegir un Proveedor de RPC" #: src/ch02-02-compile-deploy-interact.md:334 msgid "There are three main options for RPC providers, sorted by ease of use:" -msgstr "" +msgstr "Hay tres opciones principales para los proveedores de RPC, ordenadas por facilidad de uso:" #: src/ch02-02-compile-deploy-interact.md:336 msgid "" @@ -1985,38 +2526,47 @@ 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" " Starknet Book](https://book.starknet.io/chapter_4/node.html) or\n" " [Kasar](https://www.kasar.io/) for setup guides." msgstr "" +"1. **Starknet Sequencer's Gateway**: La opción más rápida y es la predeterminada para Starkli por ahora. La puerta de enlace del secuenciador está obsoleta y StarkWare la " +"desactivará pronto. Se recomienda encarecidamente utilizar un proveedor de API JSON-RPC de terceros como Infura, Alchemy o Chainstack.\n" +"\n" +"2. **Infura o Alchemy**: Un paso adelante en complejidad. Deberá configurar una clave API y elegir un punto final. Para Infura, se vería así `https://starknet-goerli.infura." +"io/v3/`. Obtenga más información en la [documentación de Infura](https://docs.infura.io/networks/starknet/how-to/choose-a-network).\n" +"\n" +"3. **Tu propio nodo**: Para aquellos que quieren control total. Es el más complejo pero ofrece la mayor libertad. Consulte el [Capítulo 4 del libro Starknet](https://book." +"starknet.io/chapter_4/node.html) o [Kasar](https://www.kasar.io/) para obtener guías de configuración." #: src/ch02-02-compile-deploy-interact.md:353 msgid "" "In this tutorial, we will use Alchemy. We can set the STARKNET_RPC\n" "environment variable to make command invocations easier:" -msgstr "" +msgstr "En este tutorial, usaremos Alchemy. Podemos configurar la variable de entorno STARKNET_RPC para facilitar las invocaciones de comandos:" #: 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 "" +"```bash\n" +" export STARKNET_RPC=\"https://starknet-goerli.g.alchemy.com/v2/\"\n" +"```" #: src/ch02-02-compile-deploy-interact.md:360 msgid "### Declaring Your Contract" -msgstr "" +msgstr "### Declarando su Contrato" #: src/ch02-02-compile-deploy-interact.md:362 msgid "" "Run this command to declare your contract using the default Starknet\n" "Sequencer’s Gateway:" -msgstr "" +msgstr "Ejecute este comando para declarar su contrato utilizando la puerta de enlace predeterminada del secuenciador Starknet:" #: src/ch02-02-compile-deploy-interact.md:365 msgid "" @@ -2024,13 +2574,16 @@ msgid "" " starkli declare target/dev/contracts_Ownable.sierra.json\n" "```" msgstr "" +"```bash\n" +" starkli declare target/dev/contracts_Ownable.sierra.json\n" +"```" #: src/ch02-02-compile-deploy-interact.md:369 msgid "" "According to the `STARKNET_RPC` url, starkli can recognize the target\n" "blockchain network, in this case \"goerli\", so it is not necessary\n" "explicitly specify it." -msgstr "" +msgstr "Según la URL `STARKNET_RPC`, starkli puede reconocer la red blockchain de destino, en este caso \"goerli\", por lo que no es necesario especificarla explícitamente." #: src/ch02-02-compile-deploy-interact.md:373 msgid "" @@ -2038,6 +2591,8 @@ msgid "" "Starkli to detect the right compiler version, you shouldn’t need to\n" "manually choose a version with `--network` and `--compiler-version`." msgstr "" +"A menos que esté trabajando con redes personalizadas donde a Starkli no le resulta factible detectar la versión correcta del compilador, no debería necesitar elegir " +"manualmente una versión con `--network` y `--compiler-version`." #: src/ch02-02-compile-deploy-interact.md:377 msgid "" @@ -2047,6 +2602,8 @@ msgid "" "versions accepted by mainnet, even if Scarb’s latest version is not yet\n" "compatible." msgstr "" +"Si encuentra un \"Error: Invalid contract class\", probablemente significa que la versión del compilador de Scarb no es compatible con Starkli. Siga los pasos anteriores " +"para alinear las versiones. Starkli generalmente admite versiones de compiladores aceptadas por la red principal, incluso si la última versión de Scarb aún no es compatible." #: src/ch02-02-compile-deploy-interact.md:383 msgid "" @@ -2054,29 +2611,34 @@ msgid "" "unique hash serves as the identifier for your contract class within\n" "Starknet. For example:" msgstr "" +"Después de ejecutar el comando, recibirá un hash de clase de contrato. Este hash único sirve como identificador de su clase de contrato (contract class) dentro de Starknet. " +"Por ejemplo:" #: src/ch02-02-compile-deploy-interact.md:387 msgid "" "```bash\n" -" Class hash declared: " -"0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8\n" +" Class hash declared: 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8\n" "```" msgstr "" +"```bash\n" +" Class hash declared: 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8\n" +"```" #: src/ch02-02-compile-deploy-interact.md:391 msgid "" "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 "" +"Puede considerar este hash como la dirección de la clase de contrato. Utilice un explorador de bloques como [StarkScan](https://testnet.starkscan.co/" +"class/0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8) para verificar este hash en la cadena de bloques." #: src/ch02-02-compile-deploy-interact.md:396 msgid "" "If the contract class you’re attempting to declare already exists, it is\n" "ok we can continue. You’ll receive a message like:" -msgstr "" +msgstr "Si la contract class que intenta declarar ya existe, está bien, podemos continuar. Recibirás un mensaje como:" #: src/ch02-02-compile-deploy-interact.md:399 msgid "" @@ -2085,10 +2647,14 @@ msgid "" " 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8\n" "```" msgstr "" +"```bash\n" +" Not declaring class as its already declared. Class hash:\n" +" 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8\n" +"```" #: src/ch02-02-compile-deploy-interact.md:404 msgid "## Deploying Smart Contracts on Starknet" -msgstr "" +msgstr "## Implementación de Smart Contracts en Starknet" #: src/ch02-02-compile-deploy-interact.md:406 msgid "" @@ -2096,6 +2662,8 @@ msgid "" "testnet. This process involves executing a command that requires two\n" "main components:" msgstr "" +"Para implementar un contrato inteligente, deberá crear una instancia del mismo en la red de prueba de Starknet. Este proceso implica ejecutar un comando que requiere dos " +"componentes principales:" #: src/ch02-02-compile-deploy-interact.md:410 msgid "" @@ -2103,18 +2671,22 @@ msgid "" "\n" "2. Any constructor arguments that the contract expects." msgstr "" +"1. El class hash de tu contrato inteligente.\n" +"\n" +"2. Cualquier argumento del constructor que el contrato espera." #: src/ch02-02-compile-deploy-interact.md:414 msgid "" "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 "" +"En nuestro ejemplo, el constructor espera una dirección de _owner_. Puede obtener más información sobre los constructores en el \\[Capítulo 12 del Libro de Cairo\\]()." #: src/ch02-02-compile-deploy-interact.md:418 msgid "The command would look like this:" -msgstr "" +msgstr "El comando se vería así:" #: src/ch02-02-compile-deploy-interact.md:420 msgid "" @@ -2124,6 +2696,11 @@ msgid "" " \n" "```" msgstr "" +"```bash\n" +" starkli deploy \\\n" +" \\\n" +" \n" +"```" #: src/ch02-02-compile-deploy-interact.md:426 msgid "" @@ -2131,51 +2708,61 @@ msgid "" "inputs (as the owner address use the address of your smart wallet so you\n" "can invoke the transfer_ownership function later):" msgstr "" +"Aquí hay un ejemplo específico con un class hash real y entradas de constructor (como dirección del owner, use la dirección de su billetera inteligente para poder invocar la " +"función transfer_ownership más adelante):" #: src/ch02-02-compile-deploy-interact.md:430 msgid "" "```bash\n" " starkli deploy \\\n" -" 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8 " -"\\\n" +" 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8 \\\n" " 0x02cdAb749380950e7a7c0deFf5ea8eDD716fEb3a2952aDd4E5659655077B8510\n" "```" msgstr "" +"```bash\n" +" starkli deploy \\\n" +" 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8 \\\n" +" 0x02cdAb749380950e7a7c0deFf5ea8eDD716fEb3a2952aDd4E5659655077B8510\n" +"```" #: src/ch02-02-compile-deploy-interact.md:436 msgid "" "After executing the command and entering your password, you should see\n" "output like the following:" -msgstr "" +msgstr "Después de ejecutar el comando e ingresar su contraseña, debería ver un resultado como el siguiente:" #: src/ch02-02-compile-deploy-interact.md:439 msgid "" "```bash\n" -" Deploying class " -"0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8 with salt " -"0x065034b27a199cbb2a5b97b78a8a6a6c6edd027c7e398b18e5c0e5c0c65246b7...\n" -" The contract will be deployed at address " -"0x02a83c32d4b417d3c22f665acbc10e9a1062033b9ab5b2c3358952541bc6c012\n" -" Contract deployment transaction: " -"0x0743de1e233d38c4f3e9fb13f1794276f7d4bf44af9eac66e22944ad1fa85f14\n" +" Deploying class 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8 with salt 0x065034b27a199cbb2a5b97b78a8a6a6c6edd027c7e398b18e5c0e5c0c65246b7...\n" +" The contract will be deployed at address 0x02a83c32d4b417d3c22f665acbc10e9a1062033b9ab5b2c3358952541bc6c012\n" +" Contract deployment transaction: 0x0743de1e233d38c4f3e9fb13f1794276f7d4bf44af9eac66e22944ad1fa85f14\n" " Contract deployed:\n" " 0x02a83c32d4b417d3c22f665acbc10e9a1062033b9ab5b2c3358952541bc6c012\n" "```" msgstr "" +"```bash\n" +" Deploying class 0x04c70a75f0246e572aa2e1e1ec4fffbe95fa196c60db8d5677a5c3a3b5b6a1a8 with salt 0x065034b27a199cbb2a5b97b78a8a6a6c6edd027c7e398b18e5c0e5c0c65246b7...\n" +" The contract will be deployed at address 0x02a83c32d4b417d3c22f665acbc10e9a1062033b9ab5b2c3358952541bc6c012\n" +" Contract deployment transaction: 0x0743de1e233d38c4f3e9fb13f1794276f7d4bf44af9eac66e22944ad1fa85f14\n" +" Contract deployed:\n" +" 0x02a83c32d4b417d3c22f665acbc10e9a1062033b9ab5b2c3358952541bc6c012\n" +"```" #: src/ch02-02-compile-deploy-interact.md:447 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 "" +"El contrato ya está activo en la red de prueba de Starknet. Puede verificar su estado utilizando un explorador de bloques como [StarkScan](https://testnet.starkscan.co/" +"contract/0x02a83c32d4b417d3c22f665acbc10e9a1062033b9ab5b2c3358952541bc6c012). En la pestaña \"Read/Write Contract\", verá las funciones externas del contrato." #: src/ch02-02-compile-deploy-interact.md:453 msgid "## Interacting with the Starknet Contract" -msgstr "" +msgstr "## Interactuando con el Contrato Starknet" #: src/ch02-02-compile-deploy-interact.md:455 msgid "" @@ -2183,10 +2770,12 @@ msgid "" "methods: `call` for read-only functions and `invoke` for write functions\n" "that modify the state." msgstr "" +"Starkli permite la interacción con contratos inteligentes a través de dos métodos principales: `call` para funciones de solo lectura e invoke`para funciones de escritura " +"que modifican el estado." #: src/ch02-02-compile-deploy-interact.md:459 msgid "### Calling a Read Function" -msgstr "" +msgstr "### Llamar a una Función de Lectura" #: src/ch02-02-compile-deploy-interact.md:461 msgid "" @@ -2195,9 +2784,10 @@ msgid "" "owner of the contract is, you can use the `get_owner` function, which\n" "requires no arguments." msgstr "" +"El comando `call` le permite consultar una función de contrato inteligente sin enviar una transacción. Por ejemplo, para saber quién es el propietario actual del contrato, " +"puede utilizar la función `get_owner`, que no requiere argumentos." -#: 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" @@ -2205,6 +2795,11 @@ msgid "" " get_owner\n" "```" msgstr "" +"```bash\n" +" starkli call \\\n" +" \\\n" +" get_owner\n" +"```" #: src/ch02-02-compile-deploy-interact.md:472 msgid "" @@ -2212,6 +2807,8 @@ msgid "" "command will return the owner’s address, which was initially set during\n" "the contract’s deployment:" msgstr "" +"Reemplace `` con la dirección de su contrato. El comando devolverá la dirección del owner, que se estableció inicialmente durante la implementación del " +"contrato:" #: src/ch02-02-compile-deploy-interact.md:476 msgid "" @@ -2221,17 +2818,22 @@ msgid "" " ]\n" "```" msgstr "" +"```bash\n" +" [\n" +" \"0x02cdab749380950e7a7c0deff5ea8edd716feb3a2952add4e5659655077b8510\"\n" +" ]\n" +"```" #: src/ch02-02-compile-deploy-interact.md:482 msgid "## Invoking a Write Function" -msgstr "" +msgstr "## Invocar una Función de Escritura" #: src/ch02-02-compile-deploy-interact.md:484 msgid "" "You can modify the contract’s state using the `invoke` command. For\n" "example, let’s transfer the contract’s ownership with the\n" "`transfer_ownership` function." -msgstr "" +msgstr "Puede modificar el estado del contrato utilizando el comando`invoke`. Por ejemplo, transfiramos la propiedad del contrato con la función `transfer_ownership`." #: src/ch02-02-compile-deploy-interact.md:488 msgid "" @@ -2242,6 +2844,12 @@ msgid "" " \n" "```" msgstr "" +"```bash\n" +" starkli invoke \\\n" +" \\\n" +" transfer_ownership \\\n" +" \n" +"```" #: src/ch02-02-compile-deploy-interact.md:495 msgid "" @@ -2251,20 +2859,24 @@ msgid "" "error will appear. Note that the initial owner was set when deploying\n" "the contract:" msgstr "" +"Reemplace `` con la dirección del contrato y `` con la dirección a la que desea transferir la propiedad. Si la billetera inteligente que " +"está utilizando no es la propietaria del contrato, aparecerá un error. Tenga en cuenta que el propietario inicial se estableció al implementar el contrato:" #: 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 "" +"```bash\n" +" Execution was reverted; failure reason: [0x43616c6c6572206973206e6f7420746865206f776e6572].\n" +"```" #: src/ch02-02-compile-deploy-interact.md:505 msgid "" "The failure reason is encoded as a felt. o decode it, use the starkli’s\n" "`parse-cairo-string` command." -msgstr "" +msgstr "El motivo del fracaso está codificado como un sentimiento. Para decodificarlo, use el comando `parse-cairo-string` de starkli." #: src/ch02-02-compile-deploy-interact.md:508 msgid "" @@ -2272,13 +2884,16 @@ msgid "" " starkli parse-cairo-string \n" "```" msgstr "" +"```bash\n" +" starkli parse-cairo-string \n" +"```" #: src/ch02-02-compile-deploy-interact.md:512 msgid "" "For example, if you see\n" "`0x43616c6c6572206973206e6f7420746865206f776e6572`, decoding it will\n" "yield \"Caller is not the owner.\"" -msgstr "" +msgstr "Por ejemplo, si ve `0x43616c6c6572206973206e6f7420746865206f776e6572`, al decodificarlo se obtendrá \"Caller is not the owner.\"" #: src/ch02-02-compile-deploy-interact.md:516 msgid "" @@ -2286,28 +2901,30 @@ msgid "" "StarkScan or Voyager to confirm the transaction status using the hash\n" "provided by the `invoke` command." msgstr "" +"Después de una transacción exitosa en L2, use un explorador de bloques como StarkScan o Voyager para confirmar el estado de la transacción usando el hash proporcionado por " +"el comando`invoke`." #: src/ch02-02-compile-deploy-interact.md:520 msgid "" "To verify that the ownership has successfully transferred, you can call\n" "the `get_owner` function again:" -msgstr "" +msgstr "Para verificar que la propiedad se haya transferido exitosamente, puedes volver a llamar a la función `get_owner`:" #: src/ch02-02-compile-deploy-interact.md:529 msgid "" "If the function returns the new owner’s address, the transfer was\n" "successful." -msgstr "" +msgstr "Si la función devuelve la dirección del nuevo propietario, la transferencia fue exitosa." #: src/ch02-02-compile-deploy-interact.md:532 msgid "" "Congratulations! You’ve successfully deployed and interacted with a\n" "Starknet contract." -msgstr "" +msgstr "¡Felicidades! Ha implementado e interactuado con éxito con un contrato Starknet." #: src/ch02-03-scarb.md:1 msgid "# Scarb: The Package Manager" -msgstr "" +msgstr "# Scarb: El Administrador de Paquetes" #: src/ch02-03-scarb.md:12 msgid "" @@ -2316,14 +2933,16 @@ msgid "" "with tools like Foundry. It is built by the same team that created\n" "Foundry for Starknet." msgstr "" +"Scarb es el administrador de paquetes de Cairo diseñado para proyectos de Cairo y Starknet. Maneja dependencias, compila proyectos y se integra con herramientas como " +"Foundry. Está construido por el mismo equipo que creó Foundry para Starknet." #: src/ch02-03-scarb.md:17 msgid "# Scarb Workflow" -msgstr "" +msgstr "# Scarb Workflow" #: src/ch02-03-scarb.md:19 msgid "Follow these steps to develop a Starknet contract using Scarb:" -msgstr "" +msgstr "Siga estos pasos para desarrollar un contrato Starknet usando Scarb:" #: src/ch02-03-scarb.md:21 msgid "" @@ -2337,32 +2956,40 @@ msgid "" "4. **Compile:** Execute `scarb build` to convert your contract into\n" " Sierra code." msgstr "" +"1. **Inicializar:** Utilice `scarb new` para configurar un nuevo proyecto, generando un archivo `Scarb.toml` y un `src/lib.cairo` inicial.\n" +"\n" +"2. **Código:** Agregue su código de Cairo en el directorio `src`.\n" +"\n" +"3. **Dependencias:** Agregue bibliotecas externas usando `scarb add`.\n" +"\n" +"4. **Compilar:** Ejecute `scarb build` para convertir su contrato en código Sierra." #: src/ch02-03-scarb.md:31 msgid "" "Scarb simplifies your development workflow, making it efficient and\n" "streamlined." -msgstr "" +msgstr "Scarb simplifica su flujo de trabajo de desarrollo, haciéndolo eficiente y optimizado." #: src/ch02-03-scarb.md:36 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 "" +"Scarb es multiplataforma y admite macOS, Linux y Windows. Para la instalación, consulte la [guía de configuración del Capítulo 1] (https://book.starknet.io/chapter_1/" +"environment_setup.html#the_scarb_package_manager_installation)." #: src/ch02-03-scarb.md:40 msgid "# Cairo Project Structure" -msgstr "" +msgstr "# Estructura del Proyecto de Cairo" #: src/ch02-03-scarb.md:42 msgid "Next, we’ll dive into the key components that make up a Cairo project." -msgstr "" +msgstr "A continuación, profundizaremos en los componentes clave que conforman un proyecto de Cairo." #: src/ch02-03-scarb.md:44 msgid "## Cairo Packages" -msgstr "" +msgstr "## Paquetes en Cairo" #: src/ch02-03-scarb.md:46 msgid "" @@ -2370,6 +2997,7 @@ msgid "" "building blocks of a Cairo project. Each package must follow several\n" "rules:" msgstr "" +"Los paquetes de Cairo, también denominados \"crates\" en algunos contextos, son los componentes básicos de un proyecto de Cairo. Cada paquete debe seguir varias reglas:" #: src/ch02-03-scarb.md:50 msgid "" @@ -2380,6 +3008,9 @@ msgid "" " the package tree. It allows you to define functions and declare used\n" " modules." msgstr "" +"- Un paquete debe incluir un archivo `Scarb.toml`, que es el archivo de manifiesto de Scarb. Contiene las dependencias de su paquete.\n" +"\n" +"- Un paquete debe incluir un archivo `src/lib.cairo`, que es la raíz del árbol de paquetes. Le permite definir funciones y declarar módulos usados." #: src/ch02-03-scarb.md:57 msgid "" @@ -2388,6 +3019,8 @@ msgid "" "`lib.cairo` file inside, a `snips` directory which in itself a package\n" "we can use, and a `Scarb.toml` file in the top-level directory." msgstr "" +"Las estructuras de los paquetes podrían parecerse al siguiente caso donde tenemos un paquete llamado `my_package`, que incluye un directorio `src` con el archivo `lib.cairo` " +"dentro, un directorio `snips` que en sí mismo es un paquete que podemos usar, y un archivo `Scarb.toml` en el directorio de nivel superior." #: src/ch02-03-scarb.md:62 msgid "" @@ -2402,10 +3035,20 @@ msgid "" " │ ├── Scarb.toml\n" " └── Scarb.toml" msgstr "" +"my_package/\n" +" ├── src/\n" +" │ ├── module1.cairo\n" +" │ ├── module2.cairo\n" +" │ └── lib.cairo\n" +" ├── snips/\n" +" │ ├── src/\n" +" │ │ ├── lib.cairo\n" +" │ ├── Scarb.toml\n" +" └── Scarb.toml" #: src/ch02-03-scarb.md:73 msgid "Within the `Scarb.toml` file, you might have:" -msgstr "" +msgstr "Dentro del archivo `Scarb.toml`, es posible que tengas:" #: src/ch02-03-scarb.md:75 msgid "" @@ -2417,6 +3060,13 @@ msgid "" " starknet = \">=2.0.1\"\n" " snips = { path = \"snips\" }" msgstr "" +"[package]\n" +" name = \"my_package\"\n" +" version = \"0.1.0\"\n" +"\n" +" [dependencies]\n" +" starknet = \">=2.0.1\"\n" +" snips = { path = \"snips\" }" #: src/ch02-03-scarb.md:83 msgid "" @@ -2425,20 +3075,22 @@ msgid "" "download it), while the `snips` dependency is located in the `snips`\n" "directory." msgstr "" +"Aquí starknet y snips son las dependencias del paquete. La dependencia `starknet` está alojada en el registro Scarb (no necesitamos descárgarlo), mientras que la dependencia " +"`snips` se encuentra en el directorio `snips`." #: src/ch02-03-scarb.md:88 msgid "# Setting Up a Project with Scarb" -msgstr "" +msgstr "# Configurar un Proyecto con Scarb" #: src/ch02-03-scarb.md:90 msgid "" "To create a new project using Scarb, navigate to your desired project\n" "directory and execute the following command:" -msgstr "" +msgstr "Para crear un nuevo proyecto usando Scarb, navegue hasta el directorio del proyecto que desee y ejecute el siguiente comando:" #: src/ch02-03-scarb.md:93 msgid "$ scarb new hello_scarb" -msgstr "" +msgstr "$ scarb new hello_scarb" #: src/ch02-03-scarb.md:95 msgid "" @@ -2446,6 +3098,8 @@ msgid "" "including a `Scarb.toml` file, a `src` directory with a `lib.cairo` file\n" "inside, and initialize a new Git repository with a `.gitignore` file." msgstr "" +"Este comando creará un nuevo directorio de proyecto llamado `hello_scarb`, que incluye un archivo `Scarb.toml`, un directorio `src` con un archivo `lib.cairo` dentro e " +"inicializará un nuevo repositorio Git con un archivo `.gitignore` ." #: src/ch02-03-scarb.md:99 msgid "" @@ -2454,12 +3108,16 @@ msgid "" " │ └── lib.cairo\n" " └── Scarb.toml" msgstr "" +"hello_scarb/\n" +" ├── src/\n" +" │ └── lib.cairo\n" +" └── Scarb.toml" #: src/ch02-03-scarb.md:104 msgid "" "Upon opening `Scarb.toml` in a text editor, you should see something\n" "similar to the code snippet below:" -msgstr "" +msgstr "Al abrir `Scarb.toml` en un editor de texto, debería ver algo similar al fragmento de código a continuación:" #: src/ch02-03-scarb.md:107 msgid "" @@ -2467,31 +3125,39 @@ 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 "" +"[package]\n" +" 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" +" [dependencies]\n" +" # foo = { path = \"vendor/foo\" }" #: src/ch02-03-scarb.md:115 msgid "# Building a Scarb Project" -msgstr "" +msgstr "# Construyendo un Proyecto Scarb" #: src/ch02-03-scarb.md:117 msgid "Clear all content in `src/lib.cairo` and replace with the following:" -msgstr "" +msgstr "Borre todo el contenido en `src/lib.cairo` y reemplácelo con lo siguiente:" #: src/ch02-03-scarb.md:119 msgid "" "// src/lib.cairo\n" " mod hello_scarb;" msgstr "" +"// src/lib.cairo\n" +" mod hello_scarb;" #: src/ch02-03-scarb.md:122 msgid "" "Next, create a new file titled `src/hello_scarb.cairo` and add the\n" "following:" -msgstr "" +msgstr "A continuación, cree un nuevo archivo titulado `src/hello_scarb.cairo` y agregue lo siguiente:" #: src/ch02-03-scarb.md:125 msgid "" @@ -2501,6 +3167,11 @@ msgid "" " 'Hello, Scarb!'.print();\n" " }" msgstr "" +"// src/hello_scarb.cairo\n" +" use debug::PrintTrait;\n" +" fn main() {\n" +" 'Hello, Scarb!'.print();\n" +" }" #: src/ch02-03-scarb.md:131 msgid "" @@ -2510,22 +3181,25 @@ msgid "" "file, please refer to the subchapter on [imports in Chapter\n" "2](https://book.starknet.io/chapter_2/imports.html)." msgstr "" +"En este caso, el archivo `lib.cairo` contiene una declaración de módulo que hace referencia a _hello_scarb_, que incluye la implementación del archivo _hello_scarb.cairo_. " +"Para obtener más información sobre módulos, importaciones y el archivo `lib.cairo`, consulte el subcapítulo sobre [importaciones en el Capítulo 2] (https://book.starknet.io/" +"chapter_2/imports.html)." #: src/ch02-03-scarb.md:137 msgid "" "Scarb mandates that your source files be located within the `src`\n" "directory." -msgstr "" +msgstr "Scarb exige que sus archivos fuente estén ubicados dentro del directorio `src`." #: src/ch02-03-scarb.md:140 msgid "" "To build (compile) your project from your `hello_scarb` directory, use\n" "the following command:" -msgstr "" +msgstr "Para construir (compilar) su proyecto desde su directorio `hello_scarb`, use el siguiente comando:" #: src/ch02-03-scarb.md:143 msgid "scarb build" -msgstr "" +msgstr "scarb build" #: src/ch02-03-scarb.md:145 msgid "" @@ -2533,29 +3207,31 @@ 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 "" +"Este comando compila su proyecto y produce el código Sierra en el archivo `target/dev/hello_scarb.sierra`. Sierra sirve como capa intermedia entre el Cairo de alto nivel y " +"los objetivos de compilación como Cairo Assembly (CASM). Para comprender más sobre Sierra, consulte este [artículo](https://medium.com/nethermind-eth/under-the-hood-of-" +"cairo-1-0-exploring-sierra-7f32808421f5/)." #: src/ch02-03-scarb.md:151 msgid "" "To remove the build artifacts and delete the target directory, use the\n" "`scarb clean` command." -msgstr "" +msgstr "Para eliminar los artefactos de compilación y eliminar el directorio de destino, use el comando `scarb clean`." #: src/ch02-03-scarb.md:154 msgid "## Adding Dependencies" -msgstr "" +msgstr "## Agregar Dependencias" #: src/ch02-03-scarb.md:156 msgid "" "Scarb facilitates the seamless management of dependencies for your Cairo\n" "packages. Here are two methods to add dependencies to your project:" -msgstr "" +msgstr "Scarb facilita la gestión perfecta de las dependencias de sus paquetes de Cairo. Aquí hay dos métodos para agregar dependencias a su proyecto:" #: src/ch02-03-scarb.md:159 msgid "- Edit Scarb.toml File" -msgstr "" +msgstr "- Editar Scarb.toml File" #: src/ch02-03-scarb.md:161 msgid "" @@ -2563,73 +3239,75 @@ msgid "" "`[dependencies]` section. If it doesn’t exist, add it. To include a\n" "dependency hosted on a Git repository, use the following format:" msgstr "" +"Abra el archivo Scarb.toml en el directorio de su proyecto y busque la sección `[dependencies]`. Si no existe, agréguelo. Para incluir una dependencia alojada en un " +"repositorio Git, utilice el siguiente formato:" #: 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 "" +"[dependencies]\n" +" alexandria_math = { git = \"https://github.com/keep-starknet-strange/alexandria.git\" }" #: src/ch02-03-scarb.md:168 msgid "" "For consistency, it’s recommended to pin Git dependencies to specific\n" "commits. This can be done by adding the `rev` field with the commit\n" "hash:" -msgstr "" +msgstr "Para mantener la coherencia, se recomienda fijar las dependencias de Git a confirmaciones específicas. Esto se puede hacer agregando el campo `rev` con el commit hash:" #: 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 "" +"[dependencies]\n" +" alexandria_math = { git = \"https://github.com/keep-starknet-strange/alexandria.git\", rev = \"81bb93c\" }" #: src/ch02-03-scarb.md:175 msgid "After adding the dependency, remember to save the file." -msgstr "" +msgstr "Después de agregar la dependencia, recuerde guardar el archivo." #: src/ch02-03-scarb.md:177 msgid "- Use the scarb add Command" -msgstr "" +msgstr "- Utilice el comando scarb add" #: src/ch02-03-scarb.md:179 msgid "" "Alternatively, you can use the `scarb add` command to add dependencies\n" "to your project. Open your terminal and execute the following command:" -msgstr "" +msgstr "Alternativamente, puedes usar el comando `scarb add` para agregar dependencias a tu proyecto. Abre tu terminal y ejecuta el siguiente comando:" #: src/ch02-03-scarb.md:182 -msgid "" -"$ scarb add alexandria_math --git https://github.com/keep-starknet-strange/" -"alexandria.git" -msgstr "" +msgid "$ scarb add alexandria_math --git https://github.com/keep-starknet-strange/alexandria.git" +msgstr "$ scarb add alexandria_math --git https://github.com/keep-starknet-strange/alexandria.git" #: src/ch02-03-scarb.md:184 msgid "" "This command will add the alexandria_math dependency from the specified\n" "Git repository to your project." -msgstr "" +msgstr "Este comando agregará la dependencia alexandria_math del repositorio Git especificado a su proyecto." #: src/ch02-03-scarb.md:187 msgid "To remove a dependency, you can use the `scarb rm` command." -msgstr "" +msgstr "Para eliminar una dependencia, puede utilizar el comando `scarb rm`." #: src/ch02-03-scarb.md:189 msgid "" "Once a dependency is added, the Scarb.toml file will be automatically\n" "updated with the new dependency information." -msgstr "" +msgstr "Una vez que se agrega una dependencia, el archivo Scarb.toml se actualizará automáticamente con la nueva información de dependencia." #: src/ch02-03-scarb.md:192 msgid "## Using Dependencies in Your Code" -msgstr "" +msgstr "## Usando Dependencias en su Código" #: src/ch02-03-scarb.md:194 msgid "" "After dependencies are added to your project, you can start utilizing\n" "them in your Cairo code." -msgstr "" +msgstr "Después de agregar dependencias a su proyecto, puede comenzar a utilizarlas en su código de Cairo." #: src/ch02-03-scarb.md:197 msgid "" @@ -2637,6 +3315,8 @@ msgid "" "dependency. Now, you can import and utilize functions from the\n" "alexandria_math library in your `src/hello_scarb.cairo` file:" msgstr "" +"Por ejemplo, supongamos que ha agregado la dependencia alexandria_math. Ahora, puedes importar y utilizar funciones de la biblioteca alexandria_math en tu archivo `src/" +"hello_scarb.cairo`:" #: src/ch02-03-scarb.md:201 msgid "" @@ -2647,22 +3327,28 @@ msgid "" " fibonacci::fib(0, 1, 10)\n" " }" msgstr "" +"// src/hello_scarb.cairo\n" +" use alexandria_math::fibonacci;\n" +"\n" +" fn main() -> felt252 {\n" +" fibonacci::fib(0, 1, 10)\n" +" }" #: 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." -msgstr "" +msgstr "En el ejemplo anterior, importamos la función Fibonacci de la biblioteca alexandria_math y la utilizamos en la función principal." #: src/ch02-03-scarb.md:211 msgid "# Scarb Cheat Sheet" -msgstr "" +msgstr "# Scarb Cheat Sheet" #: src/ch02-03-scarb.md:213 msgid "" "Here’s a quick cheat sheet of some of the most commonly used Scarb\n" "commands:" -msgstr "" +msgstr "Aquí hay una hoja de referencia rápida de algunos de los comandos Scarb más utilizados:" #: src/ch02-03-scarb.md:216 msgid "" @@ -2679,6 +3365,15 @@ msgid "" "- `scarb run