Skip to content

Commit de469a0

Browse files
authored
fix(docs): docs remote signers clarification (#19106)
feedback from Alex
2 parents dd027ef + be6ad3c commit de469a0

File tree

6 files changed

+69
-33
lines changed

6 files changed

+69
-33
lines changed

docs/docs-network/operation/keystore/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ This guide walks you through advanced keystore configurations in three parts:
5252
Learn about different ways to store and access private keys:
5353

5454
- Inline private keys (for testing)
55-
- Remote signers with Web3Signer (recommended for production)
55+
- Remote signers with Web3Signer (recommended for production Ethereum keys)
5656
- JSON V3 encrypted keystores
5757
- BIP44 mnemonic derivation
5858

docs/docs-network/operation/keystore/storage_methods.md

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,20 @@ Inline private keys are convenient for testing but should be avoided in producti
3434

3535
## Remote signers (Web3Signer)
3636

37-
Remote signers keep private keys in a separate, secure signing service. This is the recommended approach for production environments.
37+
Remote signers keep private keys in a separate, secure signing service. This is the recommended approach for production environments for Ethereum keys.
3838

39-
The keystore supports [Web3Signer](https://docs.web3signer.consensys.io/) endpoints configured at three levels:
39+
The keystore supports [Web3Signer](https://docs.web3signer.consensys.io/) endpoints for Ethereum keys. The keystore automatically detects whether a value is a private key or an address based on string length:
4040

41-
**Global level** (applies to all accounts):
41+
- **66 characters** (`0x` + 64 hex characters): Interpreted as a private key (stored inline)
42+
- **42 characters** (`0x` + 40 hex characters): Interpreted as an address and uses the nearest `remoteSignerUrl`
43+
44+
:::warning BLS Keys Do Not Support Remote Signers
45+
BLS keys must always be stored as private keys directly in the keystore. The keystore does not check `remoteSignerUrl` for BLS keys. Web3Signer's BLS support is designed for Ethereum consensus layer operations and is not compatible with Aztec's BLS key requirements.
46+
:::
47+
48+
Remote signers can be configured at three levels:
49+
50+
**Global level** (applies to all ETH keys):
4251

4352
```json
4453
{
@@ -48,17 +57,17 @@ The keystore supports [Web3Signer](https://docs.web3signer.consensys.io/) endpoi
4857
{
4958
"attester": {
5059
"eth": "0x1234567890123456789012345678901234567890",
51-
"bls": "0x2345678901234567890123456789012345678901"
60+
"bls": "0x20f2f5989b66462b39229900948c7846403768fec5b76d1c2937d64e04aac4b9"
5261
},
5362
"feeRecipient": "0x1234567890123456789012345678901234567890123456789012345678901234"
5463
}
5564
]
5665
}
5766
```
5867

59-
In this example, both the Ethereum and BLS attester addresses are managed by the remote signer.
68+
In this example, the Ethereum attester address (42 characters) is managed by the remote signer, while the BLS key (66 characters) is a private key stored directly in the keystore.
6069

61-
**Validator (sequencer) block level** (applies to all accounts in a sequencer configuration):
70+
**Validator (sequencer) block level** (applies to all ETH keys in a sequencer configuration):
6271

6372
```json
6473
{
@@ -67,7 +76,7 @@ In this example, both the Ethereum and BLS attester addresses are managed by the
6776
{
6877
"attester": {
6978
"eth": "0x1234567890123456789012345678901234567890",
70-
"bls": "0x2345678901234567890123456789012345678901"
79+
"bls": "0x20f2f5989b66462b39229900948c7846403768fec5b76d1c2937d64e04aac4b9"
7180
},
7281
"feeRecipient": "0x1234567890123456789012345678901234567890123456789012345678901234",
7382
"remoteSigner": "https://signer.example.com:8080"
@@ -76,16 +85,19 @@ In this example, both the Ethereum and BLS attester addresses are managed by the
7685
}
7786
```
7887

79-
**Account level** (applies to a specific key):
88+
**Account level** (applies to a specific ETH key):
8089

8190
```json
8291
{
8392
"schemaVersion": 1,
8493
"validators": [
8594
{
8695
"attester": {
87-
"address": "0x1234567890123456789012345678901234567890",
88-
"remoteSignerUrl": "https://signer.example.com:8080"
96+
"eth": {
97+
"address": "0x1234567890123456789012345678901234567890",
98+
"remoteSignerUrl": "https://signer.example.com:8080"
99+
},
100+
"bls": "0x20f2f5989b66462b39229900948c7846403768fec5b76d1c2937d64e04aac4b9"
89101
},
90102
"feeRecipient": "0x1234567890123456789012345678901234567890123456789012345678901234"
91103
}

docs/network_versioned_docs/version-v2.1.4/operation/keystore/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ This guide walks you through advanced keystore configurations in three parts:
5353
Learn about different ways to store and access private keys:
5454

5555
- Inline private keys (for testing)
56-
- Remote signers with Web3Signer (recommended for production)
56+
- Remote signers with Web3Signer (recommended for production Ethereum keys)
5757
- JSON V3 encrypted keystores
5858
- BIP44 mnemonic derivation
5959

docs/network_versioned_docs/version-v2.1.4/operation/keystore/storage_methods.md

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,20 @@ Inline private keys are convenient for testing but should be avoided in producti
3434

3535
## Remote signers (Web3Signer)
3636

37-
Remote signers keep private keys in a separate, secure signing service. This is the recommended approach for production environments.
37+
Remote signers keep private keys in a separate, secure signing service. This is the recommended approach for production environments for Ethereum keys.
3838

39-
The keystore supports [Web3Signer](https://docs.web3signer.consensys.io/) endpoints configured at three levels:
39+
The keystore supports [Web3Signer](https://docs.web3signer.consensys.io/) endpoints for Ethereum keys. The keystore automatically detects whether a value is a private key or an address based on string length:
4040

41-
**Global level** (applies to all accounts):
41+
- **66 characters** (`0x` + 64 hex characters): Interpreted as a private key (stored inline)
42+
- **42 characters** (`0x` + 40 hex characters): Interpreted as an address and uses the nearest `remoteSignerUrl`
43+
44+
:::warning BLS Keys Do Not Support Remote Signers
45+
BLS keys must always be stored as private keys directly in the keystore. The keystore does not check `remoteSignerUrl` for BLS keys. Web3Signer's BLS support is designed for Ethereum consensus layer operations and is not compatible with Aztec's BLS key requirements.
46+
:::
47+
48+
Remote signers can be configured at three levels:
49+
50+
**Global level** (applies to all ETH keys):
4251

4352
```json
4453
{
@@ -48,17 +57,17 @@ The keystore supports [Web3Signer](https://docs.web3signer.consensys.io/) endpoi
4857
{
4958
"attester": {
5059
"eth": "0x1234567890123456789012345678901234567890",
51-
"bls": "0x2345678901234567890123456789012345678901"
60+
"bls": "0x20f2f5989b66462b39229900948c7846403768fec5b76d1c2937d64e04aac4b9"
5261
},
5362
"feeRecipient": "0x1234567890123456789012345678901234567890123456789012345678901234"
5463
}
5564
]
5665
}
5766
```
5867

59-
In this example, both the Ethereum and BLS attester addresses are managed by the remote signer.
68+
In this example, the Ethereum attester address (42 characters) is managed by the remote signer, while the BLS key (66 characters) is a private key stored directly in the keystore.
6069

61-
**Validator (sequencer) block level** (applies to all accounts in a sequencer configuration):
70+
**Validator (sequencer) block level** (applies to all ETH keys in a sequencer configuration):
6271

6372
```json
6473
{
@@ -67,7 +76,7 @@ In this example, both the Ethereum and BLS attester addresses are managed by the
6776
{
6877
"attester": {
6978
"eth": "0x1234567890123456789012345678901234567890",
70-
"bls": "0x2345678901234567890123456789012345678901"
79+
"bls": "0x20f2f5989b66462b39229900948c7846403768fec5b76d1c2937d64e04aac4b9"
7180
},
7281
"feeRecipient": "0x1234567890123456789012345678901234567890123456789012345678901234",
7382
"remoteSigner": "https://signer.example.com:8080"
@@ -76,16 +85,19 @@ In this example, both the Ethereum and BLS attester addresses are managed by the
7685
}
7786
```
7887

79-
**Account level** (applies to a specific key):
88+
**Account level** (applies to a specific ETH key):
8089

8190
```json
8291
{
8392
"schemaVersion": 1,
8493
"validators": [
8594
{
8695
"attester": {
87-
"address": "0x1234567890123456789012345678901234567890",
88-
"remoteSignerUrl": "https://signer.example.com:8080"
96+
"eth": {
97+
"address": "0x1234567890123456789012345678901234567890",
98+
"remoteSignerUrl": "https://signer.example.com:8080"
99+
},
100+
"bls": "0x20f2f5989b66462b39229900948c7846403768fec5b76d1c2937d64e04aac4b9"
89101
},
90102
"feeRecipient": "0x1234567890123456789012345678901234567890123456789012345678901234"
91103
}

docs/network_versioned_docs/version-v2.1.9-ignition/operation/keystore/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ This guide walks you through advanced keystore configurations in three parts:
5252
Learn about different ways to store and access private keys:
5353

5454
- Inline private keys (for testing)
55-
- Remote signers with Web3Signer (recommended for production)
55+
- Remote signers with Web3Signer (recommended for production Ethereum keys)
5656
- JSON V3 encrypted keystores
5757
- BIP44 mnemonic derivation
5858

docs/network_versioned_docs/version-v2.1.9-ignition/operation/keystore/storage_methods.md

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,20 @@ Inline private keys are convenient for testing but should be avoided in producti
3434

3535
## Remote signers (Web3Signer)
3636

37-
Remote signers keep private keys in a separate, secure signing service. This is the recommended approach for production environments.
37+
Remote signers keep private keys in a separate, secure signing service. This is the recommended approach for production environments for Ethereum keys.
3838

39-
The keystore supports [Web3Signer](https://docs.web3signer.consensys.io/) endpoints configured at three levels:
39+
The keystore supports [Web3Signer](https://docs.web3signer.consensys.io/) endpoints for Ethereum keys. The keystore automatically detects whether a value is a private key or an address based on string length:
4040

41-
**Global level** (applies to all accounts):
41+
- **66 characters** (`0x` + 64 hex characters): Interpreted as a private key (stored inline)
42+
- **42 characters** (`0x` + 40 hex characters): Interpreted as an address and uses the nearest `remoteSignerUrl`
43+
44+
:::warning BLS Keys Do Not Support Remote Signers
45+
BLS keys must always be stored as private keys directly in the keystore. The keystore does not check `remoteSignerUrl` for BLS keys. Web3Signer's BLS support is designed for Ethereum consensus layer operations and is not compatible with Aztec's BLS key requirements.
46+
:::
47+
48+
Remote signers can be configured at three levels:
49+
50+
**Global level** (applies to all ETH keys):
4251

4352
```json
4453
{
@@ -48,17 +57,17 @@ The keystore supports [Web3Signer](https://docs.web3signer.consensys.io/) endpoi
4857
{
4958
"attester": {
5059
"eth": "0x1234567890123456789012345678901234567890",
51-
"bls": "0x2345678901234567890123456789012345678901"
60+
"bls": "0x20f2f5989b66462b39229900948c7846403768fec5b76d1c2937d64e04aac4b9"
5261
},
5362
"feeRecipient": "0x1234567890123456789012345678901234567890123456789012345678901234"
5463
}
5564
]
5665
}
5766
```
5867

59-
In this example, both the Ethereum and BLS attester addresses are managed by the remote signer.
68+
In this example, the Ethereum attester address (42 characters) is managed by the remote signer, while the BLS key (66 characters) is a private key stored directly in the keystore.
6069

61-
**Validator (sequencer) block level** (applies to all accounts in a sequencer configuration):
70+
**Validator (sequencer) block level** (applies to all ETH keys in a sequencer configuration):
6271

6372
```json
6473
{
@@ -67,7 +76,7 @@ In this example, both the Ethereum and BLS attester addresses are managed by the
6776
{
6877
"attester": {
6978
"eth": "0x1234567890123456789012345678901234567890",
70-
"bls": "0x2345678901234567890123456789012345678901"
79+
"bls": "0x20f2f5989b66462b39229900948c7846403768fec5b76d1c2937d64e04aac4b9"
7180
},
7281
"feeRecipient": "0x1234567890123456789012345678901234567890123456789012345678901234",
7382
"remoteSigner": "https://signer.example.com:8080"
@@ -76,16 +85,19 @@ In this example, both the Ethereum and BLS attester addresses are managed by the
7685
}
7786
```
7887

79-
**Account level** (applies to a specific key):
88+
**Account level** (applies to a specific ETH key):
8089

8190
```json
8291
{
8392
"schemaVersion": 1,
8493
"validators": [
8594
{
8695
"attester": {
87-
"address": "0x1234567890123456789012345678901234567890",
88-
"remoteSignerUrl": "https://signer.example.com:8080"
96+
"eth": {
97+
"address": "0x1234567890123456789012345678901234567890",
98+
"remoteSignerUrl": "https://signer.example.com:8080"
99+
},
100+
"bls": "0x20f2f5989b66462b39229900948c7846403768fec5b76d1c2937d64e04aac4b9"
89101
},
90102
"feeRecipient": "0x1234567890123456789012345678901234567890123456789012345678901234"
91103
}

0 commit comments

Comments
 (0)