ExecuteScriptAtBlockID Access API Method
Paramètres
Script
chaîne de caractères
OBLIGATOIRE
Chargement...
Arguments
chaîne de caractères
OBLIGATOIRE
Chargement...
BlockId
chaîne de caractères
OBLIGATOIRE
Chargement...
Renvoie
valeur
chaîne de caractères
Chargement...
Requête
1package main23import (4"context"5"fmt"6"log"7"strconv"89"github.com/onflow/flow/protobuf/go/flow/access"10)111213func main() {1415// Requires authenticating before making the request. Refer to Intro Page on how Authentication can be done.16client, err := getAccessClientWithBasicAuth("ENDPOINT-NAME", "TOKEN_GOES_HERE")17ctx := context.Background()18if err != nil {19log.Fatalf("err: %v", err)20}21// Get Latest (sealed) block22latestResp, err := client.GetLatestBlock(ctx, &access.GetLatestBlockRequest{IsSealed: true})23if err != nil {24log.Fatal("Get latest block failed: ", err)25}26fmt.Println("Latest block height: ", latestResp.Block.Height)2728// execute script at latest block ID29script := []byte(`30pub fun main(a: Int): Int {31return a + 1032}33`)3435// Convert integer to JSON-CDC (Cadence JSON)36arg := 1037// JSON-CDC representation of an integer is a JSON object with "type" and "value" fields38jsonCDC := fmt.Sprintf(`{"type":"Int","value":"%s"}`, strconv.Itoa(arg))3940// Create script arguments41args := [][]byte{[]byte(jsonCDC)}4243valueHeightResp, err := client.ExecuteScriptAtBlockID(ctx, &access.ExecuteScriptAtBlockIDRequest{Script: script, Arguments: args, BlockId: latestResp.Block.Id})44if err != nil {45log.Fatal("execute script at block ID failed: ", err)46}47fmt.Printf("executed script , returned %s \n", string(valueHeightResp.Value))4849}
1package main23import (4"context"5"fmt"6"log"7"strconv"89"github.com/onflow/flow/protobuf/go/flow/access"10)111213func main() {1415// Requires authenticating before making the request. Refer to Intro Page on how Authentication can be done.16client, err := getAccessClientWithBasicAuth("ENDPOINT-NAME", "TOKEN_GOES_HERE")17ctx := context.Background()18if err != nil {19log.Fatalf("err: %v", err)20}21// Get Latest (sealed) block22latestResp, err := client.GetLatestBlock(ctx, &access.GetLatestBlockRequest{IsSealed: true})23if err != nil {24log.Fatal("Get latest block failed: ", err)25}26fmt.Println("Latest block height: ", latestResp.Block.Height)2728// execute script at latest block ID29script := []byte(`30pub fun main(a: Int): Int {31return a + 1032}33`)3435// Convert integer to JSON-CDC (Cadence JSON)36arg := 1037// JSON-CDC representation of an integer is a JSON object with "type" and "value" fields38jsonCDC := fmt.Sprintf(`{"type":"Int","value":"%s"}`, strconv.Itoa(arg))3940// Create script arguments41args := [][]byte{[]byte(jsonCDC)}4243valueHeightResp, err := client.ExecuteScriptAtBlockID(ctx, &access.ExecuteScriptAtBlockIDRequest{Script: script, Arguments: args, BlockId: latestResp.Block.Id})44if err != nil {45log.Fatal("execute script at block ID failed: ", err)46}47fmt.Printf("executed script , returned %s \n", string(valueHeightResp.Value))4849}
Vous n'avez pas encore de compte ?
Créez votre endpoint Quicknode en quelques secondes et commencez à développer
Commencez gratuitement