1

I'm trying to make a request to the testnet but getting the following error:

HTTP Request Error: An error occurred when interacting with the Access API.
transport=FetchTransport 
error=Failed to fetch hostname=access.devnet.nodes.onflow.org:9000 
path=/v1/scripts?block_height=sealed 
method=POST 
requestBody={ 
"script":"aW1wb3J0IEZ1bmdpYmxlVG9rZW4gZnJvbSAweDlhMDc2NmQ5M2I2NjA4YjcKaW1wb3J0IEZVU0QgZnJvbSAweGUyMjNkOGE2MjllNDljNjgKCnB1YiBmdW4gbWFpbihhZGRyZXNzOiBBZGRyZXNzKTogVUZpeDY0IHsKICAgIGxldCBhY2NvdW50ID0gZ2V0QWNjb3VudChhZGRyZXNzKQoKICAgIGxldCB2YXVsdFJlZiA9IGFjY291bnQuZ2V0Q2FwYWJpbGl0eSgvcHVibGljL2Z1c2RCYWxhbmNlKSEKICAgICAgICAuYm9ycm93PCZGVVNELlZhdWx0e0Z1bmdpYmxlVG9rZW4uQmFsYW5jZX0+KCkKICAgICAgICA/PyBwYW5pYygiQ291bGQgbm90IGJvcnJvdyBCYWxhbmNlIHJlZmVyZW5jZSB0byB0aGUgVmF1bHQiKQoKICAgIHJldHVybiB2YXVsdFJlZi5iYWxhbmNlCn0=",
"arguments":["eyJ0eXBlIjoiQWRkcmVzcyIsInZhbHVlIjoiMHg1ODA2MjJlNzQ1MTgzYjE2In0="]
}

The base64 decoded script is:

import FungibleToken from 0x9a0766d93b6608b7
import FUSD from 0xe223d8a629e49c68

pub fun main(address: Address): UFix64 {
    let account = getAccount(address)

    let vaultRef = account.getCapability(/public/fusdBalance)!
        .borrow<&FUSD.Vault{FungibleToken.Balance}>()
        ?? panic("Could not borrow Balance reference to the Vault")

    return vaultRef.balance
}

and the arguments are:

{"type":"Address","value":"0x580622e745183b16"}

When I run the following command in the cli, it works: flow scripts execute -n testnet scripts/getFUSDBalance.cdc --arg "Address:580622e745183b16" not sure why I'm getting issues with this

EDIT:

didn't mention that the error is coming from FCL Here's the code I'm using to interact with Flow:

async getFUSDBalance(): Promise<Result<number, string>> {
    const scriptText = getFUSDBalance as string;
    const user = await this.getCurrentUser();
    return await flow.query<number>({
        cadence: scriptText,
        payer: fcl.authz,
        authorizations: [fcl.authz],
        args: (arg, t) => [
            arg(user.addr, t.Address)
        ]
    })
}

flow.query<T> is just a wrapper for fcl.query It works in the CLI but not from FCL

EDIT 2:

So I found that the real issue I was facing was I was getting this error:

Fetch API cannot load access.devnet.nodes.onflow.org:9000/v1/scripts?block_height=sealed. URL scheme "access.devnet.nodes.onflow.org" is not supported

access.devnet.nodes.onflow.org:9000 is gRPC (I think). I should have been using https://rest-testnet.onflow.org. However, when I change to that I get a CORS violation. I think I read somewhere that you can't access the testnet from localhost (why?), but I deployed to a *.app domain and I'm getting the same error No 'Access-Control-Allow-Origin' header is present on the requested resource. Is the CORS policy not set up for *.app domains?

codhur_jones
  • 153
  • 9

1 Answers1

0

So turns out changing to https://rest-testnet.onflow.org for the accessNode.api value did work. Not sure why it didn't when I posted the second edit, but whatever. This works for localhost too.

codhur_jones
  • 153
  • 9