@@ -12,7 +12,7 @@ each credential has one or several public-private key pair(s).
12
12
.. note ::
13
13
14
14
A public-private key pair are related keys used for asymmetric cryptography.
15
- The private key is used to sign/authorize an action relatd to the account. NEVER share your private key with anyone.
15
+ The private key is used to sign/authorize an action related to the account. NEVER share your private key with anyone.
16
16
In contrast, the public key is shared with other entities to verify that a signature is generated
17
17
by the associated private key.
18
18
@@ -25,11 +25,11 @@ The ``concordium-client`` tool (version 6.3.0 or above) facilitates creating, si
25
25
transactions for multi-sig accounts.
26
26
This page will go through the main steps as follows:
27
27
28
- - Create a multi-sig account by adding keys with the `` concordium-client `` tool to an account.
28
+ - Create a multi-sig account by adding keys via an on-chain transaction to an account.
29
29
- Configure the ``concordium-client `` tool to use a multi-sig account.
30
30
- Create a multi-sig transaction with the ``concordium-client `` tool.
31
31
- Add an additional signature to a multi-sig transaction with the ``concordium-client `` tool.
32
- - Send a multi-sig transaction with the ``concordium-client `` tool on chain.
32
+ - Send a multi-sig transaction with the ``concordium-client `` tool on- chain.
33
33
34
34
Create a multi-sig account
35
35
==========================
@@ -40,13 +40,15 @@ A default account can be converted into a multi-sig account.
40
40
41
41
.. note ::
42
42
43
- The Desktop wallet is the only wallet currently that has its own independent flow of creating a multi-sig account via its front end and
44
- generating multi-sig transactions. The two guides :ref: `multi-sig accounts<overview-shared-accounts> ` and
45
- :ref: `multi-sig transactions<create-multisig> ` will cover the flows in the Desktop wallet.
46
- The partially-signed transaction file as generated by
47
- the Desktop wallet is currently NOT compatible with file generated by the ``concordium-client `` tool.
48
- You need to add additional signatures and send the transaction on-chain with the
49
- wallet/tool the file was initially generated with.
43
+ The desktop wallet is the only wallet currently that has its independent flow of creating a multi-sig
44
+ account via its front end and generating multi-sig transactions. The two guides
45
+ :ref: `multi-sig accounts<overview-shared-accounts> ` and :ref: `multi-sig transactions<create-multisig> ` will
46
+ explain the flows for the desktop wallet.
47
+ The multi-sig transaction file, as generated by the desktop wallet, is currently NOT compatible with
48
+ the file generated by the ``concordium-client `` tool. You need to add additional signatures and send
49
+ the transaction on-chain with the wallet/tool the file was initially generated with. The intention is to use
50
+ the file format of the ``concordium-client `` tool in all Concordium tooling related to multi-sig signing
51
+ in the future and to replace the desktop wallet's file format.
50
52
51
53
To add additional keys to an existing account on Concordium using the ``concordium-client `` tool, you can either:
52
54
@@ -111,7 +113,7 @@ To add additional keys to an existing account on Concordium using the ``concordi
111
113
{
112
114
"keys" : {
113
115
"0" : {
114
- "verifyKey" : " <Hex encoding without '0x' of the public key already on chain>"
116
+ "verifyKey" : " <Hex encoding without '0x' of the public key already on- chain>"
115
117
},
116
118
"1" : {
117
119
"verifyKey" : " <Hex encoding without '0x' of the public key from your newly generated key pair>"
@@ -133,7 +135,7 @@ To add additional keys to an existing account on Concordium using the ``concordi
133
135
134
136
- Step 1: Create an additional credential.
135
137
136
- We recommend using the flow in the Desktop wallet to :ref: `create a credential file<create-credentials-file> `.
138
+ We recommend using the flow in the desktop wallet to :ref: `create a credential file<create-credentials-file> `.
137
139
Alternatively, you can `clone the project <https://github.com/Concordium/concordium-base/blob/main/rust-bins/src/bin/user_cli.rs >`_
138
140
and run its command locally to generate a credential file.
139
141
@@ -161,7 +163,7 @@ Configure the tool to use a multi-sig account
161
163
To configure the ``concordium-client `` tool to use a multi-sig account, you can either:
162
164
163
165
- pass in the signing keys via a file every time you sign a transaction (Option 1).
164
- - configure the ``concordium-client `` tool once to include the additional keys in its local key directory (Option 2).
166
+ - configure the ``concordium-client `` tool once to include the additional keys in its local key directory (Option 2).
165
167
166
168
To view the key directory path that the ``concordium-client `` tool is using, run the following command:
167
169
@@ -170,7 +172,7 @@ To view the key directory path that the ``concordium-client`` tool is using, run
170
172
$concordium-client config show
171
173
172
174
The goal is to add additional keys for your account to the local key directory of the ``concordium-client ``
173
- tool in this section (Option 2). The first option is covered in the
175
+ tool in this section (Option 2). The guide for the first option is in the
174
176
:ref: `following section<sign-with-keyfile> `.
175
177
176
178
.. dropdown :: Import the keys by adapting the key export file format from the browser wallet
@@ -265,10 +267,10 @@ tool in this section (Option 2). The first option is covered in the
265
267
...
266
268
}
267
269
268
- .. note ::
270
+ .. note ::
269
271
270
- This command updates the keys in the key directory of your local ``concordium-client `` tool. No transaction
271
- is sent on-chain.
272
+ These commands update the keys in the key directory of your local ``concordium-client `` tool. No transaction
273
+ is sent on-chain.
272
274
273
275
274
276
Create a multi-sig transaction
@@ -280,7 +282,7 @@ Multi-sig transactions can be created for all active transaction types which are
280
282
``UpdateCredential ``, and ``UpdateCredentialsKeys ``.
281
283
282
284
To create a multi-sig transaction, execute a transaction-creating command and add an ``--out `` flag.
283
- This flag will cause ``concordium-client `` to output the partially-signed
285
+ This flag will cause ``concordium-client `` to output the multi-sig
284
286
transaction into the specified file instead of sending it on-chain.
285
287
286
288
If you omit the ``--signers `` flag, ``concordium-client `` will output
@@ -295,7 +297,7 @@ run the following command:
295
297
296
298
$concordium-client transaction send --receiver 4bbdAUCDK2D6cUvUeprGr4FaSaHXKuYmYVjyCa4bXSCu3NUXzA --amount 1 --out ./transaction.json --energy 5000 --sender 4jxvYasaPncfmCFCLZCvuL5cZuvR5HAQezCHZH7ZA7AGsRYpix --grpc-port 20000 --grpc-ip node.testnet.concordium.com
297
299
298
- The partially-signed transaction is output into the file ``transaction.json `` and has the following format:
300
+ The multi-sig transaction is outputted into the ``transaction.json `` file and has the following format:
299
301
300
302
.. code-block :: json
301
303
:force:
@@ -321,7 +323,7 @@ The partially-signed transaction is output into the file ``transaction.json`` an
321
323
.. _sign-with-keyfile :
322
324
323
325
If you want to sign the transaction with keys that are not in the local key directory, you need to provide
324
- the keys as a separte file with the ``--keys `` flag. Keys provided with a flag take precedence and no
326
+ the keys as a separate file with the ``--keys `` flag. Keys provided with a flag take precedence and no
325
327
lookup of local keys in the key directory is performed.
326
328
327
329
For example, to create a multi-sig transaction to send 1 CCD to an account on testnet using keys for signing
@@ -358,7 +360,7 @@ where ``keypair.json`` is a file of the following format:
358
360
}
359
361
360
362
361
- If you want to create a partially-signed transaction with no signatures at all, you can use an
363
+ If you want to create a multi-sig transaction with no signatures at all, you can use an
362
364
empty ``keypair.json `` file of the following format:
363
365
364
366
.. code-block :: json
@@ -374,7 +376,7 @@ empty ``keypair.json`` file of the following format:
374
376
Add an additional signature to a multi-sig transaction
375
377
======================================================
376
378
377
- For example, to sign the partially-signed testnet transaction in the file ``transaction.json `` (created in the
379
+ For example, to sign the multi-sig testnet transaction in the ``transaction.json `` file (created in the
378
380
previous section) on a potentially different device by a different entity, run the following command:
379
381
380
382
.. code-block :: console
@@ -386,19 +388,20 @@ previous section) on a potentially different device by a different entity, run t
386
388
All keys (as present in the local key directory) associated with the ``signer `` account
387
389
are used to sign the transaction since the ``--signers `` flag is omitted in the above command.
388
390
Check that the ``signer `` account in the ``transaction.json `` file, is the account you want
389
- to lookup its keys and sign with.
391
+ to look up its keys and sign with.
390
392
391
393
.. note ::
392
394
393
395
If you want to sign with specific keys from the local key directory,
394
396
you can specify some of them with the ``--signers `` flag (e.g. ``--signer "0:0,0:1" ``).
395
397
396
398
.. note ::
399
+
397
400
If you want to sign the transaction with keys that are not in the local key directory,
398
- you can checkout the ``--keys `` flag :ref: `here<sign-with-keyfile> `.
401
+ you can use the ``--keys `` flag as described :ref: `here<sign-with-keyfile> `.
399
402
400
- The additional signatures generated are added to the partially-signed transaction into the
401
- file ``transaction.json `` and the file will look similar to the following format:
403
+ The additional signatures generated are added to the multi-sig transaction into the
404
+ ``transaction.json `` file and the file will look similar to the following format:
402
405
403
406
.. code-block :: json
404
407
:force:
@@ -425,8 +428,8 @@ file ``transaction.json`` and the file will look similar to the following format
425
428
Send a multi-sig transaction on-chain
426
429
=====================================
427
430
428
- For example, to send the partially-signed testnet transaction from the file ``transaction.json `` (created in the
429
- previous section) on chain, run the following command:
431
+ For example, to send the multi-sig testnet transaction from the ``transaction.json `` file (created in the
432
+ previous section) on- chain, run the following command:
430
433
431
434
.. code-block :: console
432
435
0 commit comments