A protocol for commenting, built on Ethereum. ethcomments.xyz | docs
This monorepo contains all the auxilliary tools and libraries of the Ethereum Comments Protocol.
indexer/- Ponder.sh based blockchain indexer service for ECPdemo/- Main demo application showcasing ECP integrationembed/- Embeddable components for ECPhomepage/- Project homepage and documentation
embed-demo-blog/- Demo blog with embedded ECP commentsdemo-rn-expo/- React Native demo applicationsigner/- Minimal boilerplate for deploying your own signer API
protocol/- Smart contracts and core protocol implementationsdk/- TypeScript/JavaScript SDK for ECP integrationshared/- Shared utilities and typesbuild-tools/- Build and development toolingtest-protocol/- Protocol testing utilitieseslint-config/- Shared ESLint configurationtypescript-config/- Shared TypeScript configuration
- Protocol documentation
- Integration guides
- API references
To get started with development, copy the .env.example files in each package to .env and fill in the values in each of the projects inside of apps, as well as packages/protocol
Then, install dependencies and run the development server:
pnpm install
pnpm devThis will start a local anvil node, deploy the contracts, start the indexer with API, and a demo frontend that integrates ECP.
If you are running locally, you need to make sure you are using a chain that:
- supports EIP 7702
- our contract is deployed on it
- supports 0x swaps
Then make sure you are using that chain in the demo app. In lib/wagmi.ts change the chain to the chain you are using.
Important: We used Metamask and base to test the EIP 7702. Make sure that chain you are testing is also supported by Metamask.
Based on chain you choose, you need to provide PONDER_RPC_URL_{chain_id} in .env file to enable indexing of the chain.