diff --git a/README.md b/README.md new file mode 100644 index 0000000..10db5f6 --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# Decentagram: Highly-Available Decentralized Publish/Subscribe Systems + +This is the archival repository for the source code of Decentagram submitted to +Artifact Evaluation (AE) of DSN 2024. +The repository with DOI assigned made for the AE submission is available at: +[https://doi.org/10.5281/zenodo.10224298](https://doi.org/10.5281/zenodo.10224298) + +Please note that this is an archival repository. +Therefore, the source code stored **here is not being actively maintained**. +**For links to the actively maintained repositories, please read below**. + +## Directory Structure + +- `cameraready.pdf`: This is the paper associated with this work +- `artifact-eval-steps.pdf`: This document lists the steps to run AE +- `pubsub-onchain` + - Actively maintained repository: + [https://github.com/lsd-ucsc/decent-pubsub-onchain](https://github.com/lsd-ucsc/decent-pubsub-onchain) + - This directory contains the source code for the Publisher, Subscriber, and Broker contracts. +- `revoker-onchain` + - Actively maintained repository: + [https://github.com/lsd-ucsc/decent-revoker-onchain](https://github.com/lsd-ucsc/decent-revoker-onchain) + - This directory contains the source code for the revoker contracts. +- `Ethereum` + - Actively maintained repository: + [https://github.com/lsd-ucsc/DecentEthereum](https://github.com/lsd-ucsc/DecentEthereum) + - This directory contains the source code for the Ethereum client, + which acts as an off-chain broker introduced in our paper. +- `Revoker` + - Actively maintained repository: + [https://github.com/lsd-ucsc/DecentRevoker](https://github.com/lsd-ucsc/DecentRevoker) + - This directory contains the source code for the off-chain revocation list + monitor. +- `libs` contains all the libraries needed to compile the programs and contracts. + It also contains helper programs to deploy contracts on the EVM-compatible + networks. + Here, we will be highlighting some of the important libraries: + - `ra-onchain`: + - Actively maintained repository: + [https://github.com/lsd-ucsc/decent-ra-onchain](https://github.com/lsd-ucsc/decent-ra-onchain) + - This library contains the smart contracts for on-chain parsing and + verification of the Decent Self-Attestation certificates generated by + enclaves. + - `PyEthHelper` and `PyEthHelper2`: + - Actively maintained repository: + [https://github.com/lsd-ucsc/PyEthHelper](https://github.com/lsd-ucsc/PyEthHelper) + - This is the helper program that interacts with the Ethereum network via + JSON-RPC over HTTP. + It is used to deploy contracts, send transactions, and call contract + functions. +