transaction
Retrieve and manage transaction details on the Flux MCP server by providing a transaction ID, enabling streamlined interaction with Arweave Operating System for code and handler operations.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| transactionId | Yes |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"transactionId": {
"type": "string"
}
},
"required": [
"transactionId"
],
"type": "object"
}
Implementation Reference
- src/local/index.js:127-160 (registration)Registers the 'transaction' tool using server.tool, including inline schema and handler function.server.tool( "transaction", { transactionId: z.string() }, async ({ transactionId }) => { try { const metadataResponse = await fetch( `https://arweave.net/tx/${transactionId}` ); const metadata = await metadataResponse.json(); const dataResponse = await fetch( `https://arweave.net/raw/${transactionId}` ); const data = await dataResponse.text(); const transactionInfo = { id: metadata.id, owner: metadata.owner, recipient: metadata.target, quantity: metadata.quantity, fee: metadata.reward, data_size: metadata.data_size, data: data.substring(0, 1e3), tags: metadata.tags || [], }; return { content: [{ type: "text", text: cleanOutput(transactionInfo) }], }; } catch (error) { return { content: [ { type: "text", text: `Error: ${error?.message || String(error)}` }, ], }; } }
- src/local/index.js:129-129 (schema)Input schema for the 'transaction' tool, requiring a transactionId string.{ transactionId: z.string() },
- src/local/index.js:130-160 (handler)Handler fetches Arweave transaction metadata and raw data, constructs transactionInfo object, and returns formatted content or error.async ({ transactionId }) => { try { const metadataResponse = await fetch( `https://arweave.net/tx/${transactionId}` ); const metadata = await metadataResponse.json(); const dataResponse = await fetch( `https://arweave.net/raw/${transactionId}` ); const data = await dataResponse.text(); const transactionInfo = { id: metadata.id, owner: metadata.owner, recipient: metadata.target, quantity: metadata.quantity, fee: metadata.reward, data_size: metadata.data_size, data: data.substring(0, 1e3), tags: metadata.tags || [], }; return { content: [{ type: "text", text: cleanOutput(transactionInfo) }], }; } catch (error) { return { content: [ { type: "text", text: `Error: ${error?.message || String(error)}` }, ], }; } }