____ ____ ____ ____ ____ ____ ____
||e |||t |||h |||a |||u |||t |||h ||
||__|||__|||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|/__\|/__\|
使用量
pnpm add @0xsequence/ethauth (或 yarn add ... 或者说 npm install ...(中文(简体) )
格式
proof = eth.<address>.<claims>.<signature>.<extra>
地址
Hex编码中的账户地址 ie. '0x9e63b5BF4b31A7F8d5D8b4f54CD361344Eb744C5'.
注意,你不应该在面值时 将质地证明中的账号地址 —— 你必须分析证据 并用所提供的图书馆方法加以验证。 用于验证的地址包含在内 智能钱包账户(aka 合同账户).
索偿
a base64 已编码的 JSON 对象
interface Claims {
app: string
exp: number
iat?: number
n?: number
typ?: string
ogn?: string
}
字段 :
app(要求) - 请求出具质证的应用标识符exp(要求) - 在无九分之多的时间内过期,直到质证有效iat(optonal) - 在标有/签发质地证明的无九分之三时签发n(可选) - 可作为附加担保挑战号的非ce值typ(可选的) - 授权类型ogn(可选的) - 域名来源,要求出具质地证明
签署
索赔信息有效载荷的签名价值。 签名由EIP712计算 signTypedData 调用索赔对象。 签字可通过EC Recover 可收回至 确定EOA地址,或者您可能有一个不同的编码,例如EIP-1271所使用的编码, 以验证基于合同的账户签名.
示例 ETHAuth 编码/解码
EOA 账户签名
防毒药= eth.0x89d9f8f31817badb5d718cd6fb483b71dbd2dfed.eyJhcHAiOiJFV1RUZXN0IiwiaWF0IjoxNTk1NTMwODQwLCJleHAiOjE1OTU1MzExNDB9.0x233ab9164a677a41acc8d52c9e1d1a621acebf9bc8d956c8474618b589acebe10cc350deb4b02bf6951cec8bd23507170f204ca326a5a264b8f6f67fa2619c251c
解码并核实为:
- 账户地址 :
0x89D9F8f31817BAdb5D718CD6fb483b71DbD2dfeD - 索赔要求:
{"app":"EWTTest","iat":1595530840,"exp":1595531140} - 签名 :
0x233ab9164a677a41acc8d52c9e1d1a621acebf9bc8d956c8474618b589acebe10cc350deb4b02bf6951cec8bd23507170f204ca326a5a264b8f6f67fa2619c251c
基于合同的账户签名(可与EIP 1271核实)
防毒药= eth.0x9e63b5bf4b31a7f8d5d8b4f54cd361344eb744c5.eyJpYXQiOjE1OTQ3NDM4NDgsImV4cCI6MTYyNjI3OTg0OCwibiI6MTMzN30.0x000100012dd090aec5e4a9678f7968533c10fc42b07b9a23fa3b719f79a861adcfc7e1d958e3521bb061c34072f5435681390ccc9be19bf9da32320bd2356d0b4b4d316b1c02
解码并核实为:
- 账户地址 :
0x9e63b5bf4b31a7f8d5d8b4f54cd361344eb744c5 - 消息 :
{"iat":1594743848,"exp":1626279848,"n":1337} - 签名 :
0x000100012dd090aec5e4a9678f7968533c10fc42b07b9a23fa3b719f79a861adcfc7e1d958e3521bb061c34072f5435681390ccc9be19bf9da32320bd2356d0b4b4d316b1c02
自由主义
麻省理工学院