Construye en Flow: Aprende FCL - 3. Como retornar valores arbitrarios desde un script

6808 단어 fclweb3flowjavascript
Esta es una traducción al español del tercer artículo de la serie Build on Flow | FCL escrita por 를 배우십시오.

비스타 프리비아



En esta guía aprenderás como retornar un valor que contenga multiples otros valores que no son del mismo tipo. Haremos esto definiendo y usando structs en Cadence, es decir:
  • definiendo un Struct en el cuerpo del script.
  • creando una instancia del mencionado Struct y usándolo como valor de retorno del script.

  • "Aprende FCL" 소개



    En el post pasado, aprendimos como pasar argumentos a nuestro script en Cadence. Si recordamos el ejemplo passMultipleDifferentTypes podíamos retornar un valor único, a pesar de que pasábamos tipos de valor diferentes.

    Hoy te mostraré como definir un Struct Personalizado en el cuerpo de tu script para poder usarlo como valor de retorno.

    엠페세모스! 💪

    파소 1 - 인스탈라시온



    아그레가 "onflow/fcl": "1.0.0" 코모 투 의존증

    Paso 2 - 구성



    FCL을 구성할 때 필요한 정보를 가져오려면 다음을 수행하십시오.

    import { query, config } from "@onflow/fcl";
    
    const api = "https://rest-testnet.onflow.org";
    config().put("accessNode.api", api);
    


    Paso 3 - fetchCustom 방법 구현




    const fetchCustom = async (name) => {
      const cadence = `
        // Este script te permite definir Structs personalizados en su cuerpo. 
            // Crearemos uno y lo llamaremos Custom (puedes usar cualquier nombre que quieras)
        pub struct Custom {
          pub let number: Int
          pub let address: Address
    
          init(number: Int, address: Address){
            self.number = number
            self.address = address
          }
        }
    
        pub fun main():Custom {
                // para crear una instancia del struct usa su nombre
                // y pásale los argumentos de inicializacion entre paréntesis
                let t = Custom(number: 42, address: 0x1337)
          return t
        }
      `;
    
      const custom = await query({ cadence });
    
      const { number, address } = custom;
        console.log(`number field is ${number}`)
        console.log(`address field is ${address}`)
    };
    


    마무리



    Como siempre , ejecutamos el código con una IIFE:

    (async () => {
      console.clear();
      await fetchCustom();
    })();
    


    Deberías ver el siguiente resultado en la consola:

    number field is: 42
    address field is: 0x0000000000001337
    


    테 페르디스트? Puedes revisar el código completeto en este Codesandbox .

    Hasta la proxima 👋

    재귀


  • Código del ejemplo - https://codesandbox.io/s/dev-to-fcl-return-custom-struct-sgywnx
  • Documentación sobre Structs en Cadence - https://docs.onflow.org/cadence/language/composite-types/#composite-type-declaration-and-creation

  • Otros recursos que te podrían ser útil:

  • 흐름 문서 - https://docs.onflow.org/ - Flow 및 como 상호 작용 콘 엘라에 대한 자세한 정보는 블록체인에서 확인할 수 있습니다.

  • 흐름 포털 - https://flow.com/ - Tu Portal de entrada a Flow.

  • FCL JS - https://github.com/onflow/fcl-js - Código fuente y la habilidad de contribuir a la libreria de FCL JS.

  • 케이던스 - https://docs.onflow.org/cadence/ - 케이던스를 소개합니다.

  • Codesandbox - https://codesandbox.io - Un editor de texto genial para prototipar en el navegador.
  • 좋은 웹페이지 즐겨찾기