1 个不稳定版本
0.1.0 | 2023 年 5 月 1 日 |
---|
#7 在 #limitation
2KB
📌 API 规范(OpenAPI)
API 规范可在 enstate.rs 或本地 {your_site_here}/docs
找到。
🌐 域名托管版本
出于演示目的(以及一次性使用),可在 https://enstate.rs 和 https://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_RESOLVER
、RPC_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
。待办事项:添加对 ipns
、swarm
、arweave
、onion
、onion3
、skynet
的支持。
常见记录
对于每个配置文件,我们查找以下记录:您可以通过调整 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
环境变量来自定义您要查询的链。仅查询感兴趣链可以显著提高您请求的性能。