diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..5a327113 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,77 @@ +# Verax Attestation Registry - Contribution Guide + +Verax Attestation Registry is a community-led initiative, with developers from various companies and different +backgrounds. While we are more than happy to get help from multiple sources, we need to rely on strong Ways of Working. + +## Project Management + +We use Notion for meeting minutes and other WIP documents such as the functional backlog. +Task tracking is done through [GitHub issues](https://github.com/Consensys/linea-attestation-registry/issues) and +[GitHub Project](https://github.com/orgs/Consensys/projects/17/views/2). + +_Contact us to get access_ + +## Issue Lifecycle + +The lifecycle of an issue is as follows: + +1. Draft +2. Next Milestone +3. Ready for development +4. In progress +5. Blocked +6. Peer-review +7. QA +8. Done +9. Released +10. Won’t do + +## Meetings + +- Core contributors meet on Monday, Wednesday and Friday for a **sync call**. +- **Technical Workshops** are held every Monday. +- **Functional Reviews** are held every Thursday. +- **Office Hours** are held every other Thursday. + +## Branching Model + +Our project follows the GitFlow branching model. +Here's a brief overview of the branches we use: + +- `main`: This branch contains the latest release of the project. +- `release/VERSION_NUMBER`: This branch contains code that has been validated by the QA process and is ready for + release. +- `dev`: This branch contains the latest features that have been developed but not yet released. +- `feature/slug-name`: Each feature ticket has its own branch for development. +- `bugfix/slug-name`: Each bug ticket has its own branch for development. +- `chore/name`: Each task ticket has its own branch for development. + +When creating a pull request, please follow the same naming pattern as branch naming: `feat: Title of the ticket`. +All commits of a PR are squashed and branches are deleted after merging. +Merging requires at least one peer-review from the code owners, but two are encouraged. +You cannot validate your own PR. +Rebasing is strongly encouraged. +Personal forks are allowed, but CI tests must pass before merging. + +## Development + +Our code repository is hosted on GitHub. +We use the Foundry framework for Solidity development. +The project includes linters/formatters (prettier + eslint + solhint). +Continuous Integration and Continuous Deployment are handled via GitHub Actions. +The CI process includes Lint, Compile, Unit tests, and Coverage checks. +The CD process is still being defined. + +## Communication + +All project communication is done through Discord. +This includes general discussions, updates and decision-making. +Please ensure you have joined our Discord server to stay updated and participate in the project discussions. + +## Bugs + +If you encounter a bug, please report it through GitHub issues. When reporting a bug, please provide a clear description +of the issue, steps to reproduce it, and if possible, a proposed solution or fix. +This will help us address the issue more effectively. + +Please use the `bugfix/slug-name` branch for developing bug fixes. diff --git a/README.md b/README.md index 15dd8094..d30f6cb7 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,22 @@ -## Verax +## Verax Attestation Registry **Verax, previously known as "Linea Attestation Registry", is a set of contracts that allows anyone to read and write attestations of any type and any subject.** +

+ Verax Logo +

+ +## Contribution + +Verax Attestation Registry is a community-led initiative, with developers from various companies and different +backgrounds. While we are more than happy to get help from multiple sources, we need to rely on strong Ways of Working. + +Don't hesitate to check our [Contribution Guide](./CONTRIBUTING.md) before pushing your first code to the repo! + ## Contracts addresses -### Testnet +### Linea Testnet - Router = [0x736c78b2f2cBf4F921E8551b2acB6A5Edc9177D5](https://goerli.lineascan.build/address/0x736c78b2f2cBf4F921E8551b2acB6A5Edc9177D5) @@ -20,7 +31,7 @@ attestations of any type and any subject.** - AttestationReader = [0x65c8294C7aF0f0bDDe51eF92AF850613bb629fc6](https://goerli.lineascan.build/address/0x65c8294C7aF0f0bDDe51eF92AF850613bb629fc6) -### Mainnet +### Linea Mainnet - Router = [0x4d3a380A03f3a18A5dC44b01119839D8674a552E](https://lineascan.build/address/0x4d3a380A03f3a18A5dC44b01119839D8674a552E) @@ -35,9 +46,7 @@ attestations of any type and any subject.** - AttestationReader = [0x40871e247CF6b8fd8794c9c56bB5c2b8a4FA3B6c](https://lineascan.build/address/0x40871e247CF6b8fd8794c9c56bB5c2b8a4FA3B6c) -## Relationship schemas id's - -### Testnet & Mainnet +## Relationship Schemas IDs (testnet & mainnet) -- Relationship schema id = 0x89bd76e17fd84df8e1e448fa1b46dd8d97f7e8e806552b003f8386a5aebcb9f0 -- namedGraphRelationship schema id = 0x5003a7832fa2734780a5bf6a1f3940b84c0c66a398e62dd4e7f183fdbc7da6ee +- **Relationship** Schema ID = `0x89bd76e17fd84df8e1e448fa1b46dd8d97f7e8e806552b003f8386a5aebcb9f0` +- **namedGraphRelationship** Schema ID = `0x5003a7832fa2734780a5bf6a1f3940b84c0c66a398e62dd4e7f183fdbc7da6ee` diff --git a/doc/verax-logo-circle.png b/doc/verax-logo-circle.png new file mode 100644 index 00000000..c5b78598 Binary files /dev/null and b/doc/verax-logo-circle.png differ