atnotary
v0.1.3
Published
Notarize AT Protocol records on Ethereum using EAS
Downloads
19
Maintainers
Readme
AT Protocol Notary (atnotary)
Create permanent, verifiable attestations of AT Protocol records using Ethereum Attestation Service (EAS).
Why
- Standardized attestations - interoperable format used across ecosystem
- On-chain verification - stored on Ethereum/Base, immutable and public
- Composable - other projects can reference and build on attestations
- Infrastructure - explorers, indexers, and tooling already exist
- Multi-chain - works on Ethereum, Base, Optimism, Arbitrum
What Gets Attested
recordURI- Full AT Protocol URIcid- AT Protocol's content identifiercontentHash- DAG-CBOR hashpds- Personal Data Server URLtimestamp- When attested
Install
npm install -g atnotarySetup
- Create config file:
atnotary config- Edit
.atnotary.yaml:
privateKey: "0x..." # private key for writing
network: base-sepolia # default network- Get testnet ETH:
- Sepolia: https://sepoliafaucet.com/
- Base Sepolia: https://bridge.base.org/
That's it! Default schemas are provided for all networks.
Custom Schema (Optional)
If you want to deploy your own schema:
atnotary init --network sepoliaThen add the schemaUID to your .atnotary.yaml file.
Usage
# notarize
atnotary notarize "at://did:plc:xxx/app.bsky.feed.post/abc"
# verify
atnotary verify "0xabc..." --network sepolia
# compare with current state
atnotary verify "0xabc..." --compareLibrary Usage
import { ATProtocolNotary } from 'atnotary';
const notary = new ATProtocolNotary({
privateKey: "0x...", // optional, just for writing
}, 'sepolia');
const result = await notary.notarizeRecord('at://...');
const attestation = await notary.verifyAttestation('0x...');
const comparison = await notary.compareWithCurrent(attestation);Networks
- Ethereum Sepolia (testnet)
- Base Sepolia (testnet)
- Base (mainnet)
Use Cases
- Political accountability
- Journalism evidence
- Open source governance
- Content authorship proof
- Legal documentation
License
MIT
