Skip to content

Commit 2c9f9a1

Browse files
committed
Update readme
1 parent 84c70d3 commit 2c9f9a1

1 file changed

Lines changed: 29 additions & 23 deletions

File tree

README.md

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
> _"Setting up MPC wallets has always been painful, complex, and confusing. With MPCIUM, you can launch a secure MPC node cluster and generate wallets in minutes."_
66
77
<p><img title="fystack logo" src="https://avatars.githubusercontent.com/u/149689344?s=400&u=13bed818667eefccd78ca4b4207d088eeb4f6110&v=4" width="320" height="320"></p>
8-
<p><a href="https://t.me/+IsRhPyWuOFxmNmM9">Join our Telegram community to discuss MPCIUM and Web3 cyber security!</a></p>
8+
<p><a href="https://t.me/+9AtC0z8sS79iZjFl">Join our Telegram community to discuss MPCIUM and Web3 cyber security!</a></p>
99

1010
[![Go Version](https://img.shields.io/badge/Go-v1.23+-00ADD8?logo=go&style=for-the-badge)](https://go.dev/)
1111
[![License](https://img.shields.io/github/license/fystack/mpcium?style=for-the-badge)](./LICENSE)
@@ -287,7 +287,7 @@ configs := []client.KMSSignerOptions{
287287
},
288288
// Full ARN
289289
{
290-
Region: "ap-southeast-1",
290+
Region: "ap-southeast-1",
291291
KeyID: "arn:aws:kms:ap-southeast-1:123456789012:key/12345678-1234-1234-1234-123456789012",
292292
},
293293
// Key alias
@@ -307,13 +307,14 @@ For local development and testing with AWS KMS functionality, you can use LocalS
307307
### Setup LocalStack
308308

309309
1. **Install and start LocalStack:**
310+
310311
```bash
311312
# Using Docker
312313
docker run -d \
313314
-p 4566:4566 \
314315
-p 4510-4559:4510-4559 \
315316
localstack/localstack
316-
317+
317318
# Or using LocalStack CLI
318319
pip install localstack
319320
localstack start
@@ -329,6 +330,7 @@ For local development and testing with AWS KMS functionality, you can use LocalS
329330
### Create P256 Key in LocalStack
330331

331332
1. **Create a P256 keypair in AWS KMS:**
333+
332334
```bash
333335
aws kms create-key \
334336
--endpoint-url=http://localhost:4566 \
@@ -338,33 +340,33 @@ For local development and testing with AWS KMS functionality, you can use LocalS
338340
```
339341

340342
Expected response:
343+
341344
```json
342345
{
343-
"KeyMetadata": {
344-
"AWSAccountId": "000000000000",
345-
"KeyId": "330a9df7-4fd9-4e86-bfc5-f360b4c4be39",
346-
"Arn": "arn:aws:kms:us-east-1:000000000000:key/330a9df7-4fd9-4e86-bfc5-f360b4c4be39",
347-
"CreationDate": "2025-08-28T16:42:18.487655+07:00",
348-
"Enabled": true,
349-
"Description": "Test P-256 keypair for Mpcium",
350-
"KeyUsage": "SIGN_VERIFY",
351-
"KeyState": "Enabled",
352-
"Origin": "AWS_KMS",
353-
"KeyManager": "CUSTOMER",
354-
"CustomerMasterKeySpec": "ECC_NIST_P256",
355-
"KeySpec": "ECC_NIST_P256",
356-
"SigningAlgorithms": [
357-
"ECDSA_SHA_256"
358-
],
359-
"MultiRegion": false
360-
}
346+
"KeyMetadata": {
347+
"AWSAccountId": "000000000000",
348+
"KeyId": "330a9df7-4fd9-4e86-bfc5-f360b4c4be39",
349+
"Arn": "arn:aws:kms:us-east-1:000000000000:key/330a9df7-4fd9-4e86-bfc5-f360b4c4be39",
350+
"CreationDate": "2025-08-28T16:42:18.487655+07:00",
351+
"Enabled": true,
352+
"Description": "Test P-256 keypair for Mpcium",
353+
"KeyUsage": "SIGN_VERIFY",
354+
"KeyState": "Enabled",
355+
"Origin": "AWS_KMS",
356+
"KeyManager": "CUSTOMER",
357+
"CustomerMasterKeySpec": "ECC_NIST_P256",
358+
"KeySpec": "ECC_NIST_P256",
359+
"SigningAlgorithms": ["ECDSA_SHA_256"],
360+
"MultiRegion": false
361+
}
361362
}
362363
```
363364

364365
2. **Get the public key (save the KeyId from step 1):**
366+
365367
```bash
366368
export KMS_KEY_ID="330a9df7-4fd9-4e86-bfc5-f360b4c4be39" # Replace with your KeyId
367-
369+
368370
aws kms get-public-key \
369371
--endpoint-url=http://localhost:4566 \
370372
--key-id $KMS_KEY_ID \
@@ -373,6 +375,7 @@ For local development and testing with AWS KMS functionality, you can use LocalS
373375
```
374376

375377
Expected response (hex-encoded public key):
378+
376379
```
377380
3059301306072a8648ce3d020106082a8648ce3d030107034200042b7539fc51123c3ba53c71e244be71d2d3138cbed4909fa259b924b56c92148cadd410cf98b789269d7f672c3ba978e99fc1f01c87daee97292d3666357738fd
378381
```
@@ -382,7 +385,7 @@ For local development and testing with AWS KMS functionality, you can use LocalS
382385
Update your `config.yaml` file with the KMS public key and algorithm:
383386

384387
```yaml
385-
# MPC Configuration
388+
# MPC Configuration
386389
mpc_threshold: 2
387390
event_initiator_pubkey: "3059301306072a8648ce3d020106082a8648ce3d030107034200042b7539fc51123c3ba53c71e244be71d2d3138cbed4909fa259b924b56c92148cadd410cf98b789269d7f672c3ba978e99fc1f01c87daee97292d3666357738fd"
388391
event_initiator_algorithm: "p256"
@@ -404,6 +407,7 @@ go run examples/generate/kms/main.go -n 1
404407
```
405408

406409
The example will:
410+
407411
1. Connect to LocalStack KMS endpoint
408412
2. Load the P256 public key from KMS
409413
3. Use KMS for signing wallet creation events
@@ -469,6 +473,7 @@ make test
469473
Test MPC performance with the integrated benchmark tool:
470474
471475
### Keygen Benchmark
476+
472477
```bash
473478
# Test wallet creation
474479
mpcium-cli benchmark keygen 10
@@ -478,6 +483,7 @@ mpcium-cli benchmark --config config.yaml --output results.txt keygen 50
478483
```
479484

480485
### Signing Benchmark
486+
481487
```bash
482488
# Test ECDSA signing
483489
mpcium-cli benchmark sign-ecdsa 100 wallet-id

0 commit comments

Comments
 (0)