This forum is a read-only archive. Posting, replying and signing in are disabled.

Message not found

Obi

I tried to manually build and submit a transaction to the node but got this error {'message': 'Not Found'}.

code for reference

import base64

import requests
from algosdk.encoding import msgpack_encode
from algosdk.future.transaction import PaymentTxn, SuggestedParams
from algosdk.util import algos_to_microalgos

key0 = "wf6MGq9+IOzzOKpVIGjZiwaHsEA51FFqM3vt8TRdNVJUEZ23cYux3hBE+2MhrLFN4ezLa1osSa9YT63j1bP5zg=="
acc0 = "KQIZ3N3RROY54ECE7NRSDLFRJXQ6ZS3LLIWETL2YJ6W6HVNT7HHIW35NGE"

acc1 = "EFK7G6BMJTQYNPHUAEWGYMMUDJLDDML2F3UI2LSOUCTGQKZT5L5NMG2AHA"

d = requests.get("https://node.testnet.algoexplorerapi.io/v2/transactions/params")
f = d.json()
params = SuggestedParams(
            f["fee"],
            f["last-round"],
            f["last-round"] + 1000,
            f["genesis-hash"],
            f["genesis-id"],
            False,
            f["consensus-version"],
            f["min-fee"],
)


txn = PaymentTxn(acc0, params, acc1, algos_to_microalgos(1), note="")
stxn = txn.sign(key0)
encoded = base64.b64decode(msgpack_encode(stxn))

header = {"Content-Type": "application/x-binary"}

send = requests.post(f"https://node.testnet.algoexplorerapi.io/v2/transactions/{encoded}", headers=header)
print(send.json())

thanks

fabrice

One issue is the following:

You need to post the transactions to the endpoint https://node.testnet.algoexplorerapi.io/v2/transactions as the body of the POST.
Not include the transactions in the URL, as the code

send = requests.post(f"https://node.testnet.algoexplorerapi.io/v2/transactions/{encoded}", headers=header)

does.

In general, we strongly recommend using the SDK to send the requests, rather than manually doing it. You can find a full example there: Your First Transaction - Algorand Developer Portal

If you cannot use the SDK, please let us know why and also please indicate which “requests” JS library you are using.

Obi

Hello Fabrice, Happy New Year. I was reworking the backend code for Mint Engine and we are trying to do away with the need for x-api-keys (hope this isn’t a bad thing).

I am using the python requests lib pip install requests.

Thanks for your feedback, I’ve fixed the error.

fabrice

This is ok not requiring them depending on your use case.
However, the SDK does not require them either.

See for example:

from algosdk.v2client import algod

algod_address = "https://node.testnet.algoexplorerapi.io"
algod_token = ""

algod_client = algod.AlgodClient(algod_token, algod_address)
print(algod_client.status())