Culendar is a decentralized and encrypted event management platform, inspired by lu.ma. With Culendar, you can create events, invite participants, and manage all event details securely.
- Encrypted Event Management: All event details are encrypted, ensuring that only authorized participants can access them.
- Privacy-Focused: Only the event creator can see the list of attendees. Attendees cannot see information about other participants.
- Secure Invitations: Invite participants securely, ensuring that only those intended can access event details.
- Decentralized: Built on decentralized principles, ensuring robustness and resilience.
To start using Culendar, follow these steps:
- Create an Event: Set up your event with all necessary details.
- Invite Participants: Send secure invitations to your intended attendees via a message on-chain.
- Manage Your Event: Keep track of attendees and event specifics through an easy-to-use interface.
Culendar provides several utility functions to interact with the smart contract and manage event-related data. Here are the key utility functions:
Queries events that have been created within a specified block range.
Queries events that have been confirmed within a specified block range.
Queries events that have been declined within a specified block range.
Queries events where participants have joined the waitlist within a specified block range.
Helper function to batch query filters to avoid hitting block limits.
Placeholder function to load all peers from the registry. This needs to be implemented.
Finds and decrypts events that participants have joined using the waitlist. This function uses the xchacha20poly1305
cipher for encryption/decryption.
cd frontend/culendar
npm install
npm run build
forge build
forge test
forge script script/Counter.s.sol:CounterScript --rpc-url <your_rpc_url> --private-key <your_private_key>
cast <subcommand>
forge --help
anvil --help
cast --help