|
1 |
| -# Transfer Agent Protocol, Specification for a compliant cap table onchain [TAP](https://transferagentprotocol.xyz) |
2 |
| - |
3 |
| -Developed by: |
4 |
| - |
5 |
| -# [Transfer Agent Protocol](https://transferagentprotocol.xyz/) |
6 |
| - |
7 |
| -- [Poet](https://poet.network/) |
8 |
| -- [Plural Energy](https://www.pluralenergy.co/) |
9 |
| -- [Fairmint](https://www.fairmint.com/) |
10 |
| - |
11 |
| -This repo is based on the [Open Cap Table Coalition](https://github.com/Open-Cap-Table-Coalition/Open-Cap-Format-OCF) standard, with the license included in its entirety. In development, it's meant to be run in a Docker container with a local MongoDB instance. While in active development, it's meant to be run with [Anvil](https://book.getfoundry.sh/anvil/) and [Forge](https://book.getfoundry.sh/forge/). |
12 |
| - |
13 | 1 | <div align="center">
|
14 | 2 | <a href="https://github.com/transfer-agent-protocol/tap-cap-table/blob/main/LICENSE">
|
15 | 3 | <img alt="License" src="https://img.shields.io/github/license/transfer-agent-protocol/tap-cap-table">
|
16 | 4 | </a>
|
17 | 5 | </div>
|
18 | 6 |
|
19 |
| -## Dependencies |
20 |
| - |
21 |
| -- [Docker](https://docs.docker.com/get-docker/) |
22 |
| - |
23 |
| -- [Foundry](https://getfoundry.sh/) |
24 |
| - |
25 |
| -```sh |
26 |
| -curl -L https://foundry.paradigm.xyz | bash |
27 |
| -``` |
28 |
| - |
29 |
| -- [Mongo Compass](https://www.mongodb.com/try/download/compass) |
30 |
| - |
31 |
| -- [Postman App](https://www.postman.com/downloads/) |
32 |
| - |
33 |
| -- [Node.js v18.16.0](https://nodejs.org/en/download/) |
34 |
| - |
35 |
| -- [Yarn v1.22.19](https://classic.yarnpkg.com/en/docs/install/#mac-stable) |
36 |
| - |
37 |
| -We're using the official [MongoDB Docker image](https://hub.docker.com/_/mongo) for the local development database. You can find the [Docker Compose file](./docker-compose.yml) in the root of this repository. |
38 |
| - |
39 |
| -## Official links |
40 |
| - |
41 |
| -- [Contributor doc](https://coda.io/d/_dFoHg0h07Et/Transfer-Agent-Protocol_sua17) - to read about the project and how to contribute. |
42 |
| -- [Slack](https://transferagentprotocol.slack.com/) - invite only for now. |
43 |
| - |
44 |
| -## Getting started |
45 |
| - |
46 |
| -Ensure you have all dependencies setup. Clone the repository with OCF and Forge included as submodules: |
47 |
| - |
48 |
| -```sh |
49 |
| -git clone --recurse-submodules https://github.com/poet-network/tap-cap-table.git |
50 |
| -``` |
51 |
| - |
52 |
| -## Initial setup |
53 |
| - |
54 |
| -Our `.env.example` files are setup for local development with Docker and Foundry. You'll need to copy them to `.env` and update the values with your own. If you're a contributor working with us, you will get those values from our Bitwarden vault. |
55 |
| - |
56 |
| -Copy `.env.example` to `.env` in the root of the project. |
57 |
| - |
58 |
| -```sh |
59 |
| -cd tap-cap-table && cp .env.example .env |
60 |
| -``` |
61 |
| - |
62 |
| -In the root folder, pull the official Mongo image, and run the local development database with `docker compose`: |
| 7 | +# Documentation |
63 | 8 |
|
64 |
| -```sh |
65 |
| -docker compose up |
66 |
| -``` |
67 |
| - |
68 |
| -## Running Anvil |
69 |
| - |
70 |
| -This repo is onchain first. We use [Anvil](https://book.getfoundry.sh/anvil/) to run the local blockchain and deploy our cap table smart contracts. At all times, you should have Anvil running alongside Docker and nodemon. |
71 |
| - |
72 |
| -With the mongo DB running on Docker you can start Anvil. |
73 |
| - |
74 |
| -In the `/chain` directory, run: |
75 |
| - |
76 |
| -```sh |
77 |
| -anvil |
78 |
| -``` |
79 |
| - |
80 |
| -Install dependencies and setup [Foundry](https://book.getfoundry.sh/) and `forge` with our setup script: |
81 |
| - |
82 |
| -```sh |
83 |
| -yarn install && yarn setup |
84 |
| -``` |
85 |
| - |
86 |
| -## Deploying the cap table smart contracts |
87 |
| - |
88 |
| -In our architecture, each transaction is mapped to an external library, which ensures bytecode limits are never met. To deploy these libraries: |
| 9 | +Read official docs at [https://docs.transferagentprotocol.xyz](https://docs.transferagentprotocol.xyz/) to get started. |
89 | 10 |
|
90 |
| -1. Ensure you have Anvil running in the `/chain` directory |
91 |
| -2. Then, inside of the root directory run |
| 11 | +This repo is based on the [Open Cap Table Coalition](https://github.com/Open-Cap-Table-Coalition/Open-Cap-Format-OCF) standard, with the license included in its entirety. |
92 | 12 |
|
93 |
| -```sh |
94 |
| -yarn deploy-libraries |
95 |
| -``` |
| 13 | +## Contributing |
96 | 14 |
|
97 |
| -This will build all libraries and will take at least 5 minutes to complete. Each library is being deployed one at a time using a dependency graph that's generated with the command. |
| 15 | +We welcome all contributions. Please give a quick read to our [CONTRIBUTING](./CONTRIBUTING.md) guidelines to understand the them and the process. |
98 | 16 |
|
99 |
| -```sh |
100 |
| -yarn deploy-factory [.env file to use] |
101 |
| -``` |
| 17 | +## License |
102 | 18 |
|
103 |
| -This will deploy the factory as pointed to in the `.env` or the file you pass in, such as .env.local |
| 19 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
104 | 20 |
|
| 21 | +## OUTDATED README BELOW |
| 22 | +--- |
105 | 23 | ## Running the cap table server
|
106 | 24 |
|
107 | 25 | After the deployment script is completed, start the server with nodemon:
|
@@ -189,11 +107,3 @@ Integration test setup from no active processes:
|
189 | 107 | - In MongoDB compass, create/update `implementation_address` and `factory_address` in `jest-integration.factories`
|
190 | 108 | - If the `jest-integration` MongoDB databases dont exist: `cd .. && yarn test-js-integration`
|
191 | 109 | - Run `yarn test-js-integration`!
|
192 |
| - |
193 |
| -## Contributing |
194 |
| - |
195 |
| -See [CONTRIBUTING.md](./CONTRIBUTING.md) for details on how to contribute to this project. |
196 |
| - |
197 |
| -## License |
198 |
| - |
199 |
| -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
0 commit comments