@ 代理初始/代理账户
部分 代理先导 ——代理应用程序的开源信任底板:可以签名的身份,行为时间检查权限,所有者携带的证据. 开发者工具包 • 妇女 所有软件包
地址就是身份 地址就是身份.
此堆中每个人、组织、服务代理人和金库都有一个ERC-4337智能代理人地址(0x… /CAIP-10 (中文(简体) ) eip155:<chainId>:<address>) (中文(简体) ). 不是一个附有钱包的用户名——地址本身是犬科身份,其他一切(名称,密码,配置,注册条目)都是可以替换的指向它的一面. 此套件是主机的出处:它反向生成地址,部署账户,构建用户操作,并验证ERC-1271签名.
这种设计选择产生了大多数智能账户SDK无法提供的后果:CREATE2盐出自认证方法和用户范围——从不出自名字,从不出自证书材料(CREATE2)ADR-0010 (英语), (中文(简体) ), 第220区) (中文(简体) ). 失去一个密码,旋转一个签名器,更改您的名字——地址永远不动,它所颁发的每个代表团都保持有效(ADR-0011 (英语)) (中文(简体) ).
部分 代理原始产品 ——代理经济的信托基底:一个有监护,授权,命名,证书,审计证据的犬类智能代理身份,设计成一个系统.
使用此选项时
- 您需要反事实或部署的智能代理地址( CREATE2 工厂) .
- 惠璶
createAccount, (中文(简体) ),isDeployed, (中文(简体) ),buildUserOp,或ERC-1271验证路径. - 您需要捆绑助手( Y)
BundlerClient,打包的用户操作气田). - 您需要法定人数 / 管理有效载荷散列 用于监管的账户操作 .
不使用此选项
- 通行证仪式,SIWE、OAuth或JWT会议——
connect-auth。 。 。 . .agent姓名登记或决议agent-naming。 。 。 .- AgentCard 剖面或端点验证 →
agent-profile。 。 。 . - 监护人入学、收回证书或法定人数时间安排
account-custody。 。 。 . - 代表团标志或会议授权 □
delegation。 。 。 .
安装
工作空间- 内部;尚未出版.
pnpm add @agenticprimitives/agent-account
60- 第二级快速启动
import { AgentAccountClient } from '@agenticprimitives/agent-account';
import { deriveSaltFromEmail } from '@agenticprimitives/connect-auth';
import type { Signer } from '@agenticprimitives/connect-auth';
const account = new AgentAccountClient({
rpcUrl: process.env.RPC_URL!,
chainId: 84532,
entryPoint: process.env.ENTRYPOINT_ADDRESS as `0x${string}`,
factory: process.env.AGENT_FACTORY_ADDRESS as `0x${string}`,
});
// Salt from auth scope — NOT from a .agent name (ADR-0010).
const salt = deriveSaltFromEmail(user.email, 0);
const address = await account.getAddress(bootstrapSigner.address, salt);
if (!(await account.isDeployed(address))) {
await account.createAccount(
{ owner: bootstrapSigner.address, salt },
bootstrapSigner as Signer,
);
}
地址存在于账户之前。 你可以说出它的名字,资助它,并向它发出相反的权威;部署在它第一次行动时发生.
主要概念
- 智能代理地址: 条形标识符; 跨证书稳定 旋转( e)ADR-0011 (英语)) (中文(简体) ).
- CREATE2 盐: 仅从认证方法 + 用户范围——从未从
.agent名称 (第220区) (中文(简体) ). - 签名: 可插接接口
connect-auth;这个软件包消耗它. - 用户操作: ERC-4337 v0.8 (中文(简体) ). 用户操作构建路径通过
buildUserOp。 。 。 .
见 docs/concepts.md。 。 。 .
常见食谱
import { buildExecuteCallData, type ContractCall } from '@agenticprimitives/agent-account';
const calls: ContractCall[] = [
{ to: target, value: 0n, data: calldata },
];
const executeData = buildExecuteCallData(calls);
import { encodeWebAuthnSignature, SIG_TYPE_WEBAUTHN } from '@agenticprimitives/agent-account';
// WebAuthn ceremony output is produced by connect-auth; on-chain wire format here.
怎么不一样
Safe, ZeroDev, and Alchemy Account Kit ship 优秀的智能账户——停在那里. 帐户是一个容器;它是谁,它可能做什么,以及如何证明它是别人的一体化问题。 这里的帐户是基底的锚: 同一个地址就是 agent-account 来源是什么 agent-naming 决定, account-custody 管理, delegation 授权问题 audit 属性证据。 账户合同本身是一个很薄的ERC-7579模块核心(第209区)——保管,阈值,会话机制是模块,不是内含的特征. 我们移植了那些值得移植的图案(安全式的签名包装),而不用花时间依赖别人的账户堆栈.
运行时间支持
通过节点和浏览器 viem。链读和交易需要 RPC URL
提交.
安全变化因素
- 盐出自稳定的keccak输入;没有原始用户提供盐字节.
- 条目点版本在客户端配置中是明确的.
- 靴子签章不同于日常保管人签章.
见 docs/security.md 财务报告和审定财务报表 AUDIT.md。 。 。 .
文档地图
docs/concepts.md——犬科特征与侧面.docs/api.md——公共API指南.docs/security.md——变化多端和信任界限.docs/troubleshooting.md——常见错误.docs/migration.md——移民笔记.CLAUDE.md——代理线路.spec.md- 光谱指针.
验证
pnpm check:agent-account
pnpm check:forbidden-terms
状态
测试网/飞行员准备 生产启动在基础README的公开核对表上进行——包括第三方合同审计和治理关键轮换。 追踪所有安全发现 docs/audits/findings.yaml。 。 。 .
许可证
失败.