eNAT
连接钱包
实时·ETH mainnet
区块#25,958,626
·
已最终化#25,958,562
落后0 blk

Mint 单个区块

First-is-first。在 canonical 顺序下,对未 mint 区块的第一笔合规 mint 胜出;其它人的 tx revert 但 gas 不退。activation 之前 fee=0;activation 之后的目标块需在 calldata 中带 required capture fee。

Mint 预检

正在检查这个区块是否可 mint…
在本站直接广播

把上面的字节作为 `data:` calldata,发起一笔向自己的 0-ETH 转账。Gas 由你的钱包出,本站从不持有签名后的 tx。

正在检查这个区块是否可 mint…

实时 calldata
65 bytes非法
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。若目标块需要 capture fee,fee 来自协议层 raw fragment 余额,不是 ERC-20 bENAT allowance。热门区块请出有竞争力的 priority fee;出低了输给别人。

  4. 04

    验证

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