App Engine is a Go application designed to simplify and enhance blockchain interactions on EVM-compatible chains. It aims to create great user experiences on EVM-compatible blockchains by providing a unified solution for reading and writing data, as well as handling event-based interactions.
Engine addresses several key challenges in blockchain development:
- Simplified Transactions: Submitting abstracted transactions (user operations) becomes easier.
- Chronological Data Reading: Efficiently read data in chronological order from the blockchain.
- Event Handling: React to on-chain events through WebSockets (for application displays) or webhooks (for system responses).
- Data Enrichment: Attach additional off-chain data to enhance use cases (e.g., transaction descriptions for ERC20 transfers).
- Real-time Interaction: Make transactions and their data available before they are confirmed on-chain, enabling immediate user feedback and interaction.
- Bundler
- RPC calls through REST Endpoints
- pm_sponsorUserOperation
- pm_ooSponsorUserOperation
- eth_sendUserOperation
- eth_chainId
- RPC calls through WebSocket
- pm_sponsorUserOperation
- pm_ooSponsorUserOperation
- eth_sendUserOperation
- eth_chainId
- RPC calls through REST Endpoints
- Smart Contract Logs
- Endpoints
- Fetch in a date range
- WebSocket
- Listen by Contract + Event Signature + Data (optional)
- Listen by Contract + Event Signature + Data OR Data (optional)
- Indexing
- Listen by Contract + Event Signature
- Mechanism to automate requests to start indexing
- Manually for system admins
- By listening to a Smart Contract (people could pay to start indexing)
- Allow attaching extra data to a log
- Store in DB
- Hash
- Created at
- Sender (used to determine if modifying extra data is allowed)
- Destination Contract Address
- Amount
- Status
- Topics (as JSON)
- Extra Data (as JSON)
- Webhooks (make a network request based on an event being triggered)
- Endpoints
Citizen Wallet is an open-source project focused on improving blockchain user experiences. Engine is a core component of this ecosystem.
- Website: https://citizenwallet.xyz
- Discord: https://discord.citizenwallet.xyz
- X: @citizenwallet
Join our community to contribute, ask questions, or learn more about the project!