-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #630 from kernel-community/r2d
Clear, clean, maintain
- Loading branch information
Showing
12 changed files
with
230 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
--- | ||
header: true | ||
headerOrder: 0 | ||
title: 开始 | ||
description: 在此启程,建设更好的网络 | ||
featuredImage: images/shares/giving.png | ||
--- | ||
|
||
# 🌱 欢迎来到 Kernel | ||
|
||
Kernel 是一个同伴/点对点学习社区,旨在更好地探索真相:在工作、我们与他人联系、以及我们的内心世界中。 | ||
|
||
> 💡 发现他人,享受乐趣,自由学习,并获得资助。 | ||
我们的问题是:**如何为所关心的人构建更好的网络**? | ||
|
||
你的问题也许是:**我应该怎样参与进来,从而尊重自己的天赋与真实的内心?** | ||
|
||
我们的答案:埋下一颗教育性社区的种子,在那里,人们通过亲身体验来**建立信任**, 通过共同学习以用心创造。 | ||
|
||
## 但,Kernel 是什么? | ||
|
||
Kernel 是在由 250 个很棒的人组成的“区块”中的、为期 8 周的对话,它致力于连接创造力与关怀。我们想要改变人们对”做贡献“的理解,以及我们所做贡献的项目。Kernel 关于谦卑、诚实、感激和有意向(intentional)的服务。 | ||
|
||
<Process> | ||
|
||
我们谦卑;因为通过我们的好奇心,我们的创造力,我们的苦痛,我们的欢乐——我们得知且亲身展示了每一个孤立个体所能了解的多么少。 | ||
|
||
我们诚实;因为这是最勇敢的生活方式;是让头脑直达心灵,且在两者间建立永恒连接的最简单的路。 | ||
|
||
我们感激,因为别无选择。任何经过审视过的生活总会带来超越理性所能衡量的感激之情。 | ||
|
||
我们的目的是去劳作(serve),因为它——一次又一次——带我们回归谦卑。 | ||
|
||
我们耐心,因为埋下种子还不够:只有在对的季节,核(Kernel)才会破土而出,长成森林。 | ||
|
||
</Process> | ||
|
||
## ✨ 转变,而非信息 | ||
|
||
Kernel 不会用信息淹没你,而是通过与同伴的反复互动,来逐步构建更好的网络所需的内在和外在模式。这些模式包括谦卑的决断、细致的洞察、同情式的批评、理性的互惠、以及其它涵盖人类意识全部光谱的、互补的二元对立。 | ||
|
||
花时间逐一浏览每个模块。放下手中的事,呼吸,专注一个小时;明天或下周,当你有空做同样的事时,再回来。第一次,我们书写人类历史的工具是基本共享并基于共识的。此刻去暂停、反思、并将注意力转向那些会培养我们——所有的和每一个我们——共同生活的能力的激励类型。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
order: 1 | ||
title: Siendo más lista que los contratos | ||
hideLanguageSelector: false | ||
featuredImage: images/shares/giving.png | ||
--- | ||
|
||
# Siendo más lista que los contratos | ||
|
||
Realizaremos un curso de contratos inteligentes creado por OpenZeppelin, el equipo responsable de escribir las bibliotecas de contratos inteligentes más utilizadas y confiables, y también una de las firmas de auditoría y seguridad más respetadas en web3. | ||
|
||
Habrá cuatro lecciones y cada una durará aproximadamente 2 horas, ya que la intención es tener mucho espacio para exploraciones compartidas, preguntas y un enfoque tranquilo para aprender sobre un mundo nuevo. | ||
|
||
Este gremio está destinado principalmente a personas que nunca antes han visto un "smart contract" (contrato inteligente). No te convertirás en un súper programador, pero aprenderás cómo funcionan realmente redes como Ethereum y descubrirás muchos de los aspectos más sutiles que a menudo se pasan por alto en los artículos de los medios simplistas sobre el "futuro del dinero" o cualquier otro título que llame la atención y que funcione mejor en la pruebas A/B de ese día. | ||
|
||
Como siempre en Kernel, el contenido es secundario a la conversación que mantenemos en torno a él. Ya existen numerosas respuestas completas para cada uno de los acertijos de Ethernaut que puedes encontrar simplemente buscándolas en Google. Sin embargo, lo que no encontrarás en ningún otro lugar es la profundidad de la reflexión y la cuidadosa comprensión que esperamos cultivar juntos en este gremio. |
52 changes: 52 additions & 0 deletions
52
content/es/build/outsmarting-contracts/lifting-the-veil.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
--- | ||
title: Levantando el velo | ||
order: 1 | ||
hideLanguageSelector: false | ||
featuredImage: images/shares/learn.png | ||
--- | ||
|
||
# Levantando el velo | ||
|
||
## Porqué | ||
|
||
A menudo puede parecer que las personas que escriben "smart contracts" (contratos inteligentes) son una raza extraña de súper codificadores sombríos que no se parecen en nada a mi. Puedo entender que Ethereum es esta "máquina mundial", y que cualquiera puede implementar un contrato inteligente sin permiso, y que todo está conectado de una manera que parece emocionar a los nerds, pero la brecha entre "ellos" y yo parece tan grande. Me pone ansioso y no me gusta sentirme ansioso o inepto. | ||
|
||
Entonces, vamos a cometer un montón de errores juntos. Estaremos frustrados y confundidos juntos. Querremos lanzar algo juntos a nuestras pantallas. Y luego, cuando superemos esto juntos, de repente te darás cuenta de que no existen "ellos" y que cada "desarrollador" es simplemente una persona común y corriente que pasa la mayor parte de su tiempo preguntándose qué diablos está pasando con su computadora. Los buenos desarrolladores son simplemente aquellos que tienen sentido del humor y cierto tipo de valor y determinación. También saben cómo hacer preguntas claras que los lleven al código que más necesitan copiar y pegar en su propio trabajo. | ||
|
||
## Preparación | ||
|
||
1. Instala [MetaMask](https://metamask.io) y crea una cuenta Ethereum. | ||
2. Cambie su red (en la parte superior de la ventana emergente del navegador) a Sepolia Test Network. | ||
3. Regístrese en Alchemy para obtener Sepolia ETH. | ||
4. Comprueba que tienes una versión actualizada de Chrome, Firefox o Brave. | ||
|
||
NOTA: En el momento en que se grabaron los videos de este gremio, se estaba utilizando Rinkeby Testnet. Esa red de prueba ahora ha [quedado obsoleta](https://www.alchemy.com/overviews/rinkeby-testnet) por la Fundación Ethereum. Siempre que se mencione 'Rinkeby Testnet' o 'Rinkeby ETH' en las grabaciones, simplemente traduce esto en tu mente como 'Sepolia Testnet' o 'Sepolia ETH'. | ||
|
||
## Aplicación | ||
|
||
En esta primera lección, enfrentaremos 3 desafíos de Ethernaut: Fallback, Fallout y Token. Para hacer eso, primero necesitaremos cubrir algunos conceptos básicos. | ||
|
||
1. ¿Qué es una consola web? | ||
2. ¿Cómo funciona MetaMask? | ||
3. ¿Cómo se conecta una página web a Ethereum? | ||
4. ¿Dónde está Ethereum? (y preguntas asociadas: ¿Quién soy yo? ¿Qué es la vida? ¿Por qué todo esto?) | ||
5. Un breve destello de javascript, promesas, objetos y otras delicias. | ||
6. Los desafíos reales enumerados anteriormente. | ||
|
||
## Resumen | ||
|
||
En esta sesión habrás aprendido: | ||
|
||
1. Cómo levantar el velo de tu navegador y observar su mecánica interna a través de la consola web. | ||
2. Cómo emitir instrucciones, es decir, cómo puedes codificar, directamente desde tu consola sin tener que configurar ningún software extraño del que un desarrollador extraño te habló una vez. | ||
3. Qué es y qué hace MetaMask y un “proveedor web3 inyectado”. | ||
4. Cómo se ve un contrato inteligente. | ||
5. Cómo interactuar con contratos inteligentes desde la comodidad de tu hogar. | ||
6. Algunas de las formas básicas en que se puede manipular un contrato inteligente y por qué. | ||
7. Algunas de las formas básicas en que un contrato inteligente puede manipularte y por qué. | ||
|
||
## Grabación | ||
|
||
<Video src="https://www.youtube-nocookie.com/embed/3f9mu_6LRD8?start=21" /> | ||
|
||
![Flammarion Engraving](/images/build/flammarion_engraving.jpg) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
--- | ||
title: Orden aleatorio | ||
order: 2 | ||
hideLanguageSelector: true | ||
featuredImage: images/shares/learn.png | ||
--- | ||
|
||
# Orden aleatorio | ||
|
||
## Porqué | ||
|
||
Vamos a aprender cómo atacar los smart contracts con otros smart contracts, porque esta es la práctica activa de [opuestos complementarios](/learn/module-0/play-of-pattern). Al comprender las diferentes vulnerabilidades que se han explotado a lo largo del tiempo, podemos aprender cómo funcionan realmente los "smart" contracts y cómo emplear mejores patrones de pensamiento que mejorarán nuestro oficio. | ||
|
||
Al tomar conciencia de nuestras limitaciones y debilidades, nos volvemos más fuertes y resilientes. Al mirar en las sombras, tenemos la certeza de que hay luz. | ||
|
||
## Preparación | ||
|
||
1. Asegúrate de que todavía te queda algo de Sepolia ETH en su cuenta. Utiliza el [grifo](https://www.alchemy.com/faucets/ethereum-sepolia) si necesitas recargar. | ||
2. Si te sientes muy motivado, familiarízate con los entornos de desarrollo integrados (IDE) y [Remix] (https://remix.ethereum.org/). | ||
3. Siéntate y respira tranquilamente durante al menos 10 minutos. | ||
|
||
## Aplicación | ||
|
||
En esta lección, afrontaremos los próximos 2 desafíos de Ethernaut: CoinFlip y Teléfono. Esto requiere escribir nuestros propios contratos y aprender a compilarlos y desplegarlos, para lo cual utilizaremos el IDE proporcionado por la Fundación Ethereum, llamado Remix. | ||
|
||
1. ¿Qué es un IDE y para qué sirve en esta vida? | ||
2. ¿Cómo puedo leer y comprender lo que sucede en un contrato inteligente? | ||
3. ¿Qué son las variables globales y qué tan global es global? | ||
4. ¿De dónde se originan realmente mis transacciones? | ||
5. ¿Qué significa redactar un contrato? ¿Qué es una ABI y qué es el código de bytes? | ||
6. Espera, ¿quieres decir que todos estos contratos realmente pueden comunicarse entre sí? | ||
|
||
## Resumen | ||
|
||
En esta sesión habrás aprendido: | ||
|
||
1. Cómo leer Solidity con más detalle, junto con algunos de los matices que tiene. | ||
2. Cómo implementar tus propios contratos directamente desde el navegador. | ||
3. Cómo programar contratos para interactuar con otros contratos. | ||
4. Qué difícil es programar la aleatoriedad y cómo una única superficie informática global compartida hace que esto sea aún más desafiante. | ||
5. Por qué todo el mundo tiene acceso a la misma información al mismo tiempo es algo muy interesante, pero también un contexto muy desafiante para programar. | ||
6. Cómo incluso un código muy simple puede tener consecuencias no deseadas si no eres cuidadoso y considerado acerca de cómo abordas tu oficio. | ||
|
||
## Grabación | ||
|
||
<Video src="https://www.youtube-nocookie.com/embed/xoibbA73050" /> | ||
|
||
<Aligner center> | ||
|
||
<Image alt="Rule 30" src="/images/build/rule_30.png" /> | ||
|
||
</Aligner> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
--- | ||
title: La verdadera tienda | ||
order: 3 | ||
hideLanguageSelector: false | ||
featuredImage: images/shares/learn.png | ||
--- | ||
|
||
# La verdadera tienda | ||
|
||
## Porqué | ||
|
||
Levantamos el velo frente a nuestro navegador, besamos contratos inteligentes desde la consola e incluso implementamos nuestros propios votos especiales, porque todo está interconectado. Ahora es el momento de ver por qué ni siquiera la muerte puede separarnos. ¿Es realmente cierto que un contrato inteligente es para siempre? ¿Cómo funciona realmente su almacenamiento? ¿Qué significa delegar el acceso a esta tienda permanente? ¿Existe una variable "privada" en una red pública como Ethereum? | ||
|
||
Todo esto y más nos espera a medida que continuamos nuestro viaje hacia la verdad compartida. | ||
|
||
## Preparación | ||
|
||
1. Asegúrate de que todavía te quede algo de Sepolia ETH en tu cuenta. | ||
2. Revisa Remix y el trabajo que hicimos allí la semana pasada. Sólo lo usaremos una vez, al final de nuestra sesión de hoy, pero aun así vale la pena familiarizarse con él. | ||
3. Siéntate y respira tranquilamente durante al menos 15 minutos. | ||
|
||
## Aplicación | ||
|
||
Vamos a investigar el almacenamiento en Ethereum completando dos desafíos de Ethernaut: Delegation y Vault. Esto nos llevará a una mirada de nivel mucho más bajo a algunas de las operaciones de la máquina virtual Ethereum y las diferentes "ranuras" asociadas con cada contrato. Incluso podemos intentar separar la voluntad de los intentos. Si el tiempo lo permite, también atacaremos Privacy. | ||
|
||
Después de usar algunos métodos web3 nuevos y divertidos para investigar qué esconde cada contrato, finalizaremos la sesión con otro contrato propio para atacar la Vault como kamikazes, además de discutir sobre compiladores y compañeros. | ||
|
||
## Resumen | ||
|
||
En esta sesión habrás aprendido: | ||
|
||
1. Cómo funcionan las llamadas de bajo nivel en el EVM y las cosas extrañas y maravillosas, aunque peligrosas, para las que se pueden utilizar. | ||
2. Cómo se almacena la información en los contratos inteligentes y, por tanto, en Ethereum en su conjunto. | ||
3. Qué hace que la información sea pública y permanente. | ||
4. Más información sobre los métodos API de web3 y cómo utilizarlos para crear tipos específicos de transacciones, directamente desde tu navegador. | ||
5. Qué hacen los compiladores y cómo utilizar sus diferentes versiones. | ||
|
||
## Grabación | ||
|
||
<Video src="https://www.youtube-nocookie.com/embed/9atqMRJLEoU" /> | ||
|
||
<Aligner center> | ||
|
||
<Image alt="John of Patmos" src="/images/build/sealed_book.jpg" /> | ||
|
||
</Aligner> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7937,13 +7937,13 @@ gatsby-transformer-json@^3.14.0: | |
"@babel/runtime" "^7.15.4" | ||
bluebird "^3.7.2" | ||
|
||
gatsby-transformer-remark@^4.11.0: | ||
version "4.11.0" | ||
resolved "https://registry.yarnpkg.com/gatsby-transformer-remark/-/gatsby-transformer-remark-4.11.0.tgz#80c2f7473cc757f763abd1c0942436ffcb7a2365" | ||
integrity sha512-K00qbvSVq5puyDmZZp+WOU8CmBJRpjmJt1t8yl30My66PiDT8u242xVYUE0qdsKEr2gz5npE0w4nj/5Hgtfw7Q== | ||
gatsby-transformer-remark@^4.12.0: | ||
version "4.12.0" | ||
resolved "https://registry.yarnpkg.com/gatsby-transformer-remark/-/gatsby-transformer-remark-4.12.0.tgz#a04ad342f1c977f9d55115d344db8290854c86de" | ||
integrity sha512-SpKrSyp7WHiUJCaLsZn1TWprzlO4QO7Lgvx7c42KRIUOmNqCz2A9XJ1LDKSHS8Fp6STKNDo2i82sy6NbMan3og== | ||
dependencies: | ||
"@babel/runtime" "^7.15.4" | ||
gatsby-core-utils "^2.14.0" | ||
gatsby-core-utils "^2.15.0" | ||
gray-matter "^4.0.2" | ||
hast-util-raw "^6.0.2" | ||
hast-util-to-html "^7.1.2" | ||
|
@@ -15140,10 +15140,10 @@ [email protected], uuid@^3.0.0: | |
resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" | ||
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== | ||
|
||
uuid@^9.0.0: | ||
version "9.0.0" | ||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" | ||
integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== | ||
uuid@^9.0.1: | ||
version "9.0.1" | ||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" | ||
integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== | ||
|
||
v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: | ||
version "2.3.0" | ||
|