ExecuteScriptAtBlockID Access API Method
Parameters
Script
string
REQUIRED
The Base64 encoded content of the Cadence script
Arguments
string
REQUIRED
A list of arguments each encoded as Base64 passed in the JSON-Cadence interchange format
BlockId
string
REQUIRED
The ID of the block to execute the script against
Returns
value
string
The result of the executed Cadence script
Request
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 != null {19log.Fatalf("err: %v", err)20}21// Get Latest (sealed) block22latestResp, err := client.GetLatestBlock(ctx, &access.GetLatestBlockRequest{IsSealed: true})23if err != null {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 != null {45log.Fatal("execute script at block ID failed: ", err)46}47fmt.Printf("executed script , returned %s \n", string(valueHeightResp.Value))4849}
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free