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

change references to Besu prior to 25.1.0 #203

Merged
merged 4 commits into from
Nov 24, 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
7 changes: 5 additions & 2 deletions docs/Concepts/Multitenancy.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ sidebar_position: 4

# Multi-tenancy

In a typical [GoQuorum](https://consensys.net/docs/goquorum/en/stable/) or [Hyperledger Besu privacy-enabled](https://besu.hyperledger.org/en/stable/Concepts/Privacy/Privacy-Overview/) network, each participant (tenant) uses their own GoQuorum or Besu node and Tessera node. Tessera can be configured to manage multiple key pairs owned by one tenant. This model is costly to run and scale as more tenants join the network.
In a typical [GoQuorum](https://consensys.net/docs/goquorum/en/stable/) network or
[privacy-enabled Hyperledger Besu](https://besu.hyperledger.org/en/stable/Concepts/Privacy/Privacy-Overview/) network (versions earlier than 25.1.0),
each participant (tenant) uses their own GoQuorum or Besu node and Tessera node.
You can configure Tessera to manage multiple key pairs owned by one tenant. This model is costly to run and scale as more tenants join the network.

Multi-tenancy allows multiple tenants to use the same GoQuorum or Besu node, with each tenant having its own private state. Each tenant can perform all operations (create, read, and write) on any contract in its private state. Multi-tenancy provides a user experience similar to a user running their own managed node.

Expand All @@ -33,6 +36,6 @@ To use GoQuorum multi-tenancy via MPS:

## Use Besu multi-tenancy

To use Besu multi-tenancy, you must [create a privacy-enabled network](https://besu.hyperledger.org/en/stable/Tutorials/Privacy/Configuring-Privacy/).
To use Besu multi-tenancy, you must use a Besu version earlier than 25.1.0, and [create a privacy-enabled network](https://besu.hyperledger.org/en/stable/Tutorials/Privacy/Configuring-Privacy/).

Configure multi-tenant Besu and Tessera nodes according to the [Besu multi-tenancy configuration tutorial](https://besu.hyperledger.org/en/stable/Tutorials/Privacy/Configuring-Multi-Tenancy/).
6 changes: 4 additions & 2 deletions docs/Concepts/Privacy-Groups.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ sidebar_position: 3

# Privacy groups

Tessera supports operations related to [Hyperledger Besu privacy groups](https://besu.hyperledger.org/en/stable/Concepts/Privacy/Privacy-Groups/) and [resident groups for GoQuorum multiple private states (MPS)](https://consensys.net/docs/goquorum/en/latest/concepts/multi-tenancy/#tessera-resident-groups), such as managing privacy group data and handling transactions intended for a privacy group.
Tessera supports operations related to [Hyperledger Besu privacy groups (versions earlier than 25.1.0)](https://besu.hyperledger.org/en/stable/Concepts/Privacy/Privacy-Groups/)
and [resident groups for GoQuorum multiple private states (MPS)](https://consensys.net/docs/goquorum/en/latest/concepts/multi-tenancy/#tessera-resident-groups), such as managing privacy group data and handling transactions intended for a privacy group.

Behavior may differ depending on which [`mode`](../HowTo/Configure/Orion-Mode.md) Tessera is running on.

Expand Down Expand Up @@ -45,7 +46,8 @@ The following is an example of a privacy group and its related data:

Tessera automatically creates a legacy privacy group when a private transaction is sent to a list of recipient public keys using `privateFor`.

When returning private transaction data to a Besu client (as part of a `/receive` response), the legacy `privacyGroupId` is also returned.
When returning private transaction data to a Besu client (as part of a `/receive` response), the legacy `privacyGroupId`
is also returned.

The legacy `privacyGroupId` is generated by hashing the list of recipient keys. For a given set of recipients, there can be only one legacy privacy group.

Expand Down
2 changes: 1 addition & 1 deletion docs/Concepts/Privacy-Manager/Privacy-manager.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebar_position: 1

# Privacy manager

Tessera is the privacy manager for the [GoQuorum](https://docs.goquorum.consensys.net) and [Hyperledger Besu](https://besu.hyperledger.org/en/stable/) Ethereum clients.
Tessera is the privacy manager for [GoQuorum](https://docs.goquorum.consensys.net) and [Hyperledger Besu versions earlier than 25.1.0](https://besu.hyperledger.org/en/stable/).

A privacy manager consists of two components, each with their own responsibilities:

Expand Down
13 changes: 7 additions & 6 deletions docs/HowTo/Configure/Orion-Mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebar_position: 11

# Configure Hyperledger Besu support

Tessera provides support for [Hyperledger Besu](https://besu.hyperledger.org/en/stable/HowTo/Use-Privacy/Privacy/).
Tessera provides support for [Hyperledger Besu versions earlier than 25.1.0](https://besu.hyperledger.org/en/stable/HowTo/Use-Privacy/Privacy/).

To enable Besu support in Tessera, set [`mode`](../../Reference/SampleConfiguration.md#mode) in the Tessera [configuration file](Tessera.md) to `orion`.

Expand All @@ -22,8 +22,9 @@ tessera --configfile config.json -o mode="orion"

If you enable `orion` mode, Tessera:

- Attempts to retrieve the [privacy group](../../Concepts/Privacy-Groups.md) and its associated members for transactions sent with `privacyGroupId`.
- Creates a legacy privacy group for transactions sent with `privateFor` containing a list of recipient keys.
- Uses SHA-512/256 to generate 32-byte hashes of encrypted payloads to be returned to Besu.
- Adds support for `/receive` `POST` requests using the `application/json` media type.
- Includes the `senderKey` (for Besu sender authentication) and the transaction's associated `privacyGroupId` in responses to `/receive` requests.
* Attempts to retrieve the [privacy group](../../Concepts/Privacy-Groups.md) and its associated members for transactions
sent with `privacyGroupId`.
* Creates a legacy privacy group for transactions sent with `privateFor` containing a list of recipient keys.
* Uses SHA-512/256 to generate 32-byte hashes of encrypted payloads to be returned to Besu.
* Adds support for `/receive` `POST` requests using the `application/json` media type.
* Includes the `senderKey` (for Besu sender authentication) and the transaction's associated `privacyGroupId` in responses to `/receive` requests.
2 changes: 1 addition & 1 deletion docs/HowTo/Configure/Tessera.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ You can also configure:
- An [external database](Database.md).
- Support for [multiple private states](Multiple-private-state.md) and [resident groups](Multiple-private-state.md#resident-groups).
- [Cryptographic elliptic curves](Cryptographic-elliptic-curves.md).
- Support for [Hyperledger Besu](Orion-Mode.md).
- Support for [Hyperledger Besu versions earlier than 25.1.0](Orion-Mode.md).
- [High availability](High-availability.md).

You can [override configuration options](Override-config.md) using the command line.
Expand Down
11 changes: 7 additions & 4 deletions docs/HowTo/Get-started/Use-GoQuorum-with-Tessera.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,17 @@ sidebar_position: 3

# Use GoQuorum or Besu with Tessera

You can use Tessera as the private transaction manager for [GoQuorum](https://consensys.net/docs/goquorum/en/stable/) or [Hyperledger Besu](https://besu.hyperledger.org/en/stable/). Get started with the following tutorials:
You can use Tessera as the private transaction manager for [GoQuorum](https://consensys.net/docs/goquorum/en/stable/) or [Hyperledger Besu versions earlier than 25.1.0](https://besu.hyperledger.org).
Get started with the following tutorials:

- [Create a privacy-enabled GoQuorum network](https://consensys.net/docs/goquorum/en/stable/tutorials/create-privacy-enabled-network/).
- [Send a private transaction on GoQuorum](https://consensys.net/docs/goquorum/en/stable/tutorials/send-private-transaction/).
- [Create a privacy-enabled Besu network](https://besu.hyperledger.org/en/stable/Tutorials/Privacy/Configuring-Privacy/).
- [Configure a multi-tenant Besu network](https://besu.hyperledger.org/en/stable/Tutorials/Privacy/Configuring-Multi-Tenancy/).
- [Use the Besu multi-node example in the web3js-quorum library](https://besu.hyperledger.org/en/stable/Tutorials/Privacy/web3js-quorum-Multinode-example/).
- [Create a privacy-enabled Besu network](https://besu.hyperledger.org/private-networks/concepts/privacy).
- [Configure a multi-tenant Besu network](https://besu.hyperledger.org/private-networks/concepts/privacy/multi-tenancy).
- [Use the Besu multi-node example in the web3js-quorum library](https://besu.hyperledger.org/private-networks/tutorials/privacy/web3js-quorum).

:::note

All Tessera nodes included in a private transaction must be running when the private transaction is sent. Otherwise, the transaction doesn't propagate and an error is returned.

:::
3 changes: 2 additions & 1 deletion docs/HowTo/Migrate/MigrateFromOrion.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ sidebar_position: 1

# Migrating from Orion to Tessera

A utility is included in Tessera which enables migration of an Orion configuration file and database to a Tessera configuration file and database for Hyperledger Besu users.
Tessera includes a utility that enables migration of an Orion configuration file and database to a Tessera configuration file and database,
for Hyperledger Besu (versions earlier than 25.1.0).

A full migration workflow would be as follows:

Expand Down
2 changes: 1 addition & 1 deletion docs/Reference/SampleConfiguration.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ Configuration items can be [overridden from the command line].

### `mode`

Set the `mode` to `orion` to use Tessera as the privacy manager when using [Hyperledger Besu in non-GoQuorum mode](https://besu.hyperledger.org/en/stable/HowTo/Use-Privacy/Use-GoQuorum-compatible-privacy/). [Enabling this mode](../HowTo/Configure/Orion-Mode.md) changes Tessera's behavior. This property is optional.
Set the `mode` to `orion` to use Tessera as the privacy manager when using [Hyperledger Besu (versions earlier than 25.1.0) in non-GoQuorum mode](https://besu.hyperledger.org/en/stable/HowTo/Use-Privacy/Use-GoQuorum-compatible-privacy/). [Enabling this mode](../HowTo/Configure/Orion-Mode.md) changes Tessera's behavior. This property is optional.

### `useWhiteList`

Expand Down
4 changes: 3 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ slug: overview

## What is Tessera?

Tessera is an open-source private transaction manager developed under the Apache 2.0 license and written in Java. The primary application of Tessera is as the privacy manager for privacy-enabled Ethereum clients such as [GoQuorum](https://docs.goquorum.consensys.net) and [Hyperledger Besu](https://besu.hyperledger.org/en/stable/).
Tessera is an open-source private transaction manager developed under the Apache 2.0 license and written in Java.
The primary application of Tessera is as the privacy manager for privacy-enabled Ethereum clients such as
[GoQuorum](https://docs.goquorum.consensys.net) and [Hyperledger Besu versions earlier than 25.1.0](https://besu.hyperledger.org/en/stable/).

## What can you do with Tessera?

Expand Down
Loading