电路、容器与 .tape 地址Circuits, containers and .tape addresses

分清「资产」与「账户」:电路是可交易的资产,容器是挂在电路上的账户;再读懂 #ID@处理器 与 .tape 地址的写法。tell assets from accounts: a circuit is a tradable asset, a container is the account attached to it; plus how #ID@processor and .tape addresses are written.

这一章解决三个容易混淆的问题:谁是谁、地址怎么写、容器到底能做什么。

三类身份

角色是什么有私钥吗能否交易
晶体管ERC-1155 代币,原材料无可,但不同处理器元件不通用
电路ERC-721 资产,固定网表无可,资产与容器一起转让
容器ERC-6551 账户,挂在电路上无,控制权跟随电路 NFT不能单独转让
钱包地址由私钥控制的账户有—

关键区别:电路是资产,容器是账户。资产可以被买卖,账户不能——容器的控制权永远等于持有那枚电路的人。

flowchart LR W["你的钱包<br/>持有私钥"] -->|持有| C["电路 NFT"] C -->|控制权绑定| K["容器账户<br/>无私钥"] K -->|存放| A["资产"] K -->|挂载| S["tape:// 网站"] K -->|收发| M["TapeSend 消息"]

地址写法

一枚电路的名字必须是「电路号 + 处理器号」的组合,写作 <电路#ID>.<处理器编号>.tape。示例 4246.0.tape 表示 0 号处理器上的第 4246 枚电路。

为什么必须带处理器编号:每台处理器的电路编号都从 1 单独计,「#12」在 0 号与 7 号处理器上是两枚完全不同的电路。

tape:// 规范 v0.2 规定客户端必须接受并统一显示下列写法,其他写法必须报错,不得猜测:

形式例子
规范名字4246.0.tape
省略后缀4246.0
网址tape://4246.0.tape/docs/
网页别名web+tape://4246.0.tape/docs/
简写#4246@0 或 4246@0
容器地址0x86DD…eA95
处理器合约 + 编号0x50A9…9DD9#4246

多链区号

X Layer 与 Base 在处理器编号前加区号:2 代表 X Layer,3 代表 Base;BNB Chain 不加区号。因此 #1@2.344(或 1.2.344)表示 X Layer 上 344 号处理器的第 1 枚电路。

容器能做什么

能力说明
存放资产可以收各种链上资产,但不能装本协议的电路(不允许套娃)
挂载网站开通后可绑定一个 tape:// 地址,例如 tape://4246.0.tape/
收发消息作为 TapeSend 的收件端点
持有算力身份链上 Linux 演示里,机器的所有者就是一个容器
转出资产需要付一笔很小的协议手续费

不能做的事:承载锁仓、质押这类「不可反悔」的承诺;单独转让;脱离电路存在。

挂单期间容器会被冻结,这也是「挂单不能保护未领取奖励」的原因。

常见误区

说法事实
容器是一个钱包钱包属于人,容器属于你那枚电路;它没有私钥,也不能导出
「#12 电路」编号按处理器各自起算,必须写成 #ID@处理器编号 才唯一
「#12」和「12.0」是一回事前者是口语简写,#12@0 与 12.0 才指向同一枚电路
买卖电路能保留容器资产资产随电路走,卖家会一并失去
电路转让后算力归买家算力跟随电路,这也是电路被当作「矿机」买卖的原因

哈希证明什么

链上网站与消息都靠哈希校验:客户端读取容器里的文件后,会核对长度是否等于声明大小、SHA-256 是否等于链上记录,对不上就不显示。它证明的是「你看到的字节与链上登记的一致」,不证明内容本身正确——一个设计糟糕的网站同样可以被完整校验通过。

继续阅读:第一次上手 走一遍完整流程,DeWEB 讲链上网站的读取机制。

In one line

Most confusion comes from mixing up "asset" and "account": a circuit is an asset, containers and endpoints are the accounts, and the wallet only proves ownership and pays gas.

Three roles

RoleWhat it isWhat it looks likeWhat it does
Circuitthe base asset a tapeout produces, i.e. a circuit NFTan NFTheld by a container, scored and ranked
Container / endpointan ERC-6551 account attached to a circuit8.888, #4246@0send and receive messages, bind a site, hold assets
Walleta key, not part of the businessan address starting with 0xsign, prove ownership, pay gas

From parts to a website

A part is not a circuit, and a circuit is not an account — it stacks like this:

flowchart LR P[NAND / LATCH parts] --> C[Tapeout · circuit NFT] C --> K[Container ERC-6551] K --> W[DeWEB site]
  • Parts: NAND and LATCH, the smallest bricks.
  • Circuit: wire parts per a netlist and tape out to get a circuit NFT.
  • REF: a circuit can reference finished circuits instead of rebuilding them.
  • Container: gives a circuit an account, based on ERC-6551.
  • DeWEB: binds a website to the container identity via SiteRegistry.

A container: an account bound to a circuit

A circuit container is an on-chain account bound to a circuit NFT, following the ERC-6551 (token-bound account) standard: it gives an NFT its own smart-contract wallet.

  • It costs: the BNB Chain listing is 0.012 BNB, and X Layer is 0.08 OKB — do not map one number onto the other. Moving assets out later adds a tiny protocol fee; fees go to the treasury, are swapped into BEM, and 80% is burned periodically.
  • No private key: control equals the circuit NFT current holder — whoever holds the circuit can take what is inside.
  • It follows the circuit: when the circuit changes hands, its assets and ongoing yield go with it; selling the circuit sells the container too.
  • Frozen while listed: a listed circuit freezes its container, and the assets inside are not counted in the listing price.
  • No nesting: a container can hold all kinds of on-chain assets, but it cannot hold a circuit from this protocol.
It is not a wallet: a wallet belongs to a person, a container belongs to your circuit.

So a container cannot carry lock-up or staking promises that cannot be undone. Before selling a circuit, take stock and move the assets out.

What a container can do

UseDetail
Hold assets, receive paymentanyone can send to the container address
Host an on-chain siteone container, one site, addressed like tape://4246.0.tape/
Send and receive messagesthe container is the TapeSend inbox
Own a machinein the official on-chain Linux demo, the owner is a container

TapeID

A circuit's on-chain ID is its TapeID, written <circuit#ID>.<area code>.<processor number>. The area code says which chain: BNB Chain omits it, X Layer is 2, Base is 3.

How to read a .tape name

The canonical form is <circuit#ID>.<processor number>.tape, e.g. 4246.0.tape — circuit 4246 on processor 0 (Genesis CPU).

The processor number is required: every processor numbers its circuits from 1, so #12 on processor 0 and on processor 7 are two different circuits; only "processor + #ID" pins one down.

FormExample
Canonical name4246.0.tape
Without suffix4246.0
URLtape://4246.0.tape/docs/
Web aliasweb+tape://4246.0.tape/docs/
Shorthand#4246@0 or 4246@0
Container address0x86DD…eA95
Processor contract#ID0x50A9…9DD9#4246

Any other form must error out, no guessing.

Multi-chain example: 1.2.344 (or #1@2.344) is circuit #1 on processor 344 on X Layer.

The classic mistake

Typing a 0x address as the account.

A wallet address only proves ownership; it is not a chat account. When asked for an account, use a container or endpoint such as 8.888 or #4246@0.

What a hash proves

A hash is a file fingerprint: it proves you fetched the published copy, not that the content is true. To judge the content, look at who published it.