Skip to content

Commit d4ddb28

Browse files
eolesinskiHalosGhost
authored andcommittedJul 15, 2024·
readme improvements
Signed-off-by: eolesinski <eo2454@columbia.edu>
1 parent d792c5e commit d4ddb28

File tree

2 files changed

+83
-27
lines changed

2 files changed

+83
-27
lines changed
 

‎README.md

+54-27
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1+
<h1 align="center">
2+
<img src="docs/opencbdc-banner-out.svg" width="400">
3+
</h1><br>
4+
15
![CI Status](https://github.com/mit-dci/opencbdc-tx/actions/workflows/ci.yml/badge.svg)
26
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](docs/code_of_conduct.md)
7+
[![](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://opencbdc.zulipchat.com/register/)
8+
[![MIT License](https://img.shields.io/badge/License-MIT-green)](https://opensource.org/licenses/MIT)
9+
![GitHub Stars](https://img.shields.io/github/stars/mit-dci/opencbdc-tx?style=social)
10+
311

412
# Introduction
513

@@ -13,9 +21,9 @@ For higher-level conceptual explanations, as well as findings and conclusions re
1321
Initially, we focused our work on achieving high transaction throughput, low latency, and resilience against multiple geographical datacenter outages without significant downtime or any data loss.
1422
The design decisions we made to achieve these goals will help inform policy makers around the world about the spectrum of tradeoffs and available options for CBDC design.
1523

16-
# Important News
24+
# News
1725

18-
**NOTE:** In cases where there are significant changes to the repository that might need manual intervention down-stream (or other important updates), we will [make a NEWS post](NEWS.md).
26+
If there are significant changes to the repository that may require manual downstream intervention (or other important updates), we will make a [NEWS post](NEWS.md).
1927

2028
# Architecture
2129
We have explored several architectures under two broad categories as follows:
@@ -54,81 +62,100 @@ The architecture is composed of two layers:
5462
- Unmodified smart contracts from the Ethereum ecosystem can be deployed directly onto our EVM implementation.
5563

5664
Read the [PArSEC Architecture Guide](docs/parsec_architecture.md) for more details.
57-
# Contributing
65+
# Contributing and Discussion
5866

59-
You can [sign up](https://dci.mit.edu/opencbdc-interest) to receive updates from technical working groups and to learn more about our work.
67+
You can join the [OpenCBDC mailing list](https://dci.mit.edu/opencbdc-interest) to receive updates from technical working groups and learn more about our work.
6068
If you would like to join our technical discussions and help workshop proposals, you can join our [Zulip chat](https://opencbdc.zulipchat.com/register/).
6169

6270
For more information on how to contribute, please see our [Contribution Guide](docs/contributing.md)!
6371

6472
If you want to dive straight in, take a look at our issue tracker's list of [good first issues](https://github.com/mit-dci/opencbdc-tx/labels/difficulty%2F01-good-first-issue).
6573

66-
# Get the Code
74+
# Setup
75+
76+
If you would like to install OpenCBDC and run it on your local machine, follow the steps below:
77+
78+
## Get the Code
6779

6880
1. [Install Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
69-
1. Clone the repository (including submodules)
70-
- `git clone --recurse-submodules https://github.com/mit-dci/opencbdc-tx`
81+
1. Clone the repository (including the submodules using: `--recurse-submodules`)
7182

72-
# Setup the build envirnoment
83+
```
84+
git clone --recurse-submodules https://github.com/mit-dci/opencbdc-tx
85+
```
7386
74-
Use these directions if you want to build the source on your machine.
75-
If you just want to run the system, see "Run the Code" below.
87+
## Setup the build environment
88+
89+
Use these directions if you would like to build the source code on your machine.
90+
Alternatively, if you just want to run the system, skip to the [Run the Code](#run-the-code) section below.
91+
92+
1. Setup the build-environment
7693
77-
1. Setup the build-environment.
7894
Note that this script is just a convenience to install system-wide dependencies we expect.
7995
As a result, it uses the system package manager, requires `sudo`, and should only be run **once**.
8096
```console
8197
# ./scripts/install-build-tools.sh
8298
```
8399
1. Setup project dependencies
84-
This script builds and installs a local copy of several build-dependencies which are not widely packaged.
85-
Because it installs to a local, configurable prefix (defaulting to `./prefix`), it does not need root permissions to run.
86-
Furthermore, it should always be safe to delete `prefix` and rerun this script.
100+
101+
This script builds and installs a local copy of several build-dependencies that are not widely packaged.
102+
Because the installation is done in a user-specific location (`./prefix` by default) rather than a system-wide one, you do not need root permission to run the script.
103+
Additionally, if you want to remove the installed build-dependencies or restart the installation process, you can safely delete the `prefix` directory and rerun this script.
87104
```console
88105
$ ./scripts/setup-dependencies.sh
89106
```
90-
1. Run the build
107+
1. Run the build script
91108
```console
92109
$ ./scripts/build.sh
93110
```
94111

95-
## macOS
96-
Note that if you have not already installed the xcode cli tools you will need to:
112+
### macOS
113+
Note: If you have not already installed the Xcode CLI tools, you will need to do so:
97114

98115
```console
99116
# xcode-select --install
100117
```
101-
# Run the Code
118+
# Documentation
102119

103-
The API Reference is now housed in [an external repository](https://github.com/mit-dci/opencbdc-tx-pages/).
104-
See the [live deployment](https://mit-dci.github.io/opencbdc-tx-pages/) to browse.
120+
Github Pages hosts the official copy of the OpenCBDC [API Reference](https://mit-dci.github.io/opencbdc-tx-pages/).
105121

106-
## UHS-based Architectures (2PC & Atomizer)
122+
This reference is housed in [an external repository](https://github.com/mit-dci/opencbdc-tx-pages/).
123+
124+
## Running the Code
125+
126+
### UHS-based Architectures (2PC & Atomizer)
107127
See the [2PC & Atomizer User Guide](docs/2pc_atomizer_user_guide.md)
108-
## PArSEC Architecture
128+
### PArSEC Architecture
109129
See the [PArSEC User Guide](docs/parsec_user_guide.md)
130+
110131
# Testing
111132

112-
Running Unit & Integration Tests
133+
Users can verify the setup by running both unit/integration and end-to-end tests on OpenCBDC.
134+
135+
## Unit and Integration Tests
136+
137+
### Running the tests:
138+
139+
1. Build all Docker images
113140

114-
1. Build all docker images
115141
```console
116142
$ ./scripts/build-docker.sh
117143
```
118-
1. Run Unit & Integration Tests
144+
1. Run Unit and Integration Tests
145+
119146
```console
120147
$ docker run -ti opencbdc-tx-builder ./scripts/test.sh
121148
```
122149

123150
## E2E Testing with Kubernetes
124151

125-
### Requirements
152+
### Requirements:
126153
- Go (go test library used to run tests)
127154
- Minikube
128155
- Helm
129156
- Kubectl
130157

131-
### Running tests
158+
### Running the tests:
132159

133160
1. `./scripts/build-docker.sh`
134161
1. `./scripts/test-e2e-minikube.sh`

‎docs/opencbdc-banner-out.svg

+29
Loading

0 commit comments

Comments
 (0)
Please sign in to comment.