1 个不稳定版本

0.1.0 2023 年 5 月 1 日

#7#limitation

GPL-3.0 许可证

2KB

enstate.rs

📌 API 规范(OpenAPI)

API 规范可在 enstate.rs 或本地 {your_site_here}/docs 找到。

🌐 域名托管版本

出于演示目的(以及一次性使用),可在 https://enstate.rshttps://worker.enstate.rs 提供托管实例。此实例按原样提供,并作为礼物献给社区。请勿滥用。

📌 示例

name/luc.eth          name/rescueorg.eth     name/antony.sh
image/vitalik.eth    name/khori.eth             name/helgesson.eth
bulk/address           sse/address                   header/luc.eth

🚀 入门

我们相信软件应该是简单和容器化的。Enstate 为您提供了一个轻量级的 Docker 容器,您可以在任何地方运行它。

🐳 Docker

docker run \
  -p 3000:3000 \
  -e REDIS_URL=redis://0.0.0.0:6379 \
  -e RPC_URL=https://rpc.ankr.com/eth \
  ghcr.io/v3xlabs/enstate:1.0.5

🐳 Docker Compose

version: "3.8"
services:
    enstate:
        image: ghcr.io/v3xlabs/enstate:1.0.5
        ports:
            - 3000:3000
        environment:
            - REDIS_URL=redis://redis:6379
            - RPC_URL=https://rpc.ankr.com/eth
        depends_on:
            - redis
    redis:
        image: redis:6.2.5-alpine
        ports:
            - 6379:6379

🦀 Cloudflare Workers

cd worker

本地运行 worker

cp .dev.vars.example .dev.vars

现在编辑您的 .dev.vars 文件,包括环境变量 UNIVERSAL_RESOLVERRPC_URL(可选)和 OPENSEA_API_KEY(可选)。

要本地运行 worker,现在可以运行

pnpm dev

部署到 Cloudflare Workers

通过 wrangler 或 Cloudflare 控制台创建一个 KV 命名空间

pnpm wrangler kv:namespace create <YOUR_NAMESPACE>

将新创建的 KV 命名空间的 id 复制到您的 wrangler.toml。无论您在创建时给它取什么名字,binding 的值应保持为 enstate-1

部署工作器

pnpm wrangler deploy

上传您的秘密

echo "https://rpc.ankr.com/eth/XXXXXX" | pnpm wrangler secret put RPC_URL
echo "XXXXX" | pnpm wrangler secret put OPENSEA_API_KEY

此外,还可以在 worker.enstate.rs 找到托管实例。

贡献

独立服务器

cd server && cargo run -p enstate

Cloudflare 工作器

cd worker && pnpm dev

有关在本地运行工作器的更多信息,请参阅 在本地运行 Cloudflare 工作器

功能

以下是 Enstate API 提供的功能简短摘要,包括限制。

头像 & 标题图像

在 ENSProfile 对象的最高级别提供了额外的 avatar 字段。该字段是头像图像的 URL,可选的网关重写适用于 IPFS 和 IPNS 哈希。

您也可以通过使用 /i/{name}/h/{name} 端点直接访问用户的头像图像。

内容哈希

目前为 有限实现。仅支持 ipfs。待办事项:添加对 ipnsswarmarweaveoniononion3skynet 的支持。

常见记录

对于每个配置文件,我们查找以下记录:您可以通过调整 PROFILE_RECORDS 环境变量来自定义您要查询的记录。缩小此列表的大小可以显著提高您请求的性能。

记录类型 描述
描述 描述
url 配置文件的 URL
name 配置文件名称
mail 电子邮件地址
email 电子邮件地址
avatar 头像的 URL
header 标题图像的 URL
display 显示名称
location 位置
timezone 时区
language 语言
pronouns 代词
com.github GitHub 用户名
org.matrix Matrix 用户名
com.twitter Twitter 用户名
com.discord Discord 用户名
social.bsky Bsky 用户名
io.keybase Keybase 用户名
org.telegram Telegram 用户名
social.mastodon Mastodon 用户名
network.dm3.profile DM3 配置文件
network.dm3.deliveryService DM3 交付服务

多链支持

默认情况下,我们查询各种链的配置文件。您可以通过调整 MULTICOIN_CHAINS 环境变量来自定义您要查询的链。仅查询感兴趣链可以显著提高您请求的性能。

无运行时依赖