Solidity.

Publicación

Comparte tu conocimiento.

0xfed9...4236.
Jun 24, 2023
Discusión

no puedo entender cuáles son las ubicaciones (uint256)

No entiendo qué son los uint256 de Location y NewLocation, ¿alguien me puede explicar dónde están? Gracias. A continuación se muestra el código:

//Identificador de licencia SPDX: MIT

solidez pragmática ^0.8.18;

importar {aFoundryCourseChallenge} desde «aFoundryCourseChallenge.sol»; importar {lessonThreeHelper} de «3-LessonHelper.sol»;

La lección tres del contrato es un desafío de cursos de fundición, LessonThreeHelper { error lessonThree__wrongLocation ();

cadena constante privada LESSON_IMAGE = «ipfs: //qMFwyprrx1sx7sfgrwr4pnmwtqvlxmwcp4fEJ39m2fPFye»;

constructor (dirección fcn) aFoundryCourseChallenge (fcn) { s_booleanArray = [falso, falso, verdadero, falso]; }

/*

  • ¡LLAMA A ESTA FUNCIÓN!
  • @param location: la ubicación del booleano verdadero.
  • @param newLocation: ¡Elige el punto del booleano para la siguiente persona!
  • @param YourTwitterHandle: su nombre de usuario de Twitter. Puede ser una cadena en blanco. */ función SolveChallenge (uint256 location, uint256 newLocation, memoria de cadenas yourTwitterHandle) externa { if (s_BooleanArray [ubicación]! = verdadero) { revertir lessonThree__wrongLocation (); } s_booleanArray [ubicación] = falso; s_BooleanArray [newLocation] = true; _UpdateAndRewards Solver (tu nombre de usuario de Twitter); }

////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////Las siguientes son funciones necesarias para la NFT, no dudes en ignorarlas. ///////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////// descripción de la función () retornos de anulación pura externa (memoria de cadenas) { return «Curso completo de Cydrin Foundry: ¡Habéis heredado habilidades de Solidity!» ; }

El atributo de función (), la anulación pura externa devuelve (memoria de cadenas) { devuelve «Conocido el patrón de herencia y de fábrica»; }

función specialImage () la anulación pura externa devuelve (memoria de cadenas) { devuelve LESSON_IMAGE; } }

  • Smart Contract
  • Solidity
2
2
Cuota
Comentarios
.

Respuestas

2
Daniel.
Jun 27 2023, 08:05

Sin el conocimiento del contexto completo, es difícil explicarlo desde la perspectiva de este desafío.

Hablando del código,location is an index of an item in s_booleanArray array where the value is true. If the value of an element by index location is true then solveChallenge sets it to false, and sets to true an item by index newLocation.

0
Comentarios
.
0x7a36...df11.
Jul 15 2023, 13:16

Los parámetros uint256 location y uint256 newLocation de la función SolveChallenge representan los índices de la matriz s_BooleanArray.

s_BooleanArray es una matriz de valores booleanos inicializados con [false, false, false, true, false]. Esto significa que el valor verdadero se encuentra en el cuarto índice de la matriz (teniendo en cuenta que los índices de la matriz comienzan en 0). La función SolveChallenge incluye dos argumentos: location y newLocation, que representan el índice de la matriz s_BooleanArray. El parámetro de ubicación debe ser el índice del valor verdadero de s_BooleanArray. Si el valor de s_BooleanArray [location] no es verdadero, revierte la transacción mediante revert lessonThree__wrongLocation. Si s_booleanArray [location] es verdadero, establece este índice en false y el índice newLocation en true. Esto mueve efectivamente el valor verdadero a una nueva ubicación en la matriz. Por último, llama a _updateAndRewardSolver (yourTwitterHandle); para actualizar el estado del solucionador y recompensarlo. Por lo tanto, si está intentando resolver este desafío, tendrá que proporcionar la ubicación actual del valor verdadero (que comienza en el índice 3, según la inicialización de la matriz) y una nueva ubicación a la que desee mover el valor verdadero.

Eso es todo lo que puedo deducir de la información que ha proporcionado.

0
Comentarios
.

Sabes la respuesta?

Inicie sesión y compártalo.

Usamos cookies para asegurarnos de que obtenga la mejor experiencia en nuestro sitio web.
Más información