diff --git a/.github/ISSUE_TEMPLATE/config.yaml b/.github/ISSUE_TEMPLATE/config.yaml index 61440c7eea4..00fd9ae73bd 100644 --- a/.github/ISSUE_TEMPLATE/config.yaml +++ b/.github/ISSUE_TEMPLATE/config.yaml @@ -1,13 +1,13 @@ blank_issues_enabled: true contact_links: - name: Contributing guidelines - url: https://github.com/input-output-hk/mithril/blob/master/CONTRIBUTING.md + url: https://github.com/IntersectMBO/mithril/blob/main/CONTRIBUTING.md about: Some rules & processes we honor. - name: Feature ideas - url: https://github.com/input-output-hk/mithril/discussions/categories/ideas + url: https://github.com/IntersectMBO/mithril/discussions/categories/ideas about: Maybe someone else had the same or a similar idea already? - name: All issues - url: https://github.com/input-output-hk/mithril/issues + url: https://github.com/IntersectMBO/mithril/issues about: Check whether your issue is not already covered here. diff --git a/.github/workflows/actions/prepare-distribution/action.yml b/.github/workflows/actions/prepare-distribution/action.yml index 6aeae8dd32d..6f09a5e0ced 100644 --- a/.github/workflows/actions/prepare-distribution/action.yml +++ b/.github/workflows/actions/prepare-distribution/action.yml @@ -164,17 +164,17 @@ runs: - Download the **Mithril signer** in the current directory: \`\`\`bash - curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-signer -d ${{ inputs.tag }} -p \$(pwd) + curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/IntersectMBO/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-signer -d ${{ inputs.tag }} -p \$(pwd) \`\`\` - Download the **Mithril client CLI** in the current directory: \`\`\`bash - curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-client -d ${{ inputs.tag }} -p \$(pwd) + curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/IntersectMBO/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-client -d ${{ inputs.tag }} -p \$(pwd) \`\`\` - Download the **Mithril aggregator** in the current directory: \`\`\`bash - curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-aggregator -d ${{ inputs.tag }} -p \$(pwd) + curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/IntersectMBO/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-aggregator -d ${{ inputs.tag }} -p \$(pwd) \`\`\` EOF @@ -208,9 +208,9 @@ runs: | Binary | Image name | URL | | ------------------ | :----------------------------------: | :----------------------------------------------------------: | - | mithril-aggregator | mithril-aggregator:$MITHRIL_IMAGE_ID | ghcr.io/input-output-hk/mithril-aggregator:$MITHRIL_IMAGE_ID | - | mithril-signer | mithril-signer:$MITHRIL_IMAGE_ID | ghcr.io/input-output-hk/mithril-signer:$MITHRIL_IMAGE_ID | - | mithril-client | mithril-client:$MITHRIL_IMAGE_ID | ghcr.io/input-output-hk/mithril-client:$MITHRIL_IMAGE_ID | + | mithril-aggregator | mithril-aggregator:$MITHRIL_IMAGE_ID | ghcr.io/intersectmbo/mithril-aggregator:$MITHRIL_IMAGE_ID | + | mithril-signer | mithril-signer:$MITHRIL_IMAGE_ID | ghcr.io/intersectmbo/mithril-signer:$MITHRIL_IMAGE_ID | + | mithril-client | mithril-client:$MITHRIL_IMAGE_ID | ghcr.io/intersectmbo/mithril-client:$MITHRIL_IMAGE_ID | EOF - name: List packaged assets diff --git a/.github/workflows/actions/publish-rust-crates/action.yml b/.github/workflows/actions/publish-rust-crates/action.yml index c8e5348af9e..a51fec9a724 100644 --- a/.github/workflows/actions/publish-rust-crates/action.yml +++ b/.github/workflows/actions/publish-rust-crates/action.yml @@ -33,7 +33,7 @@ runs: PACKAGE="$(echo "$PACKAGE" | xargs)" # trim echo "Check crate latest published version for '$PACKAGE' package" - LATEST_REMOTE_VERSION=$(curl -sL https://crates.io/api/v1/crates/$PACKAGE --user-agent "iog/mithril (https://github.com/input-output-hk/mithril)" | jq -r '.crate.newest_version') + LATEST_REMOTE_VERSION=$(curl -sL https://crates.io/api/v1/crates/$PACKAGE --user-agent "iog/mithril (https://github.com/IntersectMBO/mithril)" | jq -r '.crate.newest_version') LOCAL_VERSION=$(cargo metadata --quiet --no-deps | jq -r --arg package "$PACKAGE" '.packages[] | select(.name== $package) | .version') echo "Latest crate.io version: $LATEST_REMOTE_VERSION" echo "Local version: $LOCAL_VERSION" diff --git a/.github/workflows/backfill-ghcr.yml b/.github/workflows/backfill-ghcr.yml new file mode 100644 index 00000000000..35757b9dd82 --- /dev/null +++ b/.github/workflows/backfill-ghcr.yml @@ -0,0 +1,172 @@ +name: Backfill GHCR + +on: + workflow_dispatch: + inputs: + distributions: + description: Comma separated distributions and moving tags to copy + required: true + type: string + default: 2617.0,2603.1,2543.1-hotfix,2537.0,2524.0,unstable,latest,pre-release + source_organization: + description: Organization owning the legacy packages + required: true + type: string + default: input-output-hk + dry_run: + description: Resolve and check the images without copying them + required: true + type: boolean + default: true + +permissions: + contents: read + packages: write + +jobs: + backfill: + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + package: + [mithril-aggregator, mithril-client, mithril-signer, mithril-relay] + + env: + REGISTRY: ghcr.io + MOVING_TAGS: unstable latest pre-release + + steps: + - name: Log in to the Container registry + uses: docker/login-action@v4 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up crane + uses: imjasonh/setup-crane@v0.7 + + - name: Copy the images to the new namespace + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DISTRIBUTIONS: ${{ inputs.distributions }} + DRY_RUN: ${{ inputs.dry_run }} + PACKAGE: ${{ matrix.package }} + REPOSITORY_OWNER: ${{ github.repository_owner }} + SOURCE_ORGANIZATION: ${{ inputs.source_organization }} + run: | + set -uo pipefail + + # GHCR rejects upper case repository names, and the owner is not lower case + target_organization=$(echo "$REPOSITORY_OWNER" | tr '[:upper:]' '[:lower:]') + source_organization=$(echo "$SOURCE_ORGANIZATION" | tr '[:upper:]' '[:lower:]') + + if [ "$source_organization" = "$target_organization" ]; then + echo "::error::The source and the target organization are both '$target_organization': the transfer has not happened yet, or the wrong source was given" + exit 1 + fi + + source_image="$REGISTRY/$source_organization/$PACKAGE" + target_image="$REGISTRY/$target_organization/$PACKAGE" + + # A distribution is published as '-', whereas a moving tag is + # published as is. The distributions are also git tags, so they cannot be told apart from + # the moving tags by resolving them against the repository. + resolve_source_tag() { + local distribution=$1 + local moving_tag reference commit + + for moving_tag in $MOVING_TAGS; do + if [ "$distribution" = "$moving_tag" ]; then + echo "$distribution" + return 0 + fi + done + + reference=$(gh api "repos/$GITHUB_REPOSITORY/git/ref/tags/$distribution" 2>/dev/null) || return 1 + commit=$(echo "$reference" | jq -r '.object.sha') + if [ "$(echo "$reference" | jq -r '.object.type')" = "tag" ]; then + commit=$(gh api "repos/$GITHUB_REPOSITORY/git/tags/$commit" --jq '.object.sha') || return 1 + fi + + # 'jq' yields 'null' and '--jq' yields an empty string on an unexpected payload, both of + # which would silently resolve to a tag that no package publishes + echo "$commit" | grep -qE '^[0-9a-f]{40}$' || return 1 + + echo "$distribution-$(echo "$commit" | cut -c1-7)" + } + + error_file=$(mktemp) + copied=0 + skipped=0 + failed=0 + + IFS=',' read -ra distributions <<< "$DISTRIBUTIONS" + for distribution in "${distributions[@]}"; do + distribution=$(echo "$distribution" | tr -d '[:space:]') + if [ -z "$distribution" ]; then + continue + fi + + if ! source_tag=$(resolve_source_tag "$distribution"); then + echo "::error::Could not resolve the distribution '$distribution' in $GITHUB_REPOSITORY" + failed=$((failed + 1)) + continue + fi + + if ! source_digest=$(crane digest "$source_image:$source_tag" 2>"$error_file"); then + error=$(cat "$error_file") + # Only an unknown manifest means the tag is genuinely not published: anything else + # (authentication, throttling, registry outage) must not be reported as a benign skip + case "$error" in + *MANIFEST_UNKNOWN* | *NAME_UNKNOWN*) + echo "Skipped $source_image:$source_tag, the package does not publish this tag" + skipped=$((skipped + 1)) + ;; + *) + echo "::error::Could not read $source_image:$source_tag: $error" + failed=$((failed + 1)) + ;; + esac + continue + fi + + # Anything but an explicit 'false' is treated as a dry run so that a copy is never made by accident + if [ "$DRY_RUN" != "false" ]; then + echo "Would copy $source_image:$source_tag ($source_digest) to $target_image:$source_tag" + copied=$((copied + 1)) + continue + fi + + # A tag already in the target namespace was published after the move and is newer than + # the legacy one: overwriting it would roll the consumers of that tag back + if ! crane copy --no-clobber "$source_image:$source_tag" "$target_image:$source_tag"; then + echo "::error::Could not copy $source_image:$source_tag to $target_image:$source_tag" + failed=$((failed + 1)) + continue + fi + + if ! target_digest=$(crane digest "$target_image:$source_tag" 2>"$error_file"); then + echo "::error::Could not read back $target_image:$source_tag: $(cat "$error_file")" + failed=$((failed + 1)) + continue + fi + + if [ "$source_digest" != "$target_digest" ]; then + echo "::error::$target_image:$source_tag already holds $target_digest and was left untouched instead of being overwritten with $source_digest" + failed=$((failed + 1)) + continue + fi + + echo "Copied $source_image:$source_tag to $target_image:$source_tag ($target_digest)" + copied=$((copied + 1)) + done + + if [ "$DRY_RUN" != "false" ]; then + echo "$PACKAGE (dry run): $copied resolved, $skipped skipped, $failed failed" >> "$GITHUB_STEP_SUMMARY" + else + echo "$PACKAGE: $copied copied, $skipped skipped, $failed failed" >> "$GITHUB_STEP_SUMMARY" + fi + + [ "$failed" -eq 0 ] diff --git a/.github/workflows/scripts/download-distribution-binaries.sh b/.github/workflows/scripts/download-distribution-binaries.sh index 3d3ef1a20c9..20de970ac09 100755 --- a/.github/workflows/scripts/download-distribution-binaries.sh +++ b/.github/workflows/scripts/download-distribution-binaries.sh @@ -9,7 +9,7 @@ TAG_FILE=$ASSETS_DIRECTORY/tags.json TAGS_TO_COMPARE=() mkdir -p $ASSETS_DIRECTORY -LATEST_TAGS=$(gh api /repos/input-output-hk/mithril/releases | jq -r '[.[] | select(.prerelease == false)][].tag_name' | head -n "$TOTAL_RELEASES") +LATEST_TAGS=$(gh api /repos/IntersectMBO/mithril/releases | jq -r '[.[] | select(.prerelease == false)][].tag_name' | head -n "$TOTAL_RELEASES") for TAG in $LATEST_TAGS; do if [[ "$TAG" == "$TAG_TO_TEST" ]]; then @@ -29,7 +29,7 @@ do echo ">>>> Retrieving artifacts for release ${TAG_NAME}" ARCHIVE_DIRECTORY="./mithril-binaries/$TAG_NAME" mkdir -p $ARCHIVE_DIRECTORY - gh release download --repo input-output-hk/mithril $TAG_NAME -O mithril-archive --pattern "mithril-$TAG_NAME*-linux-x64.tar.gz" + gh release download --repo IntersectMBO/mithril $TAG_NAME -O mithril-archive --pattern "mithril-$TAG_NAME*-linux-x64.tar.gz" tar xzf mithril-archive -C $ARCHIVE_DIRECTORY mithril-aggregator mithril-signer mithril-client mithril-relay rm mithril-archive done diff --git a/.github/workflows/test-client.yml b/.github/workflows/test-client.yml index 84d8f081452..4e970b681fc 100644 --- a/.github/workflows/test-client.yml +++ b/.github/workflows/test-client.yml @@ -30,7 +30,7 @@ on: description: The genesis verification key location for the Mithril network. required: false type: string - default: https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/pre-release-preview/genesis.vkey + default: https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/pre-release-preview/genesis.vkey transactions_hashes_to_certify: description: Comma separated list of transactions hashes to test certification on. required: false @@ -43,7 +43,7 @@ on: description: The ancillary verification key location to verify the ancillary files. required: false type: string - default: https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/pre-release-preview/ancillary.vkey + default: https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/pre-release-preview/ancillary.vkey enable_debug: description: Enable debug output ("-vvv") for the mithril-client calls required: true @@ -64,7 +64,7 @@ on: default: https://aggregator.testing-preview.api.mithril.network/aggregator genesis_verification_key: type: string - default: https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/testing-preview/genesis.vkey + default: https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/testing-preview/genesis.vkey transactions_hashes_to_certify: type: string default: 1f7dbc899a898ceb4274bbc33b31ca5f0de497753c6c6795fa34838fc252de9b,c43e809de628f7c1ba41a44f188ed3872bb1f97aa101271e35424a8e1d95bea9,c61e22ac4a79a02b28ed36217369ff6959465790a4fe9e66738b7a820e174fcd @@ -73,7 +73,7 @@ on: default: ccaac23d5444c5ca5c0948e0062d50738d961e3f953b1b230ef5206055aceed6,d5720d553b2f547605e7f5f64ebdabb1325b65b37a28525b06ff5b722c320ba7,e5234b6e99fe2763629e396cd37852040e0587e32d2a37c2d473ab046ca38ca9 ancillary_verification_key: type: string - default: https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/testing-preview/ancillary.vkey + default: https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/testing-preview/ancillary.vkey enable_debug: type: boolean default: false @@ -112,8 +112,8 @@ jobs: echo "debug_level=-vvv" >> $GITHUB_OUTPUT fi - echo "GENESIS_VERIFICATION_KEY=$(curl -s ${{ inputs.genesis_verification_key }})" >> $GITHUB_OUTPUT - echo "ANCILLARY_VERIFICATION_KEY=$(curl -s ${{ inputs.ancillary_verification_key }})" >> $GITHUB_OUTPUT + echo "GENESIS_VERIFICATION_KEY=$(curl -sSfL ${{ inputs.genesis_verification_key }})" >> $GITHUB_OUTPUT + echo "ANCILLARY_VERIFICATION_KEY=$(curl -sSfL ${{ inputs.ancillary_verification_key }})" >> $GITHUB_OUTPUT wget -q -O - ${{ inputs.aggregator_endpoint }} > aggregator_capabilities.json CARDANO_DATABASE_V2_CAPABILITY=$(jq '.capabilities.signed_entity_types | contains(["CardanoDatabase"])' aggregator_capabilities.json) @@ -417,7 +417,7 @@ jobs: run: | mkdir -p $PWD/data chmod -R a+w $PWD/data - echo "mithril_client=docker run --rm -e NETWORK=$NETWORK -e GENESIS_VERIFICATION_KEY=$GENESIS_VERIFICATION_KEY -e ANCILLARY_VERIFICATION_KEY=$ANCILLARY_VERIFICATION_KEY -e AGGREGATOR_ENDPOINT=$AGGREGATOR_ENDPOINT -e GITHUB_TOKEN=$GITHUB_TOKEN --name='mithril-client' -v $PWD/data:/app/data ghcr.io/input-output-hk/mithril-client:$MITHRIL_IMAGE_ID" >> $GITHUB_OUTPUT + echo "mithril_client=docker run --rm -e NETWORK=$NETWORK -e GENESIS_VERIFICATION_KEY=$GENESIS_VERIFICATION_KEY -e ANCILLARY_VERIFICATION_KEY=$ANCILLARY_VERIFICATION_KEY -e AGGREGATOR_ENDPOINT=$AGGREGATOR_ENDPOINT -e GITHUB_TOKEN=$GITHUB_TOKEN --name='mithril-client' -v $PWD/data:/app/data ghcr.io/intersectmbo/mithril-client:$MITHRIL_IMAGE_ID" >> $GITHUB_OUTPUT - name: Show client version shell: bash @@ -552,7 +552,7 @@ jobs: run: | mkdir -p $PWD/data chmod -R a+w $PWD/data - echo "mithril_client=docker run --rm -e NETWORK=$NETWORK -e GENESIS_VERIFICATION_KEY=$GENESIS_VERIFICATION_KEY -e ANCILLARY_VERIFICATION_KEY=$ANCILLARY_VERIFICATION_KEY -e AGGREGATOR_ENDPOINT=$AGGREGATOR_ENDPOINT -e GITHUB_TOKEN=$GITHUB_TOKEN --name='mithril-client' -v $PWD/data:/app/data ghcr.io/input-output-hk/mithril-client:$MITHRIL_IMAGE_ID" >> $GITHUB_OUTPUT + echo "mithril_client=docker run --rm -e NETWORK=$NETWORK -e GENESIS_VERIFICATION_KEY=$GENESIS_VERIFICATION_KEY -e ANCILLARY_VERIFICATION_KEY=$ANCILLARY_VERIFICATION_KEY -e AGGREGATOR_ENDPOINT=$AGGREGATOR_ENDPOINT -e GITHUB_TOKEN=$GITHUB_TOKEN --name='mithril-client' -v $PWD/data:/app/data ghcr.io/intersectmbo/mithril-client:$MITHRIL_IMAGE_ID" >> $GITHUB_OUTPUT - name: fetch latest snapshot hash id: last_snapshot diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a1aa4d360c..73e648cbdfe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,11 @@ As a minor extension, we have adopted a slightly different versioning convention - Added a new internal crate `mithril-merkle-tree` for the implementation of Merkle tree and merkelized map primitives used by Mithril nodes. +- Moved the repository to the `IntersectMBO` GitHub organization: + - The genesis, era and ancillary verification key URLs of the `networks.json` file now target `IntersectMBO`. + - The Docker images of the nodes are now published to the `ghcr.io/intersectmbo` namespace. + - The legacy `input-output-hk` URLs and released images keep working. Refresh any pinned verification key URL or image reference at your next upgrade. + - **UNSTABLE**: - Support for SNARK-friendly rigid protocol message openable in recursive circuit. - Support for SNARK-friendly genesis certificate primitives. diff --git a/CODE-OF-CONDUCT.md b/CODE-OF-CONDUCT.md index 0897f941922..f1e3fcbfef9 100644 --- a/CODE-OF-CONDUCT.md +++ b/CODE-OF-CONDUCT.md @@ -55,7 +55,7 @@ further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at {{ email }}. All +reported by contacting the project team at conduct@intersectmbo.org. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fa65f85768f..7a44e128fdf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,7 +16,7 @@ these communication channels to reach the Mithril team and get answers in a way where others can benefit from it as well: - #ask-mithril on the IOG [Discord server](https://discord.gg/5kaErDKDRq) -- GitHub [Discussions](https://github.com/input-output-hk/mithril/discussions) +- GitHub [Discussions](https://github.com/IntersectMBO/mithril/discussions) - Cardano [StackExchange](https://cardano.stackexchange.com/) using the `mithril` tag ## Your first contribution @@ -34,7 +34,7 @@ create a pull request with the changes directly! ### Bug reports -[Submit an issue](https://github.com/input-output-hk/mithril/issues/new/choose) using the "Bug report :bug:" template. +[Submit an issue](https://github.com/IntersectMBO/mithril/issues/new/choose) using the "Bug report :bug:" template. For bug reports, it's very important to explain @@ -48,9 +48,9 @@ For bug reports, it's very important to explain Feature ideas are precursors to high-level features items, which will be discussed and fleshed out to ideally become items on our feature roadmap. -We use the [Ideas discussions category](https://github.com/input-output-hk/mithril/discussions/categories/ideas) +We use the [Ideas discussions category](https://github.com/IntersectMBO/mithril/discussions/categories/ideas) to discuss and vote on feature ideas, but you can also [submit an -issue](https://github.com/input-output-hk/mithril/issues/new/choose) using the +issue](https://github.com/IntersectMBO/mithril/issues/new/choose) using the "Feature idea :thought_balloon:" template and we convert that to a discussion. We expect a description of @@ -78,7 +78,7 @@ additional steps and useful tools in their `README.md` files. ### Coding standards -Make sure to follow our [Coding Standards](https://github.com/input-output-hk/mithril/wiki/Project-Charter#coding-standards). +Make sure to follow our [Coding Standards](https://github.com/IntersectMBO/mithril/wiki/Project-Charter#coding-standards). It includes guidelines on Rust code style, but also on Git commit messages and some processes. To propose new standards or changes to the existing standards, file an issue. @@ -90,7 +90,7 @@ Thank you for contributing your changes by opening a pull requests! To get something merged we usually require: - Description of the changes - if your commit messages are great, this is less important -- Quality of changes is ensured - through new or updated automated tests in [GitHub Actions](https://github.com/input-output-hk/mithril/actions) +- Quality of changes is ensured - through new or updated automated tests in [GitHub Actions](https://github.com/IntersectMBO/mithril/actions) - Change is related to an issue, feature (idea) or bug report - ideally discussed beforehand - Well-scoped - we prefer multiple PRs, rather than a big one - All your commits must be [signed](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) in order to be merged in the `main` branch diff --git a/Cargo.lock b/Cargo.lock index 3d0e5685239..565f492b537 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1051,7 +1051,7 @@ dependencies = [ [[package]] name = "client-cardano-block" -version = "0.1.3" +version = "0.1.4" dependencies = [ "anyhow", "clap", @@ -1077,7 +1077,7 @@ dependencies = [ [[package]] name = "client-cardano-stake-distribution" -version = "0.1.19" +version = "0.1.20" dependencies = [ "anyhow", "clap", @@ -1090,7 +1090,7 @@ dependencies = [ [[package]] name = "client-cardano-transaction" -version = "0.1.28" +version = "0.1.29" dependencies = [ "anyhow", "clap", @@ -1103,7 +1103,7 @@ dependencies = [ [[package]] name = "client-cardano-transaction-v2" -version = "0.1.3" +version = "0.1.4" dependencies = [ "anyhow", "clap", @@ -1116,7 +1116,7 @@ dependencies = [ [[package]] name = "client-mithril-stake-distribution" -version = "0.2.17" +version = "0.2.18" dependencies = [ "anyhow", "clap", @@ -4300,7 +4300,7 @@ dependencies = [ [[package]] name = "mithril-aggregator-discovery" -version = "0.1.11" +version = "0.1.12" dependencies = [ "anyhow", "async-trait", @@ -4498,7 +4498,7 @@ dependencies = [ [[package]] name = "mithril-client-wasm" -version = "0.10.7" +version = "0.10.8" dependencies = [ "anyhow", "async-trait", @@ -4675,7 +4675,7 @@ dependencies = [ [[package]] name = "mithril-persistence" -version = "0.2.75" +version = "0.2.76" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 6792ac87070..90703d87a1d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -48,7 +48,7 @@ documentation = "https://mithril.network/doc" edition = "2024" homepage = "https://mithril.network" license = "Apache-2.0" -repository = "https://github.com/input-output-hk/mithril/" +repository = "https://github.com/IntersectMBO/mithril/" [workspace.dependencies] anyhow = "1.0.103" diff --git a/README.md b/README.md index 7ca14fb280d..50b2f3cf138 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,20 @@ #

Mithril :shield:

- - + + - - + + - - + + - - + + - - + +
@@ -55,7 +55,7 @@ If you are interested in **fast bootstrapping** of a Cardano node, please refer You can access tutorials, the user manual, guides, and plenty of documentation on our [website](https://mithril.network/doc)! -Mithril wiki is also available [here](https://github.com/input-output-hk/mithril/wiki). +Mithril wiki is also available [here](https://github.com/IntersectMBO/mithril/wiki). ## :satellite: Structure of the repository @@ -135,8 +135,8 @@ The best way to contribute right now is to provide feedback. Start by looking at Should you have any questions, ideas, or issues, we would like to hear from you: - #ask-mithril on the IOG [Discord server](https://discord.gg/5kaErDKDRq) -- Create a GitHub [discussion](https://github.com/input-output-hk/mithril/discussions) -- Create a GitHub [issue](https://github.com/input-output-hk/mithril/issues/new) +- Create a GitHub [discussion](https://github.com/IntersectMBO/mithril/discussions) +- Create a GitHub [issue](https://github.com/IntersectMBO/mithril/issues/new) - Ask on Cardano [StackExchange](https://cardano.stackexchange.com/search?q=mithril) using the `mithril` tag. When contributing to this project and interacting with others, please follow our [code of conduct](./CODE-OF-CONDUCT.md) and our [contributing guidelines](./CONTRIBUTING.md). diff --git a/SECURITY.md b/SECURITY.md index a718368af64..ecfdef92fbb 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,106 +1,31 @@ -# Security Vulnerability Disclosure Policy +# Security Policy -## Introduction +## Reporting a Vulnerability -The Mithril open source project is committed to ensuring the security of -its software and the privacy of its users. We value the contributions -of the security community in helping us identify and address -vulnerabilities in our code. This _Security Vulnerability Disclosure -Policy_ outlines how security vulnerabilities should be reported and -how we will respond to and remediate such reports. +Please report (suspected) security vulnerabilities using the [security advisory form on +GitHub](https://github.com/IntersectMBO/mithril/security/advisories/new) to draft a new _Security +advisory_, or by email to [security@intersectmbo.org](mailto:security@intersectmbo.org). You will +receive a response from us within 48 hours. If the issue is confirmed, we will release a patch as +soon as possible. -## Security Vulnerability Handling Process +Please provide a clear and concise description of the vulnerability, including: -### Reporting a Vulnerability +- the affected version(s) of Mithril, +- steps that can be followed to exercise the vulnerability, +- any workarounds or mitigations. -If you discover a security vulnerability in Mithril, we encourage you to -responsibly disclose it to us. To report a vulnerability, please use -the [private reporting form on -GitHub](https://github.com/input-output-hk/mithril/security/advisories/new) -to draft a new _Security advisory_. - -Please include as much details as needed to clearly qualify the issue: - -- A description of the vulnerability and its potential impact. -- Steps to reproduce the vulnerability. -- The version of `mithril-node` package where the vulnerability exists. -- Any relevant proof-of-concept or exploit code (if applicable). - -### Processing Vulnerability - -1. **Acknowledgment**: The team acknowledges the receipt of your report - within 3 business days by commenting on the issue reporting it or replying to email. - -2. **Validation**: The team investigates the issue and either _reject_ or _validate_ the - reported vulnerability. - - a. **Rejection**: If the team rejects the report, detailed explanations will be provided by email or commenting on the relevant issue and the latter will be made public and closed as `Won't fix`. - - b. **Acceptance**: If the team accepts the report, a CVE identifier will be requested through GitHub and a [private fork](https://docs.github.com/en/code-security/security-advisories/working-with-repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability) opened to work on a fix to the issue - -3. **Resolution**: The team works to resolve the vulnerability in a - timely manner. The timeline for resolution will depend on the - complexity and severity of the vulnerability, but we will strive to - address critical vulnerabilities as quickly as possible. - -4. **Collaboration**: While working on a fix, the team maintains open and transparent - communication with the reporter throughout the process, providing - updates on the status of the vulnerability and any steps taken to - remediate it. In particular this means that the reporter will be asked to review any proposed fix and to advise on the timing for public disclosure. - -5. **Fixing Issue**: The team agrees on the fix, the announcement, and the release schedule with the reporter. If the reporter is not responsive in a reasonable time frame this should not block the team from moving to the next steps particularly in the face of a high impact or high severity issue. - - a. **Mitigation**: Depending on the severity and criticity of the issue, the team can decide to disclose the issue publicly in the absence of a fix _if and only if_ a clear, simple, and effective mitigation plan is defined. This _must_ include instructions for users and operators of the software, and a time horizon at which the issue will be properly fixed (eg. version number). - - b. **Fix**: When a fix is available and approved, it should be merged and made available as quickly as possible: - - All commits to the private repository are squashed into a single commit whose description _should not_ make any reference it relates to a security vulnerability - - A new Pull Request is created with this single commit - - This PR's review and merging is expedited as all the work as already been done - -6. **Release**: The team creates and publish a release that includes the fix - -7. **Announcement**: Concommitant to the release annoucement, the team announces the security vulnerability by making the GitHub issue public. This is the first point that any information regarding the vulnerability is made public. - - a. **Credit**: The team publicly acknowledges the contributions of the - reporter once the vulnerability is resolved, subject to the - reporter's preferences for attribution. - -8. **Disagreements**: In case of disagreements with the reporter on the fix, mitigation, timing, or announcement, the team has the final say. +If you have developed any code or utilities that can help demonstrate the suspected vulnerability, +please mention them in your report but **_DO NOT_** attempt to include them as attachments as this +may cause your email to be blocked by spam filters. ## Responsible Disclosure -We kindly request that reporters adhere to responsible disclosure -practices, which include: - -- **Do not disclose the vulnerability publicly**: Please refrain from - posting details of the vulnerability on public forums or social - media until it has been resolved. -- **Do not exploit the vulnerability**: Do not attempt to exploit the - vulnerability to cause harm or gain unauthorized access to systems. -- **Work with us**: Allow us a reasonable amount of time to - investigate and address the vulnerability before publicly disclosing - any details. - -## Legal Protections - -We will not pursue legal action against individuals who -report security vulnerabilities to us. - -## Contact Information - -To report a security vulnerability, please use [GitHub -form](https://github.com/input-output-hk/mithril/security/advisories/new). - -## Revision of Policy - -This Security Vulnerability Disclosure Policy may be updated or -revised as necessary. Please check the latest version of this policy -on the [Mithril repository](https://github.com/input-output-hk/mithril/blob/main/SECURITY.md). +We kindly request that reporters do not disclose the vulnerability publicly and do not exploit it, +and that they allow us a reasonable amount of time to investigate and address it before publicly +disclosing any details. We will not pursue legal action against individuals who report security +vulnerabilities to us. -## Conclusion +## Security Policy -The Mithril project greatly appreciates the assistance of the security -community in helping us maintain the security of our software while -upholding the highest standards of privacy. Together, we can work to -identify and address vulnerabilities, ensuring a safer and more secure -experience for all users. +See the current version of the security policy in the [Open-Source-Office +repository](https://github.com/IntersectMBO/Open-Source-Office/tree/main/security-policy-documents). diff --git a/demo/protocol-demo/README.md b/demo/protocol-demo/README.md index 16c4658d619..ec6bdd8d357 100644 --- a/demo/protocol-demo/README.md +++ b/demo/protocol-demo/README.md @@ -17,7 +17,7 @@ This cli implements a very simple version of the Mithril protocol for demonstrat ```bash # Download sources from github -git clone https://github.com/input-output-hk/mithril +git clone https://github.com/IntersectMBO/mithril # Go to sources directory cd demo/protocol-demo diff --git a/docs/runbook/genesis-manually/README.md b/docs/runbook/genesis-manually/README.md index 9ac018f520e..ad0738880e1 100644 --- a/docs/runbook/genesis-manually/README.md +++ b/docs/runbook/genesis-manually/README.md @@ -136,5 +136,5 @@ docker exec -it mithril-aggregator bash Once connected to the aggregator container, import the signed genesis payload: ```bash -/app/bin/mithril-aggregator -vvv genesis import --signed-payload-path /mithril-aggregator/mithril/genesis/genesis-payload-signed.txt --genesis-verification-key $(curl -s "https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/$MITHRIL_NETWORK/genesis.vkey") --mithril-era $MITHRIL_ERA +/app/bin/mithril-aggregator -vvv genesis import --signed-payload-path /mithril-aggregator/mithril/genesis/genesis-payload-signed.txt --genesis-verification-key $(curl -sSL "https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/$MITHRIL_NETWORK/genesis.vkey") --mithril-era $MITHRIL_ERA ``` diff --git a/docs/runbook/manual-publish-crates/README.md b/docs/runbook/manual-publish-crates/README.md index 75107e8d8e9..c170b1ed201 100644 --- a/docs/runbook/manual-publish-crates/README.md +++ b/docs/runbook/manual-publish-crates/README.md @@ -6,7 +6,7 @@ From time to time, we may need to publish manually Rust crates to [crates.io](ht ## Run the associated 'Manual crates publication' GitHub Actions workflow -Go to the page of the workflow with your browser: [Manual crates publication](https://github.com/input-output-hk/mithril/actions/workflows/manual-publish-crates.yml) +Go to the page of the workflow with your browser: [Manual crates publication](https://github.com/IntersectMBO/mithril/actions/workflows/manual-publish-crates.yml) Then, click on the **Run workflow** button: diff --git a/docs/runbook/manual-publish-npm/README.md b/docs/runbook/manual-publish-npm/README.md index f7cefe96db6..f5ce551854d 100644 --- a/docs/runbook/manual-publish-npm/README.md +++ b/docs/runbook/manual-publish-npm/README.md @@ -6,7 +6,7 @@ From time to time, we may need to publish manually packages to [npm ristry](http ## Run the associated 'Manual npm publication' GitHub Actions workflow -Go to the page of the workflow with your browser: [Manual npm publication](https://github.com/input-output-hk/mithril/actions/workflows/manual-publish-npm.yml) +Go to the page of the workflow with your browser: [Manual npm publication](https://github.com/IntersectMBO/mithril/actions/workflows/manual-publish-npm.yml) Then, click on the **Run workflow** button: diff --git a/docs/runbook/recompute-certificates-hash/README.md b/docs/runbook/recompute-certificates-hash/README.md index 41baa66b7db..b678d09bc60 100644 --- a/docs/runbook/recompute-certificates-hash/README.md +++ b/docs/runbook/recompute-certificates-hash/README.md @@ -70,7 +70,7 @@ cd /home/curry/temp Download the mithril pre-compiled binaries package: ```bash -curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-aggregator -d $MITHRIL_DISTRIBUTION -p $(pwd) +curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/IntersectMBO/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-aggregator -d $MITHRIL_DISTRIBUTION -p $(pwd) ``` Make sure you are running the expected version of the aggregator: diff --git a/docs/runbook/test-client-multiplatform/README.md b/docs/runbook/test-client-multiplatform/README.md index e9c2c76935a..0cc9632f1f6 100644 --- a/docs/runbook/test-client-multiplatform/README.md +++ b/docs/runbook/test-client-multiplatform/README.md @@ -10,7 +10,7 @@ You can manually run this workflow if you want to test the Mithril client featur ## Run the associated 'Mithril Client multi-platform test' GitHub Actions workflow -Go to the page of the workflow with your browser: [Mithril Client multi-platform test](https://github.com/input-output-hk/mithril/actions/workflows/test-client.yml) +Go to the page of the workflow with your browser: [Mithril Client multi-platform test](https://github.com/IntersectMBO/mithril/actions/workflows/test-client.yml) Then, click on the **Run workflow** button: @@ -22,7 +22,7 @@ Then fill the form to manually run the workflow: > [!WARNING] > -> - The **Mithril image id** of the distribution to deploy must be published on the [package registry](https://github.com/orgs/input-output-hk/packages?repo_name=mithril) +> - The **Mithril image id** of the distribution to deploy must be published on the [package registry](https://github.com/orgs/IntersectMBO/packages?repo_name=mithril) > [!IMPORTANT] > If you want to run the tests with an aggregator that has the signing capability for Cardano transactions, you will also need to provide a list of [Cardano transaction hashes](https://preview.cexplorer.io/tx) separated by commas. diff --git a/docs/runbook/test-deploy-network/README.md b/docs/runbook/test-deploy-network/README.md index bbb6f9bc7ac..380ca75b1d1 100644 --- a/docs/runbook/test-deploy-network/README.md +++ b/docs/runbook/test-deploy-network/README.md @@ -6,7 +6,7 @@ From time to time, we may need to deploy manually on a test Mithril network a te ## Run the associated 'Test network deployment' GitHub Actions workflow -Go to the page of the workflow with your browser: [Test network deployment](https://github.com/input-output-hk/mithril/actions/workflows/test-deploy-network.yml) +Go to the page of the workflow with your browser: [Test network deployment](https://github.com/IntersectMBO/mithril/actions/workflows/test-deploy-network.yml) Then, click on the **Run workflow** button: @@ -18,7 +18,7 @@ Then fill the form to manually run the workflow: > [!WARNING] > -> - The **Mithril image id** of the of the distribution to deploy must be published on the [package registry](https://github.com/orgs/input-output-hk/packages?repo_name=mithril) +> - The **Mithril image id** of the of the distribution to deploy must be published on the [package registry](https://github.com/orgs/IntersectMBO/packages?repo_name=mithril) > [!CAUTION] > It is highly recommended to run with the **Dry run** option checked at first and make sure that the process works as expected diff --git a/docs/runbook/test-docker-distribution/README.md b/docs/runbook/test-docker-distribution/README.md index 09355b60b92..a230507f9eb 100644 --- a/docs/runbook/test-docker-distribution/README.md +++ b/docs/runbook/test-docker-distribution/README.md @@ -7,7 +7,7 @@ This is a convenient way for testing early releases of the Cardano node. This is ## Run the associated 'Test Docker images build' GitHub Actions workflow -Go to the page of the workflow with your browser: [Test Docker images build](https://github.com/input-output-hk/mithril/actions/workflows/test-docker-distribution.yml) +Go to the page of the workflow with your browser: [Test Docker images build](https://github.com/IntersectMBO/mithril/actions/workflows/test-docker-distribution.yml) Then, click on the **Run workflow** button: @@ -28,4 +28,4 @@ The result should look like this in the GitHub Actions: ![Run workflow result](./img/run-workflow-result.png) -You should also be able to see the newly created Docker images in the [package registry](https://github.com/orgs/input-output-hk/packages?repo_name=mithril) +You should also be able to see the newly created Docker images in the [package registry](https://github.com/orgs/IntersectMBO/packages?repo_name=mithril) diff --git a/docs/runbook/warmup-cardano-node/README.md b/docs/runbook/warmup-cardano-node/README.md index 63afd18622e..2633d4beebc 100644 --- a/docs/runbook/warmup-cardano-node/README.md +++ b/docs/runbook/warmup-cardano-node/README.md @@ -34,7 +34,7 @@ For `pre-release-preview`: ```bash export NETWORK=preview export AGGREGATOR_ENDPOINT=https://aggregator.pre-release-preview.api.mithril.network/aggregator -export GENESIS_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/pre-release-preview/genesis.vkey) +export GENESIS_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/pre-release-preview/genesis.vkey) ``` For `release-preprod`: @@ -42,7 +42,7 @@ For `release-preprod`: ```bash export NETWORK=preprod export AGGREGATOR_ENDPOINT=https://aggregator.release-preprod.api.mithril.network/aggregator -export GENESIS_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/release-preprod/genesis.vkey) +export GENESIS_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/release-preprod/genesis.vkey) ``` For `release-mainnet`: @@ -50,7 +50,7 @@ For `release-mainnet`: ```bash export NETWORK=mainnet export AGGREGATOR_ENDPOINT=https://aggregator.release-mainnet.api.mithril.network/aggregator -export GENESIS_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/release-mainnet/genesis.vkey) +export GENESIS_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/release-mainnet/genesis.vkey) ``` ### Set the new Cardano node version @@ -96,7 +96,7 @@ cd /home/curry/data/temp ### Download the Mithril client ```bash -curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-client -d latest -p $(pwd) +curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/IntersectMBO/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-client -d latest -p $(pwd) ``` ### Download the latest Cardano database snapshot diff --git a/docs/website/adr/012-release/index.md b/docs/website/adr/012-release/index.md index 5cf9e26b529..635f2eb17d9 100644 --- a/docs/website/adr/012-release/index.md +++ b/docs/website/adr/012-release/index.md @@ -79,7 +79,7 @@ When a change affects only the infrastructure (e.g. a Cardano node upgrade that Mithril distributions are synchronized with Cardano node releases to ensure that every Mithril release ships with full support for the latest stable Cardano node version. The synchronization follows these steps: 1. **Integration build available**: a new integration version of the Cardano node is available but not yet released on GitHub. -2. **Mithril qualification**: the Mithril team qualifies the unreleased Cardano node version and prepares support for it by using the [prepare-cardano-node-artifacts](https://github.com/input-output-hk/mithril/tree/main/docs/runbook/prepare-cardano-node-artifacts) runbook. +2. **Mithril qualification**: the Mithril team qualifies the unreleased Cardano node version and prepares support for it by using the [prepare-cardano-node-artifacts](https://github.com/IntersectMBO/mithril/tree/main/docs/runbook/prepare-cardano-node-artifacts) runbook. 3. **Mithril pre-release**: the Mithril team creates a new pre-release distribution that is ready to be released. It is deployed on `pre-release-preview` with the **previous** stable version of the Cardano node. 4. **Cardano node pre-release**: the Cardano node team creates a pre-release on GitHub. The release embeds Mithril nodes built from the tag of the aforementioned Mithril pre-release distribution. 5. **Joint testing**: the Cardano node and Mithril pre-release versions are tested together. The Cardano node version on `pre-release-preview` is updated to the pre-release version. diff --git a/docs/website/docusaurus.config.js b/docs/website/docusaurus.config.js index ecf4a66bfb2..a3da7a6d5ab 100644 --- a/docs/website/docusaurus.config.js +++ b/docs/website/docusaurus.config.js @@ -40,7 +40,7 @@ const config = { editUrl: ({ docPath }) => { // We want users to submit doc updates to the upstream/next version! // Otherwise we risk losing the update on the next release. - return `https://github.com/input-output-hk/mithril/edit/main/docs/website/root/${docPath}`; + return `https://github.com/IntersectMBO/mithril/edit/main/docs/website/root/${docPath}`; }, lastVersion: "maintained", versions: { @@ -299,7 +299,7 @@ const config = { items: [ { label: "Contributing guidelines", - href: "https://github.com/input-output-hk/mithril/blob/main/CONTRIBUTING.md", + href: "https://github.com/IntersectMBO/mithril/blob/main/CONTRIBUTING.md", }, { label: "Architectural Decision Records", @@ -316,7 +316,7 @@ const config = { }, { label: "GitHub discussions", - href: "https://github.com/input-output-hk/mithril/discussions", + href: "https://github.com/IntersectMBO/mithril/discussions", }, { label: "Stack Exchange", @@ -337,7 +337,7 @@ const config = { }, { label: "Logbook", - href: "https://github.com/input-output-hk/mithril/wiki/Logbook", + href: "https://github.com/IntersectMBO/mithril/wiki/Logbook", }, { label: "Input Output (Blog)", diff --git a/docs/website/openapi.current.yaml b/docs/website/openapi.current.yaml index dcb3c61245c..3c1b3e7d7ff 100644 --- a/docs/website/openapi.current.yaml +++ b/docs/website/openapi.current.yaml @@ -11,10 +11,10 @@ info: termsOfService: http://swagger.io/terms/ contact: name: Mithril Team - url: https://github.com/input-output-hk/mithril + url: https://github.com/IntersectMBO/mithril license: name: BSD 3-Clause License - url: https://github.com/input-output-hk/mithril/blob/main/LICENSE + url: https://github.com/IntersectMBO/mithril/blob/main/LICENSE servers: - url: https://aggregator.release-preprod.api.mithril.network/aggregator - url: https://aggregator.pre-release-preview.api.mithril.network/aggregator diff --git a/docs/website/root/compiled-binaries.mdx b/docs/website/root/compiled-binaries.mdx index 8204be00c97..59c7fab3d63 100644 --- a/docs/website/root/compiled-binaries.mdx +++ b/docs/website/root/compiled-binaries.mdx @@ -10,7 +10,7 @@ You can install a the **latest** released binary of the **{props.node}** by runn curl --proto '=https' --tlsv1.2 -sSf - https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh + https://raw.githubusercontent.com/IntersectMBO/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c {props.node} -d latest -p **YOUR_PATH** diff --git a/docs/website/root/manual/develop/nodes/mithril-aggregator.md b/docs/website/root/manual/develop/nodes/mithril-aggregator.md index b1afa6313aa..d5ff7920d0d 100644 --- a/docs/website/root/manual/develop/nodes/mithril-aggregator.md +++ b/docs/website/root/manual/develop/nodes/mithril-aggregator.md @@ -28,9 +28,9 @@ The Mithril network configurations are available in the [**Network configuration ## Resources -| Node | Source repository | Rust documentation | Docker packages | REST API | Network configurations | -| :--------------------: | :--------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------: | -| **Mithril aggregator** | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-aggregator) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_aggregator/index.html) | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/pkgs/container/mithril-aggregator) | [current :arrow_upper_right:](/doc/aggregator-api/current)
[next ðŸš§ :arrow_upper_right:](/doc/aggregator-api/next) | [:arrow_upper_right:](../../getting-started/network-configurations.md) | +| Node | Source repository | Rust documentation | Docker packages | REST API | Network configurations | +| :--------------------: | :-----------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------: | +| **Mithril aggregator** | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-aggregator) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_aggregator/index.html) | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/pkgs/container/mithril-aggregator) | [current :arrow_upper_right:](/doc/aggregator-api/current)
[next ðŸš§ :arrow_upper_right:](/doc/aggregator-api/next) | [:arrow_upper_right:](../../getting-started/network-configurations.md) | ## Prerequisites @@ -45,13 +45,13 @@ The Mithril network configurations are available in the [**Network configuration Download the source file from GitHub (HTTPS): ```bash -git clone https://github.com/input-output-hk/mithril.git +git clone https://github.com/IntersectMBO/mithril.git ``` Or (SSH): ```bash -git clone git@github.com:input-output-hk/mithril.git +git clone git@github.com:IntersectMBO/mithril.git ``` Switch to the desired branch/tag: diff --git a/docs/website/root/manual/develop/nodes/mithril-client-library-wasm.md b/docs/website/root/manual/develop/nodes/mithril-client-library-wasm.md index 629c1d5d0ad..8715b88963e 100644 --- a/docs/website/root/manual/develop/nodes/mithril-client-library-wasm.md +++ b/docs/website/root/manual/develop/nodes/mithril-client-library-wasm.md @@ -32,9 +32,9 @@ The Mithril network configurations are available in the [**Network configuration ## Resources -| Node | Source repository | Rust documentation | Network configurations | -| :---------------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------: | :--------------------------------------------------------------------: | -| **Mithril client WASM** | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-client-wasm) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_client_wasm/index.html) | [:arrow_upper_right:](../../getting-started/network-configurations.md) | +| Node | Source repository | Rust documentation | Network configurations | +| :---------------------: | :------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------: | :--------------------------------------------------------------------: | +| **Mithril client WASM** | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-client-wasm) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_client_wasm/index.html) | [:arrow_upper_right:](../../getting-started/network-configurations.md) | ## Installation diff --git a/docs/website/root/manual/develop/nodes/mithril-client-library.md b/docs/website/root/manual/develop/nodes/mithril-client-library.md index 0aace8c1100..f3f454989ed 100644 --- a/docs/website/root/manual/develop/nodes/mithril-client-library.md +++ b/docs/website/root/manual/develop/nodes/mithril-client-library.md @@ -36,9 +36,9 @@ The Mithril network configurations are available in the [**Network configuration ## Resources -| Node | Source repository | Rust documentation | Network configurations | -| :----------------: | :----------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------: | :--------------------------------------------------------------------: | -| **Mithril client** | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-client) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_client/index.html) | [:arrow_upper_right:](../../getting-started/network-configurations.md) | +| Node | Source repository | Rust documentation | Network configurations | +| :----------------: | :-------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------: | :--------------------------------------------------------------------: | +| **Mithril client** | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-client) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_client/index.html) | [:arrow_upper_right:](../../getting-started/network-configurations.md) | ## Prerequisites @@ -126,7 +126,7 @@ async fn main() -> MithrilResult<()> { :::info -An full example is available in the [Mithril repository](https://github.com/input-output-hk/mithril/tree/main/examples/client-cardano-transaction/src/main.rs). To run it, execute the following command: +An full example is available in the [Mithril repository](https://github.com/IntersectMBO/mithril/tree/main/examples/client-cardano-transaction/src/main.rs). To run it, execute the following command: ```bash cargo run -p client-cardano-transaction @@ -311,7 +311,7 @@ async fn main() -> MithrilResult<()> { :::info -An full example is available in the [Mithril repository](https://github.com/input-output-hk/mithril/tree/main/examples/client-cardano-stake-distribution/src/main.rs). To run it, execute the following command: +An full example is available in the [Mithril repository](https://github.com/IntersectMBO/mithril/tree/main/examples/client-cardano-stake-distribution/src/main.rs). To run it, execute the following command: ```bash cargo run -p client-cardano-stake-distribution @@ -428,7 +428,7 @@ async fn main() -> mithril_client::MithrilResult<()> { :::info -An full example is available in the [Mithril repository](https://github.com/input-output-hk/mithril/tree/main/examples/client-cardano-database-v2/src/main.rs). To run it, execute the following command: +An full example is available in the [Mithril repository](https://github.com/IntersectMBO/mithril/tree/main/examples/client-cardano-database-v2/src/main.rs). To run it, execute the following command: ```bash cargo run -p client-cardano-database-v2 diff --git a/docs/website/root/manual/develop/nodes/mithril-client.md b/docs/website/root/manual/develop/nodes/mithril-client.md index f771a36f265..d9518c7e9e5 100644 --- a/docs/website/root/manual/develop/nodes/mithril-client.md +++ b/docs/website/root/manual/develop/nodes/mithril-client.md @@ -35,9 +35,9 @@ The Mithril network configurations are available in the [**Network configuration ## Resources -| Node | Source repository | Rust documentation | Docker packages | Network configurations | -| :--------------------: | :--------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------: | -| **Mithril client CLI** | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-client-cli) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_client_cli/index.html) | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/pkgs/container/mithril-client) | [:arrow_upper_right:](../../getting-started/network-configurations.md) | +| Node | Source repository | Rust documentation | Docker packages | Network configurations | +| :--------------------: | :-----------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------: | +| **Mithril client CLI** | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-client-cli) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_client_cli/index.html) | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/pkgs/container/mithril-client) | [:arrow_upper_right:](../../getting-started/network-configurations.md) | ## Prerequisites @@ -69,13 +69,13 @@ All Windows commands below are run on PowerShell 5. Download the source file from GitHub (HTTPS): ```bash -git clone https://github.com/input-output-hk/mithril.git +git clone https://github.com/IntersectMBO/mithril.git ``` Or (SSH): ```bash -git clone git@github.com:input-output-hk/mithril.git +git clone git@github.com:IntersectMBO/mithril.git ``` Switch to the desired branch/tag: @@ -368,7 +368,7 @@ If you wish to delve deeper and access several levels of logs from the Mithril c ### Registry image A list of available images on the registry can be -found [here](https://github.com/input-output-hk/mithril/pkgs/container/mithril-client). +found [here](https://github.com/IntersectMBO/mithril/pkgs/container/mithril-client). To prepare the environment variables, retrieve the values from the **Mithril networks** section. @@ -398,7 +398,7 @@ Here is an example configuration for the `release-preprod` network and the `late ```bash export MITHRIL_IMAGE_ID=latest export AGGREGATOR_ENDPOINT=https://aggregator.release-preprod.api.mithril.network/aggregator - export GENESIS_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/release-preprod/genesis.vkey) + export GENESIS_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/release-preprod/genesis.vkey) export SNAPSHOT_DIGEST=latest ``` @@ -406,7 +406,7 @@ Here is an example configuration for the `release-preprod` network and the `late ```powershell $env:MITHRIL_IMAGE_ID="latest" $env:AGGREGATOR_ENDPOINT="https://aggregator.release-preprod.api.mithril.network/aggregator" - $env:GENESIS_VERIFICATION_KEY = curl.exe --silent - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/release-preprod/genesis.vkey + $env:GENESIS_VERIFICATION_KEY = curl.exe --silent - https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/release-preprod/genesis.vkey $env:SNAPSHOT_DIGEST="latest" ``` @@ -418,14 +418,14 @@ Proceed by creating a shell function for the Mithril client: ```bash mithril_client () { - docker run --rm -e GENESIS_VERIFICATION_KEY=$GENESIS_VERIFICATION_KEY -e AGGREGATOR_ENDPOINT=$AGGREGATOR_ENDPOINT --name='mithril-client' -v $(pwd):/app/data -w /app/data -u $(id -u) ghcr.io/input-output-hk/mithril-client:$MITHRIL_IMAGE_ID $@ + docker run --rm -e GENESIS_VERIFICATION_KEY=$GENESIS_VERIFICATION_KEY -e AGGREGATOR_ENDPOINT=$AGGREGATOR_ENDPOINT --name='mithril-client' -v $(pwd):/app/data -w /app/data -u $(id -u) ghcr.io/intersectmbo/mithril-client:$MITHRIL_IMAGE_ID $@ } ``` ```powershell function mithril_client { - docker run --rm -e GENESIS_VERIFICATION_KEY=$env:GENESIS_VERIFICATION_KEY -e AGGREGATOR_ENDPOINT=$env:AGGREGATOR_ENDPOINT --name='mithril-client' -v ${PWD}:/app/data -w /app/data ghcr.io/input-output-hk/mithril-client:$env:MITHRIL_IMAGE_ID $args + docker run --rm -e GENESIS_VERIFICATION_KEY=$env:GENESIS_VERIFICATION_KEY -e AGGREGATOR_ENDPOINT=$env:AGGREGATOR_ENDPOINT --name='mithril-client' -v ${PWD}:/app/data -w /app/data ghcr.io/intersectmbo/mithril-client:$env:MITHRIL_IMAGE_ID $args } ``` diff --git a/docs/website/root/manual/develop/nodes/mithril-signer.md b/docs/website/root/manual/develop/nodes/mithril-signer.md index 616a2bbd9a1..e5d1cee0ef4 100644 --- a/docs/website/root/manual/develop/nodes/mithril-signer.md +++ b/docs/website/root/manual/develop/nodes/mithril-signer.md @@ -30,9 +30,9 @@ The Mithril network configurations are available in the [**Network configuration ## Resources -| Node | Source repository | Rust documentation | Docker packages | Network configurations | -| :----------------: | :----------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------: | -| **Mithril signer** | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-signer) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_signer/index.html) | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/pkgs/container/mithril-signer) | [:arrow_upper_right:](../../getting-started/network-configurations.md) | +| Node | Source repository | Rust documentation | Docker packages | Network configurations | +| :----------------: | :-------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------: | +| **Mithril signer** | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-signer) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_signer/index.html) | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/pkgs/container/mithril-signer) | [:arrow_upper_right:](../../getting-started/network-configurations.md) | ## Prerequisites @@ -47,13 +47,13 @@ The Mithril network configurations are available in the [**Network configuration You can download the source file from GitHub (HTTPS): ```bash -git clone https://github.com/input-output-hk/mithril.git +git clone https://github.com/IntersectMBO/mithril.git ``` Or (SSH): ```bash -git clone git@github.com:input-output-hk/mithril.git +git clone git@github.com:IntersectMBO/mithril.git ``` Switch to the desired branch/tag: diff --git a/docs/website/root/manual/develop/protocol-simulation.md b/docs/website/root/manual/develop/protocol-simulation.md index 854b95e7b43..ee77c386b59 100644 --- a/docs/website/root/manual/develop/protocol-simulation.md +++ b/docs/website/root/manual/develop/protocol-simulation.md @@ -28,13 +28,13 @@ Ensure you have the following: You can download the source file from GitHub (HTTPS): ```bash -git clone https://github.com/input-output-hk/mithril.git +git clone https://github.com/IntersectMBO/mithril.git ``` Or (SSH): ```bash -git clone git@github.com:input-output-hk/mithril.git +git clone git@github.com:IntersectMBO/mithril.git ``` ## Build the Mithril protocol demo binary diff --git a/docs/website/root/manual/develop/references.md b/docs/website/root/manual/develop/references.md index 18b24991939..f82d5243c06 100644 --- a/docs/website/root/manual/develop/references.md +++ b/docs/website/root/manual/develop/references.md @@ -20,20 +20,20 @@ To learn more about the **Mithril protocol**, please refer to the [about Mithril ## List of dependencies -| Dependency | Description | Source repository | Rust documentation | Published | REST API | -| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------: | -| **Mithril STM** | The **core** library that implements the cryptographic engine for the **Mithril** protocol. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-stm) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_stm/index.html) | [crates :arrow_upper_right:](https://crates.io/crates/mithril-stm) | - | -| **Mithril aggregator** | The node within the **Mithril network** responsible for collecting individual signatures from the **Mithril signers** and aggregating them into a multi-signature. This capability enables the **Mithril aggregator** to provide certified snapshots of the **Cardano** blockchain. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-aggregator) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_aggregator/index.html) | - | [current :arrow_upper_right:](/doc/aggregator-api/current)
[next ðŸš§ :arrow_upper_right:](/doc/aggregator-api/next) | -| **Mithril client** | The library that can be used by developers to interact with Mithril certified data in their applications. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-client) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_client/index.html) | [crates :arrow_upper_right:](https://crates.io/crates/mithril-client) | - | -| **Mithril client CLI** | The node within the **Mithril network** responsible for restoring the **Cardano** blockchain on an empty node from a certified snapshot. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-client-cli) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_client_cli/index.html) | - | - | -| **Mithril client wasm** | The WASM compatible library used for retrieving the certified artifacts produced by the **Mithril network**. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-client-wasm) | - | [npm :arrow_upper_right:](https://www.npmjs.com/package/@mithril-dev/mithril-client-wasm) | - | -| **Mithril signer** | The node responsible for producing individual signatures that are collected and aggregated by the **Mithril aggregator**. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-signer) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_signer/index.html) | - | - | -| **Mithril common** | The **common** library used by **Mithril network** nodes. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/mithril-common) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_common/index.html) | [crates :arrow_upper_right:](https://crates.io/crates/mithril-common) | - | -| **Mithril build script** | A toolbox for Mithril crates using a build scripts phase. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/internal/mithril-build-script) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_build_script/index.html) | [crates :arrow_upper_right:](https://crates.io/crates/mithril-build-script) | - | -| **Mithril doc** | An API that generates markdown documentation for a crate command lines arguments. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/internal/mithril-doc) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_doc/index.html) | - | - | -| **Mithril doc derive** | A macro implementation used by **Mithril doc**. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/internal/mithril-doc-derive) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_doc_derive/index.html) | - | - | -| **Mithril persistence** | The **persistence** library used by **Mithril network** nodes. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/tree/main/internal/mithril-persistence) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_persistence/index.html) | - | - | -| **Cardano devnet** | The private **Cardano network** used to test a **Mithril network**. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/blob/main/mithril-test-lab/cardano-devnet) | - | - | - | -| **Mithril end to end** | The tool used to run test scenarios against a **Mithril devnet**. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/blob/main/mithril-explorer) | - | - | - | -| **Mithril explorer** | The explorer website that connects to a **Mithril aggregator** and displays its **certificate chain**. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/blob/main/mithril-test-lab/mithril-end-to-end) | - | - | - | -| **Protocol simulation** | A simple CLI that helps understand how the **Mithril protocol** works and the role of its protocol parameters. | [:arrow_upper_right:](https://github.com/input-output-hk/mithril/blob/main/demo/protocol-demo) | - | - | - | +| Dependency | Description | Source repository | Rust documentation | Published | REST API | +| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------: | +| **Mithril STM** | The **core** library that implements the cryptographic engine for the **Mithril** protocol. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-stm) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_stm/index.html) | [crates :arrow_upper_right:](https://crates.io/crates/mithril-stm) | - | +| **Mithril aggregator** | The node within the **Mithril network** responsible for collecting individual signatures from the **Mithril signers** and aggregating them into a multi-signature. This capability enables the **Mithril aggregator** to provide certified snapshots of the **Cardano** blockchain. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-aggregator) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_aggregator/index.html) | - | [current :arrow_upper_right:](/doc/aggregator-api/current)
[next ðŸš§ :arrow_upper_right:](/doc/aggregator-api/next) | +| **Mithril client** | The library that can be used by developers to interact with Mithril certified data in their applications. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-client) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_client/index.html) | [crates :arrow_upper_right:](https://crates.io/crates/mithril-client) | - | +| **Mithril client CLI** | The node within the **Mithril network** responsible for restoring the **Cardano** blockchain on an empty node from a certified snapshot. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-client-cli) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_client_cli/index.html) | - | - | +| **Mithril client wasm** | The WASM compatible library used for retrieving the certified artifacts produced by the **Mithril network**. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-client-wasm) | - | [npm :arrow_upper_right:](https://www.npmjs.com/package/@mithril-dev/mithril-client-wasm) | - | +| **Mithril signer** | The node responsible for producing individual signatures that are collected and aggregated by the **Mithril aggregator**. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-signer) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_signer/index.html) | - | - | +| **Mithril common** | The **common** library used by **Mithril network** nodes. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/mithril-common) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_common/index.html) | [crates :arrow_upper_right:](https://crates.io/crates/mithril-common) | - | +| **Mithril build script** | A toolbox for Mithril crates using a build scripts phase. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/internal/mithril-build-script) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_build_script/index.html) | [crates :arrow_upper_right:](https://crates.io/crates/mithril-build-script) | - | +| **Mithril doc** | An API that generates markdown documentation for a crate command lines arguments. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/internal/mithril-doc) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_doc/index.html) | - | - | +| **Mithril doc derive** | A macro implementation used by **Mithril doc**. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/internal/mithril-doc-derive) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_doc_derive/index.html) | - | - | +| **Mithril persistence** | The **persistence** library used by **Mithril network** nodes. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/tree/main/internal/mithril-persistence) | [:arrow_upper_right:](https://mithril.network/rust-doc/mithril_persistence/index.html) | - | - | +| **Cardano devnet** | The private **Cardano network** used to test a **Mithril network**. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/blob/main/mithril-test-lab/cardano-devnet) | - | - | - | +| **Mithril end to end** | The tool used to run test scenarios against a **Mithril devnet**. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/blob/main/mithril-explorer) | - | - | - | +| **Mithril explorer** | The explorer website that connects to a **Mithril aggregator** and displays its **certificate chain**. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/blob/main/mithril-test-lab/mithril-end-to-end) | - | - | - | +| **Protocol simulation** | A simple CLI that helps understand how the **Mithril protocol** works and the role of its protocol parameters. | [:arrow_upper_right:](https://github.com/IntersectMBO/mithril/blob/main/demo/protocol-demo) | - | - | - | diff --git a/docs/website/root/manual/getting-started/bootstrap-cardano-node.md b/docs/website/root/manual/getting-started/bootstrap-cardano-node.md index b8d43921436..5e24f601d8d 100644 --- a/docs/website/root/manual/getting-started/bootstrap-cardano-node.md +++ b/docs/website/root/manual/getting-started/bootstrap-cardano-node.md @@ -37,13 +37,13 @@ sudo apt-get install make build-essential m4 docker jq You can download the source file from GitHub (HTTPS): ```bash -git clone https://github.com/input-output-hk/mithril.git +git clone https://github.com/IntersectMBO/mithril.git ``` Or (SSH): ```bash -git clone git@github.com:input-output-hk/mithril.git +git clone git@github.com:IntersectMBO/mithril.git ``` ## Build the Mithril client binary @@ -189,7 +189,7 @@ If you wish to delve deeper and access several levels of logs from the Mithril c ## Run the Docker container -The list of available images on the registry is listed [here](https://github.com/input-output-hk/mithril/pkgs/container/mithril-client). +The list of available images on the registry is listed [here](https://github.com/IntersectMBO/mithril/pkgs/container/mithril-client). Prepare an environment variable with the selected Docker image: @@ -207,7 +207,7 @@ Then, create a shell function for the Mithril client: ```bash mithril_client () { - docker run --rm -e GENESIS_VERIFICATION_KEY=$GENESIS_VERIFICATION_KEY -e AGGREGATOR_ENDPOINT=$AGGREGATOR_ENDPOINT --name='mithril-client' -v $(pwd):/app/data -w /app/data -u $(id -u) ghcr.io/input-output-hk/mithril-client:$MITHRIL_IMAGE_ID $@ + docker run --rm -e GENESIS_VERIFICATION_KEY=$GENESIS_VERIFICATION_KEY -e AGGREGATOR_ENDPOINT=$AGGREGATOR_ENDPOINT --name='mithril-client' -v $(pwd):/app/data -w /app/data -u $(id -u) ghcr.io/intersectmbo/mithril-client:$MITHRIL_IMAGE_ID $@ } ``` @@ -397,10 +397,10 @@ export CARDANO_NETWORK=preview export AGGREGATOR_ENDPOINT=https://aggregator.pre-release-preview.api.mithril.network/aggregator # Genesis verification key -export GENESIS_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/pre-release-preview/genesis.vkey) +export GENESIS_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/pre-release-preview/genesis.vkey) # Ancillary verification key -export ANCILLARY_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/pre-release-preview/ancillary.vkey) +export ANCILLARY_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/pre-release-preview/ancillary.vkey) # Digest of the latest produced cardano db snapshot for convenience of the demo export SNAPSHOT_DIGEST=latest diff --git a/docs/website/root/manual/operate/become-mithril-spo.md b/docs/website/root/manual/operate/become-mithril-spo.md index a0fc8edb281..ae87738d808 100644 --- a/docs/website/root/manual/operate/become-mithril-spo.md +++ b/docs/website/root/manual/operate/become-mithril-spo.md @@ -39,7 +39,7 @@ To participate in the pioneer program, you will need to: - You can choose between the **Naive** (easier to set up) or the **Production** deployment models - Wait for two epochs (or two days) before your **Mithril signer** is eligible to contribute; check that your **Mithril signer** is registered by the aggregator following [**Verify your signer is registered**](./run-signer-node.md#verify-your-signer-is-registered) steps - Verify that your **Pool Id** is listed in some of the produced certificates using the [**Mithril explorer**](https://mithril.network/explorer?aggregator=https%3A%2F%2Faggregator.pre-release-preview.api.mithril.network%2Faggregator) or following [**Verify your signer contributes with individual signatures**](./run-signer-node.md#verify-your-signer-contributes-with-individual-signatures) steps -- :warning: Follow [**#ask-mithril**](https://discord.gg/5kaErDKDRq) Discord channel or our [**GitHub repository**](https://github.com/input-output-hk/mithril/releases?q=pre) for new pre-releases to install +- :warning: Follow [**#ask-mithril**](https://discord.gg/5kaErDKDRq) Discord channel or our [**GitHub repository**](https://github.com/IntersectMBO/mithril/releases?q=pre) for new pre-releases to install - If you have any technical issues or would like to provide feedback, feel free to ask questions on the [**#ask-mithril**](https://discord.gg/5kaErDKDRq) Discord channel. ## Step 2: Get Mithril ready for `mainnet` @@ -57,7 +57,7 @@ To get ready for `mainnet`, you need to: - You **must** run the **Production** deployment model - Wait for two epochs (or ten days) before your **Mithril signer** is eligible to contribute; check that your **Mithril signer** is registered by the aggregator following [**Verify your signer is registered**](./run-signer-node.md#verify-your-signer-is-registered) steps - Verify that your **Pool Id** is listed in some of the produced certificates using the [**Mithril explorer**](https://mithril.network/explorer?aggregator=https%3A%2F%2Faggregator.release-preprod.api.mithril.network%2Faggregator) or following [**Verify your signer contributes with individual signatures**](./run-signer-node.md#verify-your-signer-contributes-with-individual-signatures) steps -- :warning: Follow [**#ask-mithril**](https://discord.gg/5kaErDKDRq) Discord channel or our [**GitHub repository**](https://github.com/input-output-hk/mithril/releases/latest) for new releases to install +- :warning: Follow [**#ask-mithril**](https://discord.gg/5kaErDKDRq) Discord channel or our [**GitHub repository**](https://github.com/IntersectMBO/mithril/releases/latest) for new releases to install - If you have any technical issues or would like to provide feedback, feel free to ask questions on the [**#ask-mithril**](https://discord.gg/5kaErDKDRq) Discord channel. ## Step 3: Run Mithril on `mainnet` @@ -75,5 +75,5 @@ To run **Mithril** on `mainnet`, you need to: - You **must** run the **Production** deployment model - Wait for two epochs (or ten days) before your **Mithril signer** is eligible to contribute; check that your **Mithril signer** is registered by the aggregator following [**Verify your signer is registered**](./run-signer-node.md#verify-your-signer-is-registered) steps - Verify that your **Pool Id** is listed in some of the produced certificates using the [**Mithril explorer**](https://mithril.network/explorer?aggregator=https%3A%2F%2Faggregator.release-mainnet.api.mithril.network%2Faggregator) or following [**Verify your signer contributes with individual signatures**](./run-signer-node.md#verify-your-signer-contributes-with-individual-signatures) steps -- :warning: Follow [**#ask-mithril**](https://discord.gg/5kaErDKDRq) Discord channel or our [**GitHub repository**](https://github.com/input-output-hk/mithril/releases/latest) for new releases to install +- :warning: Follow [**#ask-mithril**](https://discord.gg/5kaErDKDRq) Discord channel or our [**GitHub repository**](https://github.com/IntersectMBO/mithril/releases/latest) for new releases to install - If you have any technical issues or would like to provide feedback, feel free to ask questions on the [**#ask-mithril**](https://discord.gg/5kaErDKDRq) Discord channel. diff --git a/docs/website/root/manual/operate/run-aggregator-node.md b/docs/website/root/manual/operate/run-aggregator-node.md index 749f429329a..ceb4c40241a 100644 --- a/docs/website/root/manual/operate/run-aggregator-node.md +++ b/docs/website/root/manual/operate/run-aggregator-node.md @@ -93,7 +93,7 @@ The actual resource requirements may vary depending on the signed entity types y :::info -Compare the version of your Cardano node with the minimum supported versions listed in the [`networks.json`](https://github.com/input-output-hk/mithril/blob/main/networks.json) file to verify its compatibility with the Mithril aggregator. +Compare the version of your Cardano node with the minimum supported versions listed in the [`networks.json`](https://github.com/IntersectMBO/mithril/blob/main/networks.json) file to verify its compatibility with the Mithril aggregator. First, check the version of your Cardano node by running the following command: @@ -101,18 +101,18 @@ First, check the version of your Cardano node by running the following command: cardano-node --version ``` -Then, refer to the minimum supported versions listed in the [`networks.json`](https://github.com/input-output-hk/mithril/blob/main/networks.json) file. +Then, refer to the minimum supported versions listed in the [`networks.json`](https://github.com/IntersectMBO/mithril/blob/main/networks.json) file. You can also fetch the minimum supported version for your network using the command below: ```bash -wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/networks.json | jq -r '."**YOUR_CARDANO_NETWORK**"."cardano-minimum-version"."mithril-aggregator"' +wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/networks.json | jq -r '."**YOUR_CARDANO_NETWORK**"."cardano-minimum-version"."mithril-aggregator"' ``` Here is an example for `preprod`: ```bash -wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/networks.json | jq -r '."preprod"."cardano-minimum-version"."mithril-aggregator"' +wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/networks.json | jq -r '."preprod"."cardano-minimum-version"."mithril-aggregator"' ``` ::: @@ -124,13 +124,13 @@ wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/netw To download the source from GitHub (HTTPS), run: ```bash -git clone https://github.com/input-output-hk/mithril.git +git clone https://github.com/IntersectMBO/mithril.git ``` Or (SSH): ```bash -git clone git@github.com:input-output-hk/mithril.git +git clone git@github.com:IntersectMBO/mithril.git ``` #### Build the Mithril aggregator binary @@ -313,8 +313,8 @@ Here is an **example** set of values for **release-preprod** that will be used i - **CARDANO_NODE_VERSION**: `10.5.0` - **CHAIN_OBSERVER_TYPE**: `pallas` - **ERA_READER_ADAPTER_TYPE**: `cardano-chain` - - **ERA_READER_ADAPTER_PARAMS**: `$(jq -nc --arg address $(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/release-preprod/era.addr) --arg verification_key $(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/release-preprod/era.vkey) '{"address": $address, "verification_key": $verification_key}')` - - **GENESIS_VERIFICATION_KEY**: `$(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/release-preprod/genesis.vkey)` + - **ERA_READER_ADAPTER_PARAMS**: `$(jq -nc --arg address $(wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/release-preprod/era.addr) --arg verification_key $(wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/release-preprod/era.vkey) '{"address": $address, "verification_key": $verification_key}')` + - **GENESIS_VERIFICATION_KEY**: `$(wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/mithril-infra/configuration/release-preprod/genesis.vkey)` - **DMQ_NODE_SOCKET_PATH**: `/dmq/ipc/node.socket` - **CUSTOM_ORIGIN_TAG_WHITE_LIST**: `EXPLORER,BENCHMARK,CI,NA` @@ -1299,8 +1299,8 @@ If you want to make your follower aggregator publicly discoverable, you should: 1. **Ensure your aggregator is accessible via HTTPS** by setting up Traefik or another reverse proxy with a valid SSL certificate (as described in the [Set up the SSL certificate](#setup-the-ssl-certificate-traefik) section). 2. **Register your aggregator in the networks configuration**. You can do this by: - - Opening an issue in the [Mithril GitHub repository](https://github.com/input-output-hk/mithril/issues) - - Or by creating a pull request that modifies the [`networks.json`](https://github.com/input-output-hk/mithril/blob/main/networks.json) file and updates the `aggregators` field in the Cardano network you are targeting. + - Opening an issue in the [Mithril GitHub repository](https://github.com/IntersectMBO/mithril/issues) + - Or by creating a pull request that modifies the [`networks.json`](https://github.com/IntersectMBO/mithril/blob/main/networks.json) file and updates the `aggregators` field in the Cardano network you are targeting. Here is an example command to add an aggregator to the `release-preprod` network configuration: diff --git a/docs/website/root/manual/operate/run-signer-node.md b/docs/website/root/manual/operate/run-signer-node.md index f42e3712dd7..677a660c065 100644 --- a/docs/website/root/manual/operate/run-signer-node.md +++ b/docs/website/root/manual/operate/run-signer-node.md @@ -130,7 +130,7 @@ Note that this guide works only on a Linux machine. :::info -Compare the version of your Cardano node with the minimum supported versions listed in the [`networks.json`](https://github.com/input-output-hk/mithril/blob/main/networks.json) file to verify its compatibility with the Mithril signer. +Compare the version of your Cardano node with the minimum supported versions listed in the [`networks.json`](https://github.com/IntersectMBO/mithril/blob/main/networks.json) file to verify its compatibility with the Mithril signer. First, check the version of your Cardano node by running the following command: @@ -138,18 +138,18 @@ First, check the version of your Cardano node by running the following command: cardano-node --version ``` -Then, refer to the minimum supported versions listed in the [`networks.json`](https://github.com/input-output-hk/mithril/blob/main/networks.json) file. +Then, refer to the minimum supported versions listed in the [`networks.json`](https://github.com/IntersectMBO/mithril/blob/main/networks.json) file. You can also fetch the minimum supported version for your network using the command below: ```bash -wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/networks.json | jq -r '."**YOUR_CARDANO_NETWORK**"."cardano-minimum-version"."mithril-signer"' +wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/networks.json | jq -r '."**YOUR_CARDANO_NETWORK**"."cardano-minimum-version"."mithril-signer"' ``` Here is an example for `preprod`: ```bash -wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/networks.json | jq -r '."preprod"."cardano-minimum-version"."mithril-signer"' +wget -q -O - https://raw.githubusercontent.com/IntersectMBO/mithril/main/networks.json | jq -r '."preprod"."cardano-minimum-version"."mithril-signer"' ``` ::: @@ -161,13 +161,13 @@ wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/netw To download the source from GitHub (HTTPS), run: ```bash -git clone https://github.com/input-output-hk/mithril.git +git clone https://github.com/IntersectMBO/mithril.git ``` Or (SSH): ```bash -git clone git@github.com:input-output-hk/mithril.git +git clone git@github.com:IntersectMBO/mithril.git ``` #### Build the Mithril signer binary diff --git a/docs/website/root/mithril/advanced/mithril-network/architecture-c4.puml b/docs/website/root/mithril/advanced/mithril-network/architecture-c4.puml index e0591b683c7..69ab38b3be4 100644 --- a/docs/website/root/mithril/advanced/mithril-network/architecture-c4.puml +++ b/docs/website/root/mithril/advanced/mithril-network/architecture-c4.puml @@ -6,7 +6,7 @@ AddElementTag("external", $bgColor="#c1ffc1") Person(end_user, "End user", "Retrieves and verifies artifacts certified by the Mithril network") -Container_Boundary(mithril_aggregator, "Mithril aggregator", $link="https://github.com/input-output-hk/mithril/tree/main/mithril-aggregator") { +Container_Boundary(mithril_aggregator, "Mithril aggregator", $link="https://github.com/IntersectMBO/mithril/tree/main/mithril-aggregator") { Component(mithril_aggregator_logic, "Aggregator logic", "FSM", "Maintains and transitions aggregator's internal states") Component(mithril_aggregator_cryptographic_engine, "Cryptographic engine", "STM/Asym", "Operates cryptographic primitives") Component(mithril_aggregator_chain_observer, "Chain observer", "", "Observes the Cardano chain") @@ -19,7 +19,7 @@ Container_Boundary(mithril_aggregator, "Mithril aggregator", $link="https://gith BiRel(mithril_aggregator_http_server, mithril_aggregator_persistence, "Accesses aggregator's state") } -Container_Boundary(mithril_signer, "Mithril signer", $link="https://github.com/input-output-hk/mithril/tree/main/mithril-signer") { +Container_Boundary(mithril_signer, "Mithril signer", $link="https://github.com/IntersectMBO/mithril/tree/main/mithril-signer") { Component(mithril_signer_logic, "Signer logic", "FSM", "Maintains and transitions signer's internal states ") Component(mithril_signer_cryptographic_engine, "Cryptographic engine", "STM/Asym", "Operates cryptographic primitives") Component(mithril_signer_chain_observer, "Chain observer", "", "Observes the Cardano chain") @@ -36,7 +36,7 @@ Container_Boundary(mithril_relay, "Mithril relay") { Component(mithril_relay_forward_proxy, "Forward proxy", "Squid", "Proxies HTTPS calls to the aggregator") } -Container_Boundary(mithril_client, "Mithril client", $link="https://github.com/input-output-hk/mithril/tree/main/mithril-client") { +Container_Boundary(mithril_client, "Mithril client", $link="https://github.com/IntersectMBO/mithril/tree/main/mithril-client") { Component(mithril_client_logic, "Client logic", "Client commands", "Retrieves artifacts and verifies their authenticity") Component(mithril_client_cryptographic_engine, "Cryptographic engine", "STM/Asym", "Operates cryptographic primitives") Component(mithril_client_http_client, "HTTP client", "REST API", "Sends HTTP requests to the aggregator") diff --git a/docs/website/root/mithril/advanced/mithril-network/images/architecture.svg b/docs/website/root/mithril/advanced/mithril-network/images/architecture.svg index 4957018e115..279bcfab149 100644 --- a/docs/website/root/mithril/advanced/mithril-network/images/architecture.svg +++ b/docs/website/root/mithril/advanced/mithril-network/images/architecture.svg @@ -1,8 +1,8 @@ Mithril network architectureMithril aggregator[Container]Mithril signer[Container]Mithril aggregator[Container]Mithril signer[Container]Mithril relay[Container]Mithril client[Container]Mithril client[Container]«component»Aggregator logic[FSM] Maintains and transitionsaggregator's internal states«component»Cryptographic engine[STM/Asym] Operates cryptographicprimitives«component»Chain observer Observes the Cardano chainMithril aggregator[Container]Mithril signer[Container]Mithril aggregator[Container]Mithril signer[Container]Mithril relay[Container]Mithril client[Container]Mithril client[Container]«component»Aggregator logic[FSM] Maintains and transitionsaggregator's internal states«component»Cryptographic engine[STM/Asym] Operates cryptographicprimitives«component»Chain observer Observes the Cardano chain