Skip to content

Learn how to use TACo Protocol to encrypt and decrypt data for a message board application based on on-chain condition logic while storing on ComposeDB, built on the Ceramic Network.

License

Notifications You must be signed in to change notification settings

nucypher/taco-composedb

 
 

Repository files navigation

TACo with ComposeDB: Message Board Application

This simple browser-based messaging application illustrates how to integrate TACo's encrypt/decrypt API and predicate access to private data on prespecified on-chain conditions – all while storing the encrypted data on ComposeDB.

Note that this demo is based on a fork of ceramicstudio’s lit-composedb repo, with the TACo library replacing LIT. This demonstrates that developers who have already integrated LIT’s permissioned service can easily substitute it for TACo’s decentralized access control plugin.

Getting Started


This demo requires:

  • A Metamask wallet with Polygon Amoy testnet added, and multiple accounts to mimic a real-world decryption flow.
  • A positive balance of Polygon Amoy testnet tokens (> 0.00 MATIC) held in one of the accounts, in order to satisfy the default access conditions.
  • Node v16 running in your terminal.

  1. Install your dependencies:
npm install
  1. Generate your admin seed, admin did, and ComposeDB configuration file:
npm run generate
  1. Run your application (for subsequent runs, only this step is required):
npm run dev

The application will run on http://localhost:3000.

To reset the message and session data between runs of the demo, click the Reset button on the navigation bar.

Learn More

To learn more about TACo please visit the following links:

To learn more about Ceramic please visit the following links:

License

Dual licensed under MIT and Apache 2.

About

Learn how to use TACo Protocol to encrypt and decrypt data for a message board application based on on-chain condition logic while storing on ComposeDB, built on the Ceramic Network.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 69.3%
  • JavaScript 24.5%
  • CSS 6.2%