多签名 (Multisignature)
Namada上的多签名账户(Multisignature accounts on Namada)
多签名账户(多签)是Namada上允许多个签名者的账户。拥有多签账户有许多好处,包括但不限于:
增加安全性
共享钱包的能力
更好的恢复选项
因此,默认情况下,Namada上的所有账户都是多签名账户。
初始化多签名账户(Initialising a multisignature account)
在创建账户之前,用户必须生成至少一个将用于签署交易的加密key
。
以下方法将生成此类密钥:
也可以生成第二个密钥(对于多签名很有用):
还可以生成一个隐式地址:
通过以下方法在Namada上初始化账户:
单签名账户(单个签名者)
多签名账户(至少2个签名者)
提交多签名交易(Submitting a multisignature transaction)
要提交多签名交易,首先必须构建离线交易。
构建离线交易
对于v0.23.0,离线交易构建存在某些限制。请注意可能出现的任何错误。
--dump-tx参数允许用户执行此操作。需要指定一个文件夹,以便在其中转储交易。
--dump-tx
参数允许用户执行此操作。需要指定转储交易的文件夹。
可以通过以下方法完成此操作:
这意味着交易已被构建,并准备好进行签名。
在指定的文件夹内,将创建一个.tx
文件。此文件包含交易字节的十六进制表示。可以使用此文件对交易进行签名。
签署交易
下一步是签署交易。可以通过以下方法使用my-key1
签署交易:
请注意,在此阶段可以有任意数量的--signing-keys
签署交易。这将产生多个签名,可用于提交交易。
这意味着签名已保存到此文件中(位于当前目录中)。
让我们将其保存为别名:
确保使用至少k-of-n个密钥签署交易,其中k是提交交易所需的最少签名数量,n是密钥的总数。在此示例中,k=2且n=2。
然后假设这个签名产生了另一个签名,我们将其保存到别名SIGNATURE_TWO
。
提交交易
最后一步是提交交易。可以通过以下方法完成此操作:
请注意,--signatures
参数中没有使用逗号。这是因为该参数是一个文件列表,而不是一个签名列表。还请注意tx_dumps
文件夹。这是在前一步中通过--output-folder-path
指定的,交易被转储到该文件夹。
更改多签名阈值(Changing the multisig threshold)
可以更改账户的多签名阈值。可以通过以下方法完成此操作:
可以通过运行以下命令来检查阈值是否已正确更新:
这将产生阈值1,连同两个公钥。
更改多签名账户的公钥(Changing the public keys of a multisig account)
可以更改多签名账户的公钥。通过以下方法完成此操作:
这将把多签名账户的公钥从my-key1
和my-key2
更改为my-key3
、my-key4
和my-key5
(假设它们存在于钱包中)。
提供给--public-keys
参数的公钥将成为多签名的新签名者。列表必须是由逗号分隔的公钥列表,没有空格。列表中必须至少有1个公钥,列表的长度必须至少为多签名账户的阈值。
视频教程(A video tutorial)
跳过所有无聊的阅读并观看视频教程:
Last updated