3个版本
0.1.3 | 2024年2月27日 |
---|---|
0.1.2 | 2024年2月26日 |
0.1.0 | 2024年1月27日 |
#1767 in 魔法豆
69 每月下载量
74KB
1.5K SLoC
Squads V4 CLI
以下是通过CLI与Squads V4程序交互的可用命令概述。
概述
1. 安装
您可以使用Cargo安装CLI。为此,需要安装Rust。您可以在这里找到安装步骤。
现在,安装Squads CLI。
cargo install squads-multisig-cli
2. 支持的钱包
Squads CLI与Solana CLI具有完全相同的钱包支持,这意味着它支持文件系统钱包以及Ledger硬件钱包。
文件系统钱包
您可以通过在命令中使用它作为“keypair”参数来轻松使用您的本地文件系统钱包。
squads-multisig-cli example-command --keypair /path/to/keypair.json
这指定了您要用于在CLI交易中签名的密钥对路径。
Ledger支持
要使用Ledger与Squads CLI,只需在“keypair”参数中指定Ledger设备URL。
squads-multisig-cli example-command --keypair usb://ledger
这将使用Ledger的默认推导路径。
squads-multisig-cli example-command --keypair usb://ledger/BsNsvfXqQTtJnagwFWdBS7FBXgnsK8VZ5CmuznN85swK?key=0/0
这指定了一个自定义推导路径。您可以在这里了解更多信息。
3. 命令
配置交易创建
描述
为特定操作创建新的配置提案交易。
语法
config_transaction_create --rpc_url <RPC_URL> --program_id <PROGRAM_ID> --keypair <KEYPAIR_PATH> --multisig_pubkey <MULTISIG_PUBLIC_KEY> --action <ACTION> [--memo <MEMO>]
参数
--rpc_url <RPC_URL>
: (可选) Solana RPC端点的URL。如果未指定,则默认为主网。--program_id <PROGRAM_ID>
: (可选) 多重签名程序的ID。未指定时默认为标准ID。--keypair <KEYPAIR_PATH>
: 你的密钥对文件的路径。--multisig_pubkey <MULTISIG_PUBLIC_KEY>
: 多重签名账户的公钥。--action <ACTION>
: 要执行的操作。格式取决于操作类型。--memo <MEMO>
: (可选) 交易备忘。
示例
-
添加新成员
config_transaction_create --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --action "AddMember <NEW_MEMBER_PUBLIC_KEY> <PERMISSIONS>"
将新成员添加到具有指定权限的多重签名配置中。权限:1:仅启动 7:所有权限(启动、批准、执行)
-
移除成员
config_transaction_create --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --action "RemoveMember <MEMBER_PUBLIC_KEY>"
从多重签名配置中移除现有成员。
-
更改阈值
config_transaction_create --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --action "ChangeThreshold <NEW_THRESHOLD>"
更改执行多重签名交易所需的签名阈值数量。
-
设置时间锁
config_transaction_create --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --action "SetTimeLock <TIME_LOCK_VALUE>"
为多重签名账户设置时间锁。
-
添加支出限制
config_transaction_create --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --action "AddSpendingLimit <CREATE_KEY> <VAULT_INDEX> <MINT> <AMOUNT> <PERIOD> <MEMBERS> <DESTINATIONS>"
向多重签名账户添加支出限制。
-
移除支出限制
config_transaction_create --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --action "RemoveSpendingLimit <SPENDING_LIMIT_PUBKEY>"
从多重签名账户中移除现有的支出限制。
-
设置租约收集器
config_transaction_create --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --action "SetRentCollector <NEW_RENT_COLLECTOR_PUBKEY>"
为多重签名账户设置新的租约收集器。
配置交易执行
描述
执行多重签名配置更改的建议交易。此命令用于在达到阈值后执行配置交易。
语法
config_transaction_execute --rpc_url <RPC_URL> --program_id <PROGRAM_ID> --keypair <KEYPAIR_PATH> --multisig_pubkey <MULTISIG_PUBLIC_KEY> --transaction_index <TRANSACTION_INDEX>
参数
--rpc_url <RPC_URL>
: (可选) Solana RPC端点的URL。如果未指定,则默认为主网。--program_id <PROGRAM_ID>
: (可选) 多重签名程序的ID。未指定时默认为标准ID。--keypair <KEYPAIR_PATH>
: 你的密钥对文件的路径。--multisig_pubkey <MULTISIG_PUBLIC_KEY>
: 多重签名账户的公钥。--transaction_index <TRANSACTION_INDEX>
: 要执行的交易的索引。
示例用法
config_transaction_execute --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --transaction_index 1
多重签名创建
描述
创建一个新的多重签名,并具有初始成员和阈值配置。
语法
multisig_create --rpc_url <RPC_URL> --program_id <PROGRAM_ID> --keypair <KEYPAIR_PATH> --config_authority <CONFIG_AUTHORITY> --members <MEMBER_1> <MEMBER_2> ... --threshold <THRESHOLD>
参数
--rpc_url <RPC_URL>
: (可选) Solana RPC端点的URL。如果未指定,则默认为主网。--program_id <PROGRAM_ID>
: (可选) 多重签名程序的ID。未指定时默认为标准ID。--keypair <KEYPAIR_PATH>
: 你的密钥对文件的路径。--config_authority <CONFIG_AUTHORITY>
: (可选) 程序配置授权地址。--members <MEMBER_...>
: 成员公钥列表,用空格分隔。--threshold <THRESHOLD>
: 执行多重签名交易所需的签名阈值数量。--rent_collector <RENT_COLLECTOR>
: 能够从已取消和执行的交易中收回租金的公钥。
示例用法
-
创建具有两个成员的多重签名
multisig_create --keypair /path/to/keypair.json --members "Member1PubKey,Permission1" "Member2PubKey,Permission2" --threshold 2
创建一个新的多重签名账户,具有两个成员和2的阈值。
-
创建具有配置授权的多重签名
multisig_create --keypair /path/to/keypair.json --config_authority <CONFIG_AUTHORITY_PUBKEY> --members "Member1PubKey,Permission1" "Member2PubKey,Permission2" --threshold 1
使用指定的配置授权和1的阈值初始化多重签名账户。
-
创建具有租约收集器的多重签名
multisig_create --keypair /path/to/keypair.json --config_authority <RENT_COLLECTOR_PUBKEY> --members "Member1PubKey,Permission1" "Member2PubKey,Permission2" --threshold 1
使用指定的租约收集器和1的阈值初始化多重签名账户。
提案投票
描述
对建议的交易提案进行投票。此命令允许多重签名成员批准、拒绝或取消交易提案。
语法
proposal_vote --rpc_url <RPC_URL> --program_id <PROGRAM_ID> --keypair <KEYPAIR_PATH> --multisig_pubkey <MULTISIG_PUBLIC_KEY> --transaction_index <TRANSACTION_INDEX> --action <ACTION> [--memo <MEMO>]
参数
--rpc_url <RPC_URL>
: (可选) Solana RPC端点的URL。如果未指定,则默认为主网。--program_id <PROGRAM_ID>
: (可选) 多重签名程序的ID。未指定时默认为标准ID。--keypair <KEYPAIR_PATH>
: 你的密钥对文件的路径。--multisig_pubkey <MULTISIG_PUBLIC_KEY>
: 多重签名账户的公钥。--transaction_index <TRANSACTION_INDEX>
: 要投票的交易的索引。--action <ACTION>
: 投票操作(批准、拒绝、取消)。--memo <MEMO>
: (可选) 投票备忘。
示例用法
-
批准交易
proposal_vote --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --transaction_index 1 --action Approve
对指定多重签名账户中索引为1的交易进行批准投票。
-
拒绝交易
proposal_vote --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --transaction_index 1 --action Reject
对索引为1的交易进行拒绝投票。
-
取消交易
proposal_vote --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --transaction_index 1 --action Cancel
取消多重签名账户中索引为1的交易。
保险库交易账户关闭
描述
关闭与特定保险库交易相关的提案和交易账户。租金将返回到多重签名的"rent_collector"。
语法
vault_transaction_accounts_close --rpc_url <RPC_URL> --program_id <PROGRAM_ID> --keypair <KEYPAIR_PATH> --multisig_pubkey <MULTISIG_PUBLIC_KEY> --transaction_index <TRANSACTION_INDEX> --rent_collector <RENT_COLLECTOR_PUBKEY>
参数
--rpc_url <RPC_URL>
: (可选) Solana RPC端点的URL。如果未指定,则默认为主网。--program_id <PROGRAM_ID>
: (可选) 多重签名程序的ID。未指定时默认为标准ID。--keypair <KEYPAIR_PATH>
: 你的密钥对文件的路径。--multisig_pubkey <MULTISIG_PUBLIC_KEY>
: 多重签名账户的公钥。--transaction_index <TRANSACTION_INDEX>
:要关闭账户的交易索引。--rent_collector <RENT_COLLECTOR_PUBKEY>
:负责收取租金的账户公钥。
示例用法
vault_transaction_accounts_close --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --transaction_index 1 --rent_collector <RENT_COLLECTOR_PUBKEY>
在这个例子中,命令关闭了指定多签账户中索引为1的交易账户,并使用提供的租金收集者公钥收取租金。
保险库交易创建
描述
创建一个新的保险库交易,带有自定义的交易消息。
语法
vault_transaction_create --rpc_url <RPC_URL> --program_id <PROGRAM_ID> --keypair <KEYPAIR_PATH> --multisig_pubkey <MULTISIG_PUBLIC_KEY> --vault_index <VAULT_INDEX> --transaction_message <TRANSACTION_MESSAGE> [--memo <MEMO>]
参数
--rpc_url <RPC_URL>
: (可选) Solana RPC端点的URL。如果未指定,则默认为主网。--program_id <PROGRAM_ID>
: (可选) 多重签名程序的ID。未指定时默认为标准ID。--keypair <KEYPAIR_PATH>
: 你的密钥对文件的路径。--multisig_pubkey <MULTISIG_PUBLIC_KEY>
: 多重签名账户的公钥。--vault_index <VAULT_INDEX>
:创建交易所在的保险库索引。--transaction_message <TRANSACTION_MESSAGE>
:交易的消息或有效载荷。--memo <MEMO>
: (可选) 交易备忘。
示例用法
vault_transaction_create --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --vault_index 1 --transaction_message [1, 2, 3, 5, 5, 6, 7, 8]
在这个例子中,在保险库索引为1的多签保险库中提出了带有指定消息的新交易。
保险库交易执行
描述
一旦提议达到阈值,则执行交易。
语法
vault_transaction_execute --rpc_url <RPC_URL> --program_id <PROGRAM_ID> --keypair <KEYPAIR_PATH> --multisig_pubkey <MULTISIG_PUBLIC_KEY> --transaction_index <TRANSACTION_INDEX>
参数
--rpc_url <RPC_URL>
: (可选) Solana RPC端点的URL。如果未指定,则默认为主网。--program_id <PROGRAM_ID>
: (可选) 多重签名程序的ID。未指定时默认为标准ID。--keypair <KEYPAIR_PATH>
: 你的密钥对文件的路径。--multisig_pubkey <MULTISIG_PUBLIC_KEY>
: 多重签名账户的公钥。--transaction_index <TRANSACTION_INDEX>
: 要执行的交易的索引。
示例用法
vault_transaction_execute --keypair /path/to/keypair.json --multisig_pubkey <MULTISIG_PUBLIC_KEY> --transaction_index 1
此示例在指定的多签中执行索引为1的交易。
依赖项
~59–79MB
~1.5M SLoC