Transaction specs

MEM transaction specifications

For a transaction on MEM to be considered valid for the execution machine and successfully captured from the Arweave network, it must adhere to a specific structure. By meeting these requirements, transactions can effectively interact with MEM functions.

Transaction Tags

To be valid for the MEM execution machine and captured from the Arweave network, transactions on MEM must adhere to a specific structure:

  • App-Name : MEM

  • Type: Serverless

  • Function : $MEM_FUNCTION_ID

  • MEM-Bundled : true

  • Content-Type : application/json

  • 3EM-Executor-Version : ^v.v.v

Additionally, the execution machine adds the following tags:

  • Pseudo-Timestamp : the pseudo timestamp of the interaction.

  • JS-Length : data transaction size.

  • Items-Length : number of interactions in the data-bundled transaction.

  • MEM-Transactions-Processed : number of the transaction proceeded by the execution machine from the Items-Length.

Transaction's data

Alongside the specific tags of a MEM transaction, the Arweave data transaction should also adhere to the MEM specifications:

{
  "entities": [
    {
      "raw": {
        "id": "$MEM_TX_ID", // ignore
        "owner": "$BUNDLR_TXS_SUBMITTER_AKA_NODE_ADDR", // ignore
        "quantity": "0", // ignore
        "reward": "0", // ignore
        "tags": [ // ignore
          {
            "name": "memCreatedBy",
            "value": ""
          }
        ],
        "input": "{\"key\":\"value\"}" // the transaction's interaction input
      },
      "metadata": {
        "createdWhen": "$PSEUDO_TIMESTAMP", // ignore
        "executorVersion": "1.0.0", // ignore
        "internalId": "$EM_SPEC_ID" // ignore
      }
    }
  ]
}

The mem-core node address used in Irys for DA layer data broadcasting is: IDsQSfjrHhw754PI3G8hZwAhs17KruE1jDJA0vB_R5A

Transaction Limits

  • Batch transactions are limited to a maximum of 499 write operations per batch.

  • The input per transaction must be smaller than 512kb in size.

  • The total size of tags within a transaction should not exceed 212kb.

  • Bulk calls have a total size limit of 250mb to ensure efficient processing and management.

Last updated

mem.tech ยฉ 2023