eDMT·eNAT
实时·ETH 主网
区块#24,836,710
·
燃烧0.0134ETH
已出块00s
Plate X./Calldata 工坊

把字节 亲手拼出来。

本站每个按钮最终都会塌缩成一段 UTF-8 calldata。这一页让你亲手拼出这段字符串、按规范校验、复制走、再用任何你信任的钱包、RPC client 或硬件签名器广播。

协议语法 · 5 个 op · 仅 UTF-8UI 依赖 · 无 — 复制后随便走

Mint 单个区块

First-is-first。在 canonical 顺序下,对未 mint 区块的第一笔合规 mint 胜出;其它人的 tx revert 但 gas 不退。priority fee 请相应出价。

实时 calldata合规
data: payload
data:,{"p":"edmt","op":"emt-mint","tick":"enat","blk":"18765432"}

预览随输入实时更新。发送前请用 cast `--to-utf8` 或 `toUtf8Bytes` 编码 — 见下方 CLI 片段。

Plate X.B./CLI 片段

在任何地方 把 calldata 发出去。

下面这些片段只负责构造与发送 calldata,它们从不读协议状态 — 想验证 mint 后的余额,请在另一个窗口开 indexer endpoint。

cast (foundry)
# self-send mint with raw calldata; replace <BLK>
cast send $YOUR_ADDR \
  --rpc-url $ETH_RPC \
  --private-key $PRIVATE_KEY \
  --value 0 \
  --gas-limit 30000 \
  $(cast --to-utf8 'data:,{"p":"edmt","op":"emt-mint","tick":"enat","blk":"<BLK>"}')
ethers.js v6
import { Wallet, JsonRpcProvider, toUtf8Bytes, hexlify } from "ethers";

const wallet = new Wallet(PRIVATE_KEY, new JsonRpcProvider(RPC_URL));
const payload = `data:,{"p":"edmt","op":"emt-mint","tick":"enat","blk":"${BLK}"}`;

const tx = await wallet.sendTransaction({
  to: wallet.address,    // self-send (protocol §5.2)
  value: 0n,
  data: hexlify(toUtf8Bytes(payload)),
});
console.log("submitted:", tx.hash);
viem
import { createWalletClient, http, toHex, stringToBytes } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { mainnet } from "viem/chains";

const account = privateKeyToAccount(PRIVATE_KEY);
const client = createWalletClient({ account, chain: mainnet, transport: http(RPC_URL) });

const payload = `data:,{"p":"edmt","op":"emt-mint","tick":"enat","blk":"${BLK}"}`;
const hash = await client.sendTransaction({
  to: account.address,
  value: 0n,
  data: toHex(stringToBytes(payload)),
});

三段都瞄准以太坊主网。运行前请替换你自己的 RPC URL 与私钥(或硬件钱包签名器)。

Plate X.C./如何广播

四步, 无 UI 依赖。

  1. 01

    拼装

    用上方表单或纯手写构造 data: payload。Indexer 读的是 UTF-8 字节本身 — 多余空白会让你的 tx 被忽略。

  2. 02

    编码

    把 payload 编为十六进制字节。cast `--to-utf8` 即可;ethers.js 用 `hexlify(toUtf8Bytes(...))`;viem 用 `toHex(stringToBytes(...))`。

  3. 03

    签名

    Mint 时 tx.to MUST == tx.from(self-send)。value 可为 0。热门区块请出有竞争力的 priority fee;出低了输给别人。

  4. 04

    验证

    上链后向任意 indexer endpoint 查询(见 Plate IX.E)。多数公开 indexer 在秒级内重新推导 state。Finality 在 64-96 PoS slot 后达成。