Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: rename to credo #1713

Merged
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

repository:
name: credo-ts
description: Extension libraries for Aries Framework JavaScript
description: The Credo Core Repository
homepage: https://github.com/openwallet-foundation/credo-ts
default_branch: main
has_downloads: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/continuous-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
# Only run if the last pushed commit is a release commit
if: "startsWith(github.event.head_commit.message, 'chore(release): v')"
steps:
- name: Checkout aries-framework-javascript
- name: Checkout credo
uses: actions/checkout@v4

# setup dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ jobs:
node-version: [18.x, 20.x]

steps:
- name: Checkout aries-framework-javascript
- name: Checkout credo
uses: actions/checkout@v4

# setup dependencies
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Contributions are made pursuant to the Developer's Certificate of Origin, availa
- It is difficult to manage a release with too many changes.
- We should **release more often**, not months apart.
- We should focus on feature releases (minor and patch releases) to speed iteration.
- See our [Aries JavaScript Docs on semantic versioning](https://aries.js.org/guides/updating#versioning). Notably, while our versions are pre 1.0.0, minor versions are breaking change versions.
- See our [Credo Docs on semantic versioning](https://https://credo.js.org/guides/updating#versioning). Notably, while our versions are pre 1.0.0, minor versions are breaking change versions.
- Mixing breaking changes with other PRs slows development.
- Non-breaking change PRs are merged earlier into **main**
- Breaking change PRs will go to a branch named **<release-version>-pre (ie. 0.3.0-pre)** and merged later in the release cycle.
Expand Down
10 changes: 5 additions & 5 deletions DEVREADME.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ If you're using the setup as described in this document, you don't need to provi

### Setup Postgres

> Note: Setup the postgres plugin first by following the [docs](https://aries.js.org/)
> Note: Setup the postgres plugin first by following the [docs](https://https://credo.js.org/)

```sh
# Get postgres docker image
Expand Down Expand Up @@ -108,10 +108,10 @@ Locally, you might want to run the tests without postgres tests. You can do that
yarn test --testPathIgnorePatterns postgres.e2e.test.ts
```

In case you run into trouble running the tests, e.g. complaining about snapshots not being up-to-date, you can try and remove the data stored for the indy-client or AFJ. Note this removes all wallets and data, so make sure you're okay with all data being removed. On a Unix system with default setup you achieve this by running:
In case you run into trouble running the tests, e.g. complaining about snapshots not being up-to-date, you can try and remove the data stored for the indy-client or Credo. Note this removes all wallets and data, so make sure you're okay with all data being removed. On a Unix system with default setup you achieve this by running:

```sh
rm -rf ~/.indy-client ~/.afj
rm -rf ~/.indy-client ~/.credo
TimoGlastra marked this conversation as resolved.
Show resolved Hide resolved
```

## Usage with Docker
Expand All @@ -122,8 +122,8 @@ Make sure you followed the [local ledger setup](#setup-indy-ledger) to setup a l

```sh
# Builds the framework docker image with all dependencies installed
docker build -t aries-framework-javascript .
docker build -t credo .

# Run test with ledger pool
docker run -it --rm --network host aries-framework-javascript yarn test
docker run -it --rm --network host credo yarn test
```
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ RUN cargo build --release
# set up library path for postgres plugin
ENV LIB_INDY_STRG_POSTGRES="/indy-sdk/experimental/plugins/postgres_storage/target/release"

## Stage 2: Build Aries Framework JavaScript
## Stage 2: Build Credo

FROM base as final

Expand Down
30 changes: 15 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@
<br />
<img
alt="Hyperledger Aries logo"
src="https://raw.githubusercontent.com/hyperledger/aries-framework-javascript/aa31131825e3331dc93694bc58414d955dcb1129/images/aries-logo.png"
src="https://raw.githubusercontent.com/openwallet-foundation/credo-ts/aa31131825e3331dc93694bc58414d955dcb1129/images/aries-logo.png"
height="250px"
/>
</p>
<h1 align="center"><b>Aries Framework JavaScript</b></h1>
<h1 align="center"><b>Credo</b></h1>
<p align="center">
<img
alt="Pipeline Status"
src="https://github.com/hyperledger/aries-framework-javascript/workflows/Continuous%20Integration/badge.svg?branch=main"
src="https://github.com/openwallet-foundation/credo-ts/workflows/Continuous%20Integration/badge.svg?branch=main"
/>
<a href="https://codecov.io/gh/hyperledger/aries-framework-javascript/"
<a href="https://codecov.io/gh/openwallet-foundation/credo-ts/"
><img
alt="Codecov Coverage"
src="https://img.shields.io/codecov/c/github/hyperledger/aries-framework-javascript/coverage.svg?style=flat-square"
src="https://img.shields.io/codecov/c/github/openwallet-foundation/credo-ts/coverage.svg?style=flat-square"
/></a>
<a
href="https://raw.githubusercontent.com/hyperledger/aries-framework-javascript/main/LICENSE"
href="https://raw.githubusercontent.com/openwallet-foundation/credo-ts/main/LICENSE"
><img
alt="License"
src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"
Expand All @@ -38,11 +38,11 @@
<a href="#license">License</a>
</p>

Aries Framework JavaScript is a framework written in TypeScript for building **SSI Agents and DIDComm services** that aims to be **compliant and interoperable** with the standards defined in the [Aries RFCs](https://github.com/hyperledger/aries-rfcs).
Credo is a framework written in TypeScript for building **SSI Agents and DIDComm services** that aims to be **compliant and interoperable** with the standards defined in the [Aries RFCs](https://github.com/hyperledger/aries-rfcs).

> **Note**
> The Aries Framework JavaScript project has recently been moved from the Hyperledger Foundation to the Open Wallet Foundation.
> We are currently in the process of changing the name of the project, and updating all the documentation and links to reflect this change.
> The Aries Framework JavaScript project has recently been rebranded to "Credo" was moved from the Hyperledger Foundation to the Open Wallet Foundation.
TimoGlastra marked this conversation as resolved.
Show resolved Hide resolved
> We are currently in the process of changing the name of the project to Credo, and updating all the documentation and links to reflect this change.
> You may encounter some broken links, or references to the old name, but we are working hard to fix this. Once the new name has been decided
> we will update this README and all the documentation to reflect this change.
> You can follow this discussion for updates about the name: https://github.com/openwallet-foundation/agent-framework-javascript/discussions/1668
Expand Down Expand Up @@ -172,22 +172,22 @@ Aries Framework JavaScript is a framework written in TypeScript for building **S

## Getting Started

Documentation on how to get started with Aries Framework JavaScript can be found at https://aries.js.org
Documentation on how to get started with Credo can be found at https://https://credo.js.org/
TimoGlastra marked this conversation as resolved.
Show resolved Hide resolved

### Demo

To get to know the AFJ flow, we built a demo to walk through it yourself together with agents Alice and Faber.
To get to know the Credo flow, we built a demo to walk through it yourself together with agents Alice and Faber.

- [Demo](/demo)

### Divergence from Aries RFCs

Although Aries Framework JavaScript tries to follow the standards as described in the Aries RFCs as much as possible, some features in AFJ slightly diverge from the written spec. Below is an overview of the features that diverge from the spec, their impact and the reasons for diverging.
Although Credo tries to follow the standards as described in the Aries RFCs as much as possible, some features in Credo slightly diverge from the written spec. Below is an overview of the features that diverge from the spec, their impact and the reasons for diverging.

| Feature | Impact | Reason |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Support for `imageUrl` attribute in connection invitation and connection request | Properties that are not recognized should be ignored, meaning this shouldn't limit interoperability between agents. As the image url is self-attested it could give a false sense of trust. Better, credential based, method for visually identifying an entity are not present yet. | Even though not documented, almost all agents support this feature. Not including this feature means AFJ is lacking in features in comparison to other implementations. |
| Revocation Notification v1 uses a different `thread_id` format ( `indy::<revocation_registry_id>::<credential_revocation_id>`) than specified in the Aries RFC | Any agents adhering to the [revocation notification v1 RFC](https://github.com/hyperledger/aries-rfcs/tree/main/features/0183-revocation-notification) will not be interoperable with Aries Framework Javascript. However, revocation notification is considered an optional portion of revocation, therefore this will not break core revocation behavior. Ideally agents should use and implement revocation notification v2. | Actual implementations (ACA-Py) of revocation notification v1 so far have implemented this different format, so this format change was made to remain interoperable. |
| Support for `imageUrl` attribute in connection invitation and connection request | Properties that are not recognized should be ignored, meaning this shouldn't limit interoperability between agents. As the image url is self-attested it could give a false sense of trust. Better, credential based, method for visually identifying an entity are not present yet. | Even though not documented, almost all agents support this feature. Not including this feature means Credo is lacking in features in comparison to other implementations. |
| Revocation Notification v1 uses a different `thread_id` format ( `indy::<revocation_registry_id>::<credential_revocation_id>`) than specified in the Aries RFC | Any agents adhering to the [revocation notification v1 RFC](https://github.com/hyperledger/aries-rfcs/tree/main/features/0183-revocation-notification) will not be interoperable with Credo. However, revocation notification is considered an optional portion of revocation, therefore this will not break core revocation behavior. Ideally agents should use and implement revocation notification v2. | Actual implementations (ACA-Py) of revocation notification v1 so far have implemented this different format, so this format change was made to remain interoperable. |

## Contributing

Expand All @@ -197,4 +197,4 @@ There are regular community working groups to discuss ongoing efforts within the

## License

Hyperledger Aries Framework JavaScript is licensed under the [Apache License Version 2.0 (Apache-2.0)](/LICENSE).
OpenWallet Foundation Credo is licensed under the [Apache License Version 2.0 (Apache-2.0)](/LICENSE).
8 changes: 4 additions & 4 deletions TROUBLESHOOTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Troubleshooting

This document contains the most common errors that arise when first installing libindy and Aries Framework JavaScript. If you encounter a problem that is not listed here and manage to fix it, please open a PR describing the steps taken to resolve the issue.
This document contains the most common errors that arise when first installing libindy and Credo. If you encounter a problem that is not listed here and manage to fix it, please open a PR describing the steps taken to resolve the issue.

- [macOS](#macos)
- [Unable to find `libindy.dylib`](#unable-to-find-libindydylib)
Expand All @@ -14,8 +14,8 @@ This document contains the most common errors that arise when first installing l
Installing Libindy on macOS can be tricky. If the the troubleshooting section of the NodeJS Wrapper documentation doesn't provide an answer and you're getting the following error:

```
dlopen(/<absolute-path>/aries-framework-javascript/node_modules/indy-sdk/build/Release/indynodejs.node, 1): Library not loaded: /Users/jenkins/workspace/indy-sdk_indy-sdk-cd_master/libindy/target/release/deps/libindy.dylib
Referenced from: /<absolute-path>/aries-framework-javascript/node_modules/indy-sdk/build/Release/indynodejs.node
dlopen(/<absolute-path>/credo/node_modules/indy-sdk/build/Release/indynodejs.node, 1): Library not loaded: /Users/jenkins/workspace/indy-sdk_indy-sdk-cd_master/libindy/target/release/deps/libindy.dylib
Referenced from: /<absolute-path>/credo/node_modules/indy-sdk/build/Release/indynodejs.node
Reason: image not found
```

Expand Down Expand Up @@ -44,7 +44,7 @@ install_name_tool -change /Users/jenkins/workspace/indy-sdk_indy-sdk-cd_master/l
Libindy makes use of OpenSSL 1.0, however macOS by default has OpenSSL version 1.1. The standard brew repo also doesn't contain version 1.0 anymore. So if you're getting something that looks like the following error:

```
dlopen(/<absolute-path>/aries-framework-javascript/node_modules/indy-sdk/build/Release/indynodejs.node, 1): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
dlopen(/<absolute-path>/credo/node_modules/indy-sdk/build/Release/indynodejs.node, 1): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /<absolute-path>/libindy_1.15.0/lib/libindy.dylib
Reason: image not found
```
Expand Down
14 changes: 7 additions & 7 deletions demo/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<h1 align="center"><b>DEMO</b></h1>

This is the Aries Framework Javascript demo. Walk through the AFJ flow yourself together with agents Alice and Faber.
This is the Credo demo. Walk through the Credo flow yourself together with agents Alice and Faber.

Alice, a former student of Faber College, connects with the College, is issued a credential about her degree and then is asked by the College for a proof.

Expand All @@ -15,24 +15,24 @@ Alice, a former student of Faber College, connects with the College, is issued a

### Platform Specific Setup

In order to use Aries Framework JavaScript some platform specific dependencies and setup is required. See our guides below to quickly set up you project with Aries Framework JavaScript for NodeJS, React Native and Electron.
In order to use Credo some platform specific dependencies and setup is required. See our guides below to quickly set up you project with Credo for NodeJS, React Native and Electron.

- [NodeJS](https://aries.js.org/guides/getting-started/installation/nodejs)
- [NodeJS](https://https://credo.js.org/guides/getting-started/installation/nodejs)
TimoGlastra marked this conversation as resolved.
Show resolved Hide resolved

### Run the demo

These are the steps for running the AFJ demo:
These are the steps for running the Credo demo:

Clone the AFJ git repository:
Clone the Credo git repository:

```sh
git clone https://github.com/hyperledger/aries-framework-javascript.git
git clone https://github.com/openwallet-foundation/credo-ts.git
```

Open two different terminals next to each other and in both, go to the demo folder:

```sh
cd aries-framework-javascript/demo
cd credo/demo
```

Install the project in one of the terminals:
Expand Down
4 changes: 2 additions & 2 deletions demo/package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "afj-demo",
"name": "credo-demo",
"version": "1.0.0",
"private": true,
"repository": {
"type": "git",
"url": "https://github.com/hyperledger/aries-framework-javascript",
"url": "https://github.com/openwallet-foundation/credo-ts",
"directory": "demo/"
},
"license": "Apache-2.0",
Expand Down
4 changes: 2 additions & 2 deletions docker/docker-compose-mediators.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ version: '3'
services:
mediator:
build: ..
image: aries-framework-javascript
container_name: afj-mediator
image: credo
container_name: credo-mediator
command: yarn run-mediator
platform: linux/amd64
networks:
Expand Down
4 changes: 2 additions & 2 deletions network/add-did-from-seed.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ export SEED=${1?"Seed missing\nUsage: $0 SEED ROLE"}
export ROLE=$2

echo "
wallet open afj-wallet key=password
wallet open credo-wallet key=password

pool connect afj-pool
pool connect credo-pool

did new seed=${SEED}" >/etc/indy/command.txt

Expand Down
4 changes: 2 additions & 2 deletions network/add-did.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ if [ -z "$ROLE" ]; then
fi

echo "
wallet open afj-wallet key=password
pool connect afj-pool
wallet open credo-wallet key=password
pool connect credo-pool
did use V4SGRU86Z58d6TV7PBUe6f

ledger nym did=${DID} verkey=${VERKEY} role=${ROLE}" >/etc/indy/command.txt
Expand Down
8 changes: 4 additions & 4 deletions network/indy-cli-setup.sh
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#!/bin/bash

echo '
wallet create afj-wallet key=password
wallet open afj-wallet key=password
wallet create credo-wallet key=password
wallet open credo-wallet key=password

pool create afj-pool gen_txn_file=/etc/indy/genesis.txn
pool connect afj-pool
pool create credo-pool gen_txn_file=/etc/indy/genesis.txn
pool connect credo-pool

did new seed=000000000000000000000000Trustee1
did use V4SGRU86Z58d6TV7PBUe6f
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"samples/*"
],
"repository": {
"url": "https://github.com/hyperledger/aries-framework-javascript",
"url": "https://github.com/openwallet-foundation/credo-ts",
"type": "git"
},
"scripts": {
Expand Down
Loading
Loading