> For the complete documentation index, see [llms.txt](https://armonia.gitbook.io/amax-dao-dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://armonia.gitbook.io/amax-dao-dev/amax-smart-contract-development/data-processing-action-serialization.md).

# Data Processing-action Serialization

#### action serialization <a href="#h3-action" id="h3-action"></a>

```
  const client = await getClient();
  const contract = await client.contract("testmulsign1");
  const data = {
    issuer: "testmulsign1",
    wallet_id: "0",
    mulsigner: "solo11111111",
    weight: 1,
  };
  // 102673386a99b1ca000000000000000010420821844023c501000000
  const hex = contract.fc
    .toBuffer(
      "setmulsigner", // Contract method
      data,
    )
    .toString("hex");
```

#### action deserialization <a href="#action-fan-xu-lie-hua" id="action-fan-xu-lie-hua"></a>

```
  const client = await getClient();
  const contract = await client.contract("testmulsign1");
  // {issuer: "testmulsign1", wallet_id: "0", mulsigner: "solo11111111", weight: 1}
  const data = contract.fc.fromBuffer(
    "setmulsigner", // Contract method
    Buffer.from(
      // Serialized string corresponding to method
      "102673386a99b1ca000000000000000010420821844023c501000000",
      "hex",
    ),
  );
```

Firstly, you need to know which contract, and then which action (i.e. the contract method being called). In this way, the corresponding parameters can be specified, and then deserialized based on the serialized HEX (102673386a99b1ca4000000000010420821844023c501000000).
