😎 Solidity Tutorial - Array, Mapping y Struct - Smart Contracts en Ethereum

āđāļŠāļĢāđŒ
āļāļąāļ‡
  • āđ€āļœāļĒāđāļžāļĢāđˆāđ€āļĄāļ·āđˆāļ­ 24 āļ˜.āļ„. 2024

āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™ • 60

  • @drr2245
    @drr2245 2 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Gracias por tus vídeos, mejores que muchos de pago

  • @jptoaster
    @jptoaster 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    buenisimo este cursito. OjalÃĄ sigas creciendo que enseÃąas muy bien alberto. Saludos desde argentina papaaa

  • @sebastianandressanchezherr2432
    @sebastianandressanchezherr2432 4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Muy bueno mi estimadoo!!

  • @joseluispelaez1902
    @joseluispelaez1902 2 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Gran aportaciÃģn, saludos desde Mexico

  • @federicoklaus5865
    @federicoklaus5865 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    yo de nuevo. Gracias loco, de verdad gracias

  • @JoseRojas-hu9vf
    @JoseRojas-hu9vf 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Muchas gracias!!!

  • @zabalasaintpaul
    @zabalasaintpaul 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    muy buen ejemplo para Array, Mapping y Struct

  • @luisdelgado6500
    @luisdelgado6500 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    muy bueno. directo a lo que se necesita para un aprendizaje rÃĄpido.

  • @GOGODEV
    @GOGODEV 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Muy bueno

  • @jorgebarsoba5056
    @jorgebarsoba5056 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Muy bueno!

  • @netgame365
    @netgame365 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    👏👏👏👏

  • @nicolasdelgado8128
    @nicolasdelgado8128 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Este curso es fantÃĄstico, muchas gracias!

  • @Campusdenegocios
    @Campusdenegocios 4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Muchas gracias Alberto por un video mÃĄs buenísimo. SeguirÃĐ con el resto. Se aprende muchísimo con esta exclente lista de reproducciÃģn.

  • @ElTitoGraimito
    @ElTitoGraimito 4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Muchas gracias Alberto, ya voy pillando poco a poco de quÃĐ va el asunto. Un saludo

  • @horu8027
    @horu8027 2 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    ðŸĶˆ

  • @gardener3719
    @gardener3719 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +2

    Que claridad para explicar y hacernos entender

  • @antoniovasquez3085
    @antoniovasquez3085 4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Excelente informaciÃģn, mil gracias por compartirla.

  • @aldeaciencia2421
    @aldeaciencia2421 6 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    No me pierdo ninguno de tus vídeos, son muy buenos!! Gracias.

    • @ederalexanderlunadiaz6806
      @ederalexanderlunadiaz6806 4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      hola amigo queria saber si tu me puedes ayudar con la logica de un pequeÃąo smart contract

  • @mendezfloresmiguelangel8483
    @mendezfloresmiguelangel8483 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Muchas Gracias por el conocimiento, esta de maravilla el curso.

  • @josecarloscabreramonroy1663
    @josecarloscabreramonroy1663 5 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    estan increibles tus videos felicidades!!

  • @jeffersonsantillan6925
    @jeffersonsantillan6925 4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +2

    Genial amigo, estuvo bueno!

  • @lagartijoconescalera
    @lagartijoconescalera 4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +2

    Excelente vídeo como siempre Alberto.
    Como sugerencia te hago, tratar los eventos como modo de almacenamiento economico registrando la informacion en el blockchain.
    Es algo que citas en uno de tus articulos de Medium pero no he encontrado nada en los videos.
    Un saludo y muchas gracias.

  • @fernandocampos7842
    @fernandocampos7842 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Hola Alberto, muchísimas gracias por el curso, te quería hacer una recomendaciÃģn. ReciÃĐn arranco el curso no se como lo vas llevando mas adelante, pero quizÃĄs estaría bueno que antes de comenzar el video muestres el ejercicio q tienes planteado hacer (para los que nos gustan los desafíos es genial intentarlo realizar antes de que expliques y luego agregar los cambios y nuevos conocimientos). Solo eso quizÃĄs si te parece bueno podÃĐs implementarlo. Nuevamente muchísimas gracias y saludos desde Argentina :)

    • @AlbertoLasa
      @AlbertoLasa  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      Muchas veces lo hago por primera vez o sin probar el cÃģdigo para que sea mÃĄs autentico e ir resolviendo errores en directo, pero lo tendrÃĐ en cuanta. Saludos.

  • @torebit3049
    @torebit3049 2 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Hola ALberto, en external debería usar calldata, porque usas memory?

  • @origenes13
    @origenes13 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Primero de todo agradecerte el esfuerzo y la dedicaciÃģn en los videos! Te gusta enseÃąar y se nota!!!^^
    Llevo un par de videos arrastrando una duda: Cuando desde una wallet indicas el Value = 15, Âŋquiere decir que el propietario de esa wallet estaría poniendo un precio al coche que aÃąade ÃĐl mismo? ÂŋO es un dinero que ÃĐl aÃąade al contrato (y que por lo tanto, el usuario estaría comprando)?
    Gracias de nuevo!
    Un saludo!!

    • @ethereum.bitcoin
      @ethereum.bitcoin 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      ME QUEDO PARA LLER LA RESPUESTA

    • @willywily5063
      @willywily5063 2 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      esta mal la logica de programacion que Alberto usa aqui! en realidad esta mal porque no tiene sentido logico pero esta bien para explicar el punto de como funciona un modifier.
      en este contrato alberto crea un modifier para el seteo del precio que le vas a poner al coche que tu quieres poner en venta y para eso alberto exige que ese valor salga de tu address y que sea de tipo payable de modo que aunque alberto pretende que vos fijes el precio del coche a vender en verdad estas enviando saldo al auto y su tu eres vendedor eso no tiene sentido por que tu estas entregando es el auto y no el dinero con el que el auto esta valuado.
      en en contrato no existe ninguna funcion de transferencia de dinero por autos ni autos por dinero asique en verdad en ninguna parte del contrato tu puedes comprar el auto. solo puedes poner autos en venta y el contrato sin sentido exige que para cada auto que ventas pongas el dinero que el auto vale en la direccion del contrato.
      lo que alberto quiere decir con eso es que cuando tu hagas la funcion de comprar el auto apliques el conocimiento para crear modifiers como middleware con la funcion de compra del auto para que la transaccion se revierta si la persona no inicia el proceso entregando el dinero exacto al contrato del auto. no se si me hago entender?

  • @WizardMoDz
    @WizardMoDz 4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    👍

  • @danielmiguelmedinasmateo3747
    @danielmiguelmedinasmateo3747 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Excelente video, empecÃĐ en el mundo de solidity, muy bien explicado. en este vídeo en particular el Único error que me dio fue que a la funciÃģn constructora tenía que ponerle payable y así fue como Único me funcionÃģ, pero en este vídeo que pones te funciona sin el payable en la funciÃģn constructora, porquÃĐ puede pasar esto?, gracias.

  • @psycomaquia2355
    @psycomaquia2355 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Estoy teniendo problemas para desarrollar un storage.
    Necesito guardar la identidad de cada usuario, indexada a una serie de objetos de características determinadas.
    ÂŋCÃģmo lo soluciono?
    Hago un mapping con clave msg.sender y que entregue como valor un array.
    ÂŋComo puedo hacer para que dicho array contenga objetos de tipo struct en vez de datos simples?
    ÂŋComo puedo visualizar y modificar de alguna manera las variables que se encuentran en el objeto Struct dentro del array?
    SI LEES ESTO AYUDA PORFAVOR ALBERTO... ESTOY MUY ATASCADO Y RETRASO AL EQUIPO.

  • @victorquintero7950
    @victorquintero7950 6 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    🙏🙏

  • @my-cryptcoins4681
    @my-cryptcoins4681 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Excelente.
    En el ejercicio entonces aplicaría para 1 Único coche por owner, verdad?

    • @espindolagonzalo9492
      @espindolagonzalo9492 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      En realidad si probas vas a ver que podes aÃąadir mas de un coche por owner. Pero no hay una funcion que te devuelve todos los coches o el que pidas con id. Solo una que te muestra el ultimo que aÃąadio tal owner, seria cuestion de agregar la logica para esto.

  • @SrMessiETH
    @SrMessiETH 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Una pregunta: ÂŋTenes algun medio por donde podamos comunicarnos directamente? (Discord, Telegram, etc). Cuando agrego otro coche con la misma address no hay problemas. Pero cuando utilizamos la funcion getCoche solo arroja la informacion del ultimo coche subido. ÂŋComo podria hacer para que me traiga todos los coches o para que me de a elegir la informacion de que coche quiero ver? Muchas gracias por toda la informacion.

    • @ethereum.bitcoin
      @ethereum.bitcoin 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      solucionaste este problema?

  • @sgssergio
    @sgssergio 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Hola Alberto, excelente explicaciÃģn. Porque en gerCoches() retornas las porpuedades de la estructura Coche en vez de devolver la estructura en si?
    De esta forma
    function gerCoches() .....returns(Coche coche);
    Solidity no soporta devolver estructuras?

    • @AlbertoLasa
      @AlbertoLasa  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      Sí, si puedes.

  • @valentinencinasrojas8509
    @valentinencinasrojas8509 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Muchas gracias por los videos :-). Tengo una duda, si llamo a la funciÃģn getCoche con la cuenta de un usuario que no tiene registrado ningÚn coche, ÂŋquÃĐ me devuelve?. Entiendo que tendría que devolver "nada"

    • @AlbertoLasa
      @AlbertoLasa  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      Todas las variables de solidity tienen un valor por defecto aunque no le des ninguno. Estos valores pueden ser false, el nÚmero 0, una cadena de texto vacía, etc.. Depende directamente del tipo de valor que guarde la variable.

  • @cainurielcainuriel
    @cainurielcainuriel 5 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Hola Alberto:
    Primero agradecer tu trabajo, muchas gracias.
    Mi duda.
    Una adress no puede crear y guardar varios coches en este contrato.
    Es decir, cada vez que se crea
    un coche actualiza al anterior,.. no?
    En caso que de que se pudiese crear varios coches para cada adress
    habría que hacer un bucle para mostrarlos a todos?
    Gracias!!

    • @AlbertoLasa
      @AlbertoLasa  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      Se podría modificar el contrato para lo que dices, pero es posible, sin problema. Seguramente usaría otro array.

  • @olaketals
    @olaketals 5 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Hola Alberto, gracias por tus videos,
    Replicanco el codigo del video, a mi me ha permitido addCoche sin ingresar ningun value

    • @AlbertoLasa
      @AlbertoLasa  5 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      Hola. Mira bien como tienes programado el modifier y como lo usas en la funciÃģn. Si lo haces bien es imposible saltarte ese filtro. Te aconsejo que pares el vídeo donde se pueda ver todo el cÃģdigo y repases. TambiÃĐn has podido cometer un error en la inicializaciÃģn del precio dentro de la funciÃģn constructora. Saludos

  • @TheFernanditoZZ
    @TheFernanditoZZ 6 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    ÂŋPor quÃĐ dentro del Struct le asignas 256 bits a identificador y 32 a caballos y kilÃģmetros? ÂŋCuÃĄl es el criterio para asignar el tamaÃąo en bits a las distintas variables? Felicitaciones, excelentes vídeos.

    • @AlbertoLasa
      @AlbertoLasa  6 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      Es un tema de almacenamiento en la blockchain (lo mÃĄs caro en tÃĐrminos de Gas). Lo explico en este artículo: medium.com/@AlbertoLasa/optimizando-variables-struct-en-solidity-f3bc1449e6e6

    • @AlbertoLasa
      @AlbertoLasa  6 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      Tienes que ver cuanto va ha ocupar como mÃĄximo el valor de tu variable, y en funciÃģn de eso reservar un nÚmero de bits (256, 32. ...) para esa variable.

  • @manuelnaim9206
    @manuelnaim9206 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    en solidity 0.8.4 me da este error TypeError: Type is not callable --> en la funcion donde se retornan los valores del struct

    • @AlbertoLasa
      @AlbertoLasa  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      Depende de las versiones del compilador. Voy subiendo nuevos vídeos en los que uso nuevas versiones de compilador segÚn van apareciendo. Saludos.

  • @yessyess9712
    @yessyess9712 4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    En esta parte me perdí :(

    • @AlbertoLasa
      @AlbertoLasa  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      No te rindas

    • @yessyess9712
      @yessyess9712 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      @@AlbertoLasa gracias :D

  • @manot6146
    @manot6146 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Nuuu fondo blanco

  • @PraexorVS
    @PraexorVS 4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Tutoriales sin compartir el cÃģdigo