乙醇
决定性 SVG eNS 名称的编织图案 - 基因,在链上准备
每个名字都用阿凡达 同一个名字总是出现 同一个身份,不同的
名字会变成不同的布,所以 nick.eth 财务报告和审定财务报表 vibes.eth 即时
可以区分 将一个名字绑入其所有者, 织件在名称被重新编织时
换手.
- (原始内容存档于2018-10-21). ENS-native. 从名字的种子
namehash所以每个名字都有自己的编织; 和主人结合 地址 因此,模式在转移时发生变化,或者使用 单凭身份身份 就可以继续转移. - 平地埃特鲁姆的地址也是. 没有ENS名字吗? 传一个空地址给 经典钱包身份标识 - 同文库,没有附加设置,输出不变.
- 这个 身份 选择编织 颜色 是一个参数,您通过 永远不会 更改结构( 随意重新显示任何身份) .
- 18个命名的织物,两个渲染样式:
tiles(默认, 图标外观 - 二通 软框上纵向药丸)和threads(浓密的布料). - 有效 每个身份的独特性:它决定了选择18个织物之一
(通过)
patternForIdentity编号 :generateIdenticon和种子每个变体,所以 不同的身份不会碰撞 见 身份。 。 。 .
使用量
import {
generateIdenticon,
patternForIdentity,
generatePattern,
generatePatternDataURI,
generateAllPatterns,
listPatterns,
} from "./etherloom";
import { namehash } from "viem/ens";
// ENS-native: one woven avatar per name (color is required, #RGB or #RRGGBB).
generateIdenticon({ namehash: namehash("vitalik.eth") }, "#f03090");
// Bind the name to its owner so the weave changes hands with the name.
generateIdenticon({ address: "0xd8dA…6045", namehash: namehash("vitalik.eth") }, "#f03090");
// No ENS name? A bare address still works - the classic wallet identicon.
generateIdenticon("0xd8dA…6045", "#f03090");
// Which weave a name maps to, and picking the weave yourself:
patternForIdentity({ namehash: namehash("nick.eth") }); // -> "Herringbone", etc.
generatePattern({ namehash: namehash("nick.eth") }, "Herringbone", "#f03090"); // explicit weave override
// options: backgroundColor, style ("tiles" | "threads"), width, height, cellSize
generatePattern({ namehash: namehash("nick.eth") }, "2-2 Twill", "#3366cc", { width: 240, height: 240, cellSize: 24 });
generatePattern("0xd8dA…6045", "Herringbone", "#f03090", { style: "threads" });
generateAllPatterns({ namehash: namehash("nick.eth") }, "#2e9e5b"); // all 18 as SVG
generatePatternDataURI({ namehash: namehash("nick.eth") }, "Basket Weave", "#ff9800"); // data: URI for <img>
身份:ENS名称、地址或两者兼有
每个入口都有一个身份 ENS - 本地路径是一个名字
namehash - 预算 bytes32 节点从 维姆是因为
namehash() 或者说 @ensdomains/ensjs。这个库将保持无依赖性,永远不会
将名称本身正常化,所以您要通过节点,而不是名称字符串:
import { namehash } from "viem/ens";
// Name only: one avatar per name, stable across ownership transfers.
generateIdenticon({ namehash: namehash("vitalik.eth") }, "#f03090");
// Name + owner: the weave is re-woven if the name changes hands.
generateIdenticon({ address: "0xd8dA…6045", namehash: namehash("vitalik.eth") }, "#f03090");
// Power user / no ENS: a bare address string, or a zero / omitted namehash -
// the classic wallet identicon, byte-for-byte unchanged.
generateIdenticon("0xd8dA…6045", "#f03090");
generateIdenticon({ address: "0xd8dA…6045", namehash: "0x0" }, "#f03090"); // same as above
namehash | address | 结果 |
|---|---|---|
| 设定 | 删除 | 名字阿凡达, 各种转让之间稳定 (ENS-内在) |
| 设定 | 设定 | 名称为阿凡达 更改所有者 |
| 零 / 省略 | 设定 | 地址标识( 功率用户/ 无 ENS) |
这个 0x 前缀和大小写无关紧要,全零 ENS 根
节点( e)0x0)是"无名"的哨来回倒入地址唯一的种子.
脚本
pnpm install
pnpm test # node:test suite
pnpm demo # console demo
pnpm gallery # write gallery.html and open it (optional: pnpm gallery 0xAddr "#color")
交互式演示
docs/ 有两个静态页面 - 输入 ENS 名称或 Ethereum 地址
(已解决 维姆)和一个颜色:
identicon.html- 一个身份驱动编织(generateIdenticon(中文(简体) )index.html- 所有18种模式的比较
pnpm build:web
pnpm dlx serve docs
# identicon -> http://localhost:3000/identicon.html
# all patterns -> http://localhost:3000/
模式
马特·里布(Matt Rib Irrrent ) · ENS 垂直对等 · 平地织布(Plain Weave) · 曲折平地 · 织布 常规 · 萨丁织布 · 猎犬牙 · 萨丁织布 · 皇家牛津 2–2 Twill 3–3 Twill 织接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接 圆角-窗帘-红外骨-738对角+
许可证
麻省理工学院