Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: updated github links #1651

Merged
merged 3 commits into from
Nov 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
396 changes: 198 additions & 198 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
## Existing issues
<!-- Have you searched for any existing issues or are their any similar issues that you've found? -->
- [ ] [Stack Overflow issues](http://stackoverflow.com/tags/hyperledger-caliper)
- [ ] [GitHub Issues](https://github.com/hyperledger/caliper/issues)
- [ ] [GitHub Issues](https://github.com/hyperledger-caliper/caliper/issues)
- [ ] [Discord Chat history](https://discord.com/channels/905194001349627914/941417677778473031)

<!-- please include any links to issues here -->
Expand Down
2 changes: 1 addition & 1 deletion PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
## Existing issues
<!-- Have you searched for any existing issues or are their any similar issues that you've found? -->
- [ ] [Stack Overflow issues](http://stackoverflow.com/tags/hyperledger-caliper)
- [ ] [GitHub Issues](https://github.com/hyperledger/caliper/issues)
- [ ] [GitHub Issues](https://github.com/hyperledger-caliper/caliper/issues)
- [ ] [Discord history](https://discord.com/channels/905194001349627914/941417677778473031)

<!-- please include any links to issues here -->
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# ![Hyperledger Caliper](https://wiki.hyperledger.org/download/attachments/2392434/Hyperledger_Caliper_Logo_Color.svg?version=1&modificationDate=1548883186000&api=v2)

[![CI](https://github.com/hyperledger/caliper/actions/workflows/main.yml/badge.svg)](https://github.com/hyperledger/caliper/actions/workflows/main.yml)
[![CI](https://github.com/hyperledger-caliper/caliper/actions/workflows/main.yml/badge.svg)](https://github.com/hyperledger-caliper/caliper/actions/workflows/main.yml)
[![codecov](https://codecov.io/gh/hyperledger/caliper/branch/main/graph/badge.svg?token=rVFhTNrZBJ)](https://codecov.io/gh/hyperledger/caliper)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/2381/badge)](https://bestpractices.coreinfrastructure.org/projects/2381)
[![license](https://img.shields.io/badge/license-Apache%202.0-blue)](https://github.com/hyperledger/caliper/blob/main/LICENSE)
[![license](https://img.shields.io/badge/license-Apache%202.0-blue)](https://github.com/hyperledger-caliper/caliper/blob/main/LICENSE)
[![node (scoped)](https://img.shields.io/node/v/@hyperledger/caliper-cli)](https://www.npmjs.com/package/@hyperledger/caliper-cli)
[![npm (scoped)](https://img.shields.io/npm/v/@hyperledger/caliper-cli?label=version)](https://www.npmjs.com/package/@hyperledger/caliper-cli)
[![npm](https://img.shields.io/npm/dt/@hyperledger/caliper-cli?label=npm%20downloads)](https://www.npmjs.com/package/@hyperledger/caliper-cli)
Expand Down Expand Up @@ -36,7 +36,7 @@ See the [related documentation page](https://hyperledger-caliper.github.io/calip

If you have any issues using Caliper that the documentation does not help you solve, please reach out to us through the following methods:
* [Discord](https://discord.com/channels/905194001349627914/941417677778473031) Please feel free to contact us on Discord (instant messaging). We monitor the Caliper channels as closely as possible, but even if you don't have a problem that needs resolving, why not jump on and say hi ... we'd love to hear from you about your experiences and any new features you think we should work on.
* [Issues](https://github.com/hyperledger/caliper/issues) Feel free to raise an issue if you are facing a Caliper related problem
* [Issues](https://github.com/hyperledger-caliper/caliper/issues) Feel free to raise an issue if you are facing a Caliper related problem

Caliper interacts with multiple blockchain technologies and consequently it *might* be an issue with the underlying blockchain technology being interacted with. You can seek specific help on these technologies on the same Discord server such as the Fabric or Besu channels.

Expand Down
2 changes: 1 addition & 1 deletion docs/mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
site_name: Hyperledger Caliper
repo_name: hyperledger/caliper
repo_url: https://github.com/hyperledger/caliper
repo_url: https://github.com/hyperledger-caliper/caliper
docs_dir: source
site_dir: build
theme:
Expand Down
2 changes: 1 addition & 1 deletion docs/source/concepts/caliper-messengers.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Caliper uses an orchestrator to control workers that interact with the SUT in or

## Messengers

The messaging protocol to be used for communications between the orchestrator and worker during a benchmark is declared in the `caliper runtime configuration file`. Unspecified values will default to those specified in the [default configuration file](https://github.com/hyperledger/caliper/blob/main/packages/caliper-core/lib/config/default.yaml).
The messaging protocol to be used for communications between the orchestrator and worker during a benchmark is declared in the `caliper runtime configuration file`. Unspecified values will default to those specified in the [default configuration file](https://github.com/hyperledger-caliper/caliper/blob/main/packages/caliper-core/lib/config/default.yaml).

Permitted messengers are:

Expand Down
2 changes: 1 addition & 1 deletion docs/source/concepts/logging-control.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Caliper builds on the [winston](https://github.com/winstonjs/winston) logger mod

The first two points can be achieved through the [runtime configuration](runtime-config.md) mechanism of Caliper. So make sure that you are familiar with the different way of overriding runtime settings before reading on. The examples below only set the different options through the command line. Naturally, any other setting source could be used.

The runtime configuration settings corresponding to logging reside under the `caliper-logging` key hierarchy. See the `caliper.logging` section of the [default configuration file](https://github.com/hyperledger/caliper/blob/v0.6.0/packages/caliper-core/lib/config/default.yaml) bundled with Caliper for the general structure of the settings.
The runtime configuration settings corresponding to logging reside under the `caliper-logging` key hierarchy. See the `caliper.logging` section of the [default configuration file](https://github.com/hyperledger-caliper/caliper/blob/v0.6.0/packages/caliper-core/lib/config/default.yaml) bundled with Caliper for the general structure of the settings.

## Customizing the logging style

Expand Down
2 changes: 1 addition & 1 deletion docs/source/concepts/runtime-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ A default/fallback configuration file is shipped with the Caliper-related packag
## Available settings

!!! note
*Always refer to the self-documenting [default configuration file](https://github.com/hyperledger/caliper/blob/main/packages/caliper-core/lib/common/config/default.yaml) for the currently supported runtime configuration settings.*
*Always refer to the self-documenting [default configuration file](https://github.com/hyperledger-caliper/caliper/blob/main/packages/caliper-core/lib/common/config/default.yaml) for the currently supported runtime configuration settings.*

### Basic settings

Expand Down
2 changes: 1 addition & 1 deletion docs/source/concepts/workload-module.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ function createWorkloadModule() {
module.exports.createWorkloadModule = createWorkloadModule;
```

The factory function must return an instance that implements the `[WorkloadModuleInterface](https://github.com/hyperledger/caliper/blob/main/packages/caliper-core/lib/worker/workload/workloadModuleInterface.js)` class. See the [example](#example) for a complete implementation.
The factory function must return an instance that implements the `[WorkloadModuleInterface](https://github.com/hyperledger-caliper/caliper/blob/main/packages/caliper-core/lib/worker/workload/workloadModuleInterface.js)` class. See the [example](#example) for a complete implementation.

The interface contains the following three **asynchronous** functions:

Expand Down
2 changes: 1 addition & 1 deletion docs/source/connectors/ethereum-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ The last argument of the function is a `sutContext` object, which is a platform-
The `fromAddress` property is the [benchmark address](../connectors/ethereum-config.md/#benchmark-address) while web3 is the configured instance of the Web3js client.

#### The *submitTransaction* function
The `sutAdapter` object received (and saved) in the `initializeWorkloadModule` function is of type `[ConnectorInterface](https://github.com/hyperledger/caliper/blob/v0.6.0/packages/caliper-core/lib/common/core/connector-interface.js)`. Its `getType()` function returns the `fabric` string value.
The `sutAdapter` object received (and saved) in the `initializeWorkloadModule` function is of type `[ConnectorInterface](https://github.com/hyperledger-caliper/caliper/blob/v0.6.0/packages/caliper-core/lib/common/core/connector-interface.js)`. Its `getType()` function returns the `fabric` string value.

The `sendRequests` method of the connector API allows the workload module to submit requests to the SUT. It takes a single parameter: an object or array of objects containing the settings of the requests.

Expand Down
10 changes: 5 additions & 5 deletions docs/source/connectors/fabric-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ peers:
## Runtime settings

### Common settings
Some runtime properties of the adapter can be set through Caliper’s [runtime configuration mechanism](../concepts/runtime-config.md). For the available settings, see the `caliper.fabric` section of the [default configuration file](https://github.com/hyperledger/caliper/blob/v0.6.0/packages/caliper-core/lib/common/config/default.yaml) and its embedded documentation.
Some runtime properties of the adapter can be set through Caliper’s [runtime configuration mechanism](../concepts/runtime-config.md). For the available settings, see the `caliper.fabric` section of the [default configuration file](https://github.com/hyperledger-caliper/caliper/blob/v0.6.0/packages/caliper-core/lib/common/config/default.yaml) and its embedded documentation.

The above settings are processed when starting Caliper. Modifying them during testing will have no effect. However, you can override the default values *before Caliper* starts from the usual configuration sources. In the following example the `localhost` property applies only when binding with Fabric 2.2 or Fabric 1.4 (and only if the `gateway` option is enabled)

Expand Down Expand Up @@ -127,11 +127,11 @@ See the [corresponding documentation](../concepts/workload-module.md/#initialize

The last argument of the function is a `sutContext` object, which is a platform-specific object provided by the backend blockchain’s connector. The context object provided by this connector is a `FabricConnectorContext` instance but this doesn’t provide anything of use at this time.

For the current details/documentation of the API, refer to the [source code](https://github.com/hyperledger/caliper/blob/v0.6.0/packages/caliper-fabric/lib/FabricConnectorContext.js).
For the current details/documentation of the API, refer to the [source code](https://github.com/hyperledger-caliper/caliper/blob/v0.6.0/packages/caliper-fabric/lib/FabricConnectorContext.js).

### The `submitTransaction` function

The `sutAdapter` object received (and saved) in the `initializeWorkloadModule` function is of type `[ConnectorInterface](https://github.com/hyperledger/caliper/blob/v0.6.0/packages/caliper-core/lib/common/core/connector-interface.js)`. Its `getType()` function returns the `fabric` string value.
The `sutAdapter` object received (and saved) in the `initializeWorkloadModule` function is of type `[ConnectorInterface](https://github.com/hyperledger-caliper/caliper/blob/v0.6.0/packages/caliper-core/lib/common/core/connector-interface.js)`. Its `getType()` function returns the `fabric` string value.

The `sendRequests` method of the connector API allows the workload module to submit requests to the SUT. It takes a single parameter: an object or array of objects containing the settings of the requests.

Expand Down Expand Up @@ -170,7 +170,7 @@ await this.sutAdapter.sendRequests(requestSettings);

## Gathered TX data

The previously discussed `sendRequests` function returns the result (or an array of results) for the submitted request(s) with the type of [TxStatus](https://github.com/hyperledger/caliper/blob/v0.6.0/packages/caliper-core/lib/transaction-status.js). The class provides some standard and platform-specific information about its corresponding transaction.
The previously discussed `sendRequests` function returns the result (or an array of results) for the submitted request(s) with the type of [TxStatus](https://github.com/hyperledger-caliper/caliper/blob/v0.6.0/packages/caliper-core/lib/transaction-status.js). The class provides some standard and platform-specific information about its corresponding transaction.

The standard data provided are the following:
- `GetID():string` returns the transaction ID.
Expand Down Expand Up @@ -239,7 +239,7 @@ The `cleanupWorkloadModule` function is called at the end of the round, and can
## Network configuration file reference
The YAML network configuration file of the adapter mainly describes the organizations and the identities associated with those organizations, It also provides explicit information about the channels in your Fabric network and the chaincode (containing 1 or more smart contracts) deployed to those channels. It can reference Common Connection Profiles for each organization (as common connection profiles are specific to a single organization). These are the same connection profiles that would be consumed by the node-sdk. Whoever creates the Fabric network and channels would be able to provide appropriate profiles for each organization.

The following sections detail each part separately. For a complete example, please refer to the [example section](#network-configuration-example) or one of the files in the [Caliper repositor](https://github.com/hyperledger/caliper), such as the caliper-fabric test folder.
The following sections detail each part separately. For a complete example, please refer to the [example section](#network-configuration-example) or one of the files in the [Caliper repositor](https://github.com/hyperledger-caliper/caliper), such as the caliper-fabric test folder.

<details>
<summary><b>name</b></summary>
Expand Down
14 changes: 7 additions & 7 deletions docs/source/connectors/writing-connectors.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ You should treat a connector implementation process as a full-fledged Node.js pr

### The connector interface

Once you add the `@hyperledger/caliper-core` package (or one of its specific versions) as your project dependency, you will gain access to its exported `ConnectorInterface` class, which declares the following [interface](https://github.com/hyperledger/caliper/blob/v0.6.0/packages/caliper-core/lib/common/core/connector-interface.js):
Once you add the `@hyperledger/caliper-core` package (or one of its specific versions) as your project dependency, you will gain access to its exported `ConnectorInterface` class, which declares the following [interface](https://github.com/hyperledger-caliper/caliper/blob/v0.6.0/packages/caliper-core/lib/common/core/connector-interface.js):

```sh
class ConnectorInterface extends EventEmitter {
Expand Down Expand Up @@ -137,13 +137,13 @@ The interface is detailed in the next subsection, but for now, keep the followin

`sendRequests`

- **Description:** This method is the hot path of the connector, called in the worker processes by the workload modules of the rounds. The method must accept one or multiple settings objects pertaining to the request or requests that must be sent to the SUT. The connector doesn’t have to preserve the order of execution for the requests, unless the target SUT type supports such request batches. The connector must gather at least the start time, finish time, and final status (successful or failed) of every request through [TxStatus](https://github.com/hyperledger/caliper/blob/v0.6.0/packages/caliper-core/lib/common/core/transaction-status.js) instances.
- **Description:** This method is the hot path of the connector, called in the worker processes by the workload modules of the rounds. The method must accept one or multiple settings objects pertaining to the request or requests that must be sent to the SUT. The connector doesn’t have to preserve the order of execution for the requests, unless the target SUT type supports such request batches. The connector must gather at least the start time, finish time, and final status (successful or failed) of every request through [TxStatus](https://github.com/hyperledger-caliper/caliper/blob/v0.6.0/packages/caliper-core/lib/common/core/transaction-status.js) instances.
- **Return type:** *Promise<TxStatus|TxStatus[]>*
- **Returns:** The promise of one or more request execution results that will resolve upon method completion.

#### Exposed events

The connector must expose the following events with names matching the defined [constants](https://github.com/hyperledger/caliper/blob/v0.6.0/packages/caliper-core/lib/common/utils/constants.js) for them. Without these events the Caliper scheduling mechanism won’t function correctly, and other components might also rely on them (like TX monitors).
The connector must expose the following events with names matching the defined [constants](https://github.com/hyperledger-caliper/caliper/blob/v0.6.0/packages/caliper-core/lib/common/utils/constants.js) for them. Without these events the Caliper scheduling mechanism won’t function correctly, and other components might also rely on them (like TX monitors).

`txsSubmitted`

Expand Down Expand Up @@ -373,21 +373,21 @@ If you would like to expose you connector to a wider user-base, then you should

*Don’t hesitate to reach out to the project maintainers on Rocket.Chat (`#caliper-contributors` channel) who will help you with the integration.*

The integration consists of the following steps (for an example, see the `[caliper-ethereum](https://github.com/hyperledger/caliper/tree/v0.6.0/packages/caliper-ethereum)` connector):
The integration consists of the following steps (for an example, see the `[caliper-ethereum](https://github.com/hyperledger-caliper/caliper/tree/v0.6.0/packages/caliper-ethereum)` connector):

1. Create a `caliper-fast-ledger` directory in the `packages` directory of the repository. This will contain your connector implementation.
2. Update your metadata in your own `package.json` file accordingly. The package name should be scoped: `@hyperledger/caliper-fast-ledger`.
3. If your connector supports binding, then you should list the dynamic packages in the `devDependencies` section, so they’re not automatically installed with Caliper (since the users will rebind it anyway). Also, add your connector’s binding specifications to the built-in [binding configuration file](https://github.com/hyperledger/caliper/blob/v0.6.0/packages/caliper-cli/lib/lib/config.yaml).
3. If your connector supports binding, then you should list the dynamic packages in the `devDependencies` section, so they’re not automatically installed with Caliper (since the users will rebind it anyway). Also, add your connector’s binding specifications to the built-in [binding configuration file](https://github.com/hyperledger-caliper/caliper/blob/v0.6.0/packages/caliper-cli/lib/lib/config.yaml).
4. Add your new directory path to the root `lerna.json` file, under the `packages` section. This will ensure that your package is bootstrapped correctly for other developers (and for testing, publishing, etc.).
5. Add your new package (by name) to the [Caliper CLI dependencies](https://github.com/hyperledger/caliper/blob/v0.6.0/packages/caliper-cli/package.json).
5. Add your new package (by name) to the [Caliper CLI dependencies](https://github.com/hyperledger-caliper/caliper/blob/v0.6.0/packages/caliper-cli/package.json).
6. List your connector as a built-in connector in the `caliper-utils.js` module, under the `BuiltinConnectors` variable:
```sh
const BuiltinConnectors = new Map([
['fast-ledger', '@hyperledger/caliper-fast-ledger'],
// other connectors...
]);
```
7. It is highly recommended to provide [integration tests](https://github.com/hyperledger/caliper/tree/v0.6.0/packages/caliper-tests-integration) for your connector.
7. It is highly recommended to provide [integration tests](https://github.com/hyperledger-caliper/caliper/tree/v0.6.0/packages/caliper-tests-integration) for your connector.
8. Make sure that every code-related artifact (mostly `.js`, `.yaml` and `.md` files) contains the appropriate license header!
9. And you’re done! Now users can refer to the connector as `fast-ledger` in their network configuration files. The connector package will be published automatically upon every merged PR.

Expand Down
Loading
Loading