使用 melwallet-cli 钱包

安装钱包

注意:在安装钱包之前请确保您的计算机已经安装 cargo。

输入以下命令:

cargo install --locked melwalletd melwallet-client

上面的命令安装了 melwalletdmelwallet-clientmelwalletd 是钱包的本地守护进程,相当于钱包本体,而 melwallet-client 是钱包的操作工具。

启动 melwalletd

想要使用钱包,需要先启动 melwalletd,也就是钱包本体。

melwalletd --wallet-dir <WALLET_DIR>

使用 --wallet-dir 参数指定存储钱包的位置,把 <WALLET_DIR> 替换为你所指定的位置。如果需要查看 melwalletd 命令的更多参数,可以输入以下命令:

melwalletd -h

使用 melwallet-cli

列出钱包

在上一步我们已经启动了钱包的守护进程,现在就可以使用 melwallet-cli 命令来操作钱包了。list 参数的功能是列出现有的钱包,由于我们现在还没有创建钱包,所以执行此命令后不会有什么信息显示出来。

melwallet-cli list

创建钱包

使用 create 子命令可以创建钱包,-w 参数可以指定钱包名,将 <WALLET_NAME> 替换为你想要的名字。

melwallet-cli create -w <WALLET_NAME>

输入上面的命令后,会提示让你输入两次密码,默认不会显示你输入了什么密码,不用担心,这是为了保护你的密码不被旁人看到。

输入密码后,你的钱包就创建完成了,让我们再用 list 子命令列出钱包。

melwallet-cli list

这是我的回显:

Wallet name:  test_wallet (locked)
Network:      mainnet
Address:      t15c6jpsmbas0e9tz82zfv8fsn4ytp1hky1rpwd3mgvk85n1dh6c50
Balance:      0.000000  MEL
Staked:       0.000000  SYM

可以看到,我创建了一个名为 test_wallet 的钱包,此钱包的地址是 t15c6jpsmbas0e9tz82zfv8fsn4ytp1hky1rpwd3mgvk85n1dh6c50,钱包处于锁定状态并且余额为 0。

解锁钱包

我们可以使用 unlock 子命令来解锁指定的钱包,对于我来说,此时的 <WALLET_NAME> 就是刚才创建的钱包名 test_wallet

melwallet-cli unlock -w <WALLET_NAME>

同样的,会有回显提示你输入密码,输入正确的密码就可以解锁对应的钱包。

导入和导出钱包

使用 import-skexport-sk 导入或导出钱包。

导入钱包,其中 <PRIVATE_KEY> 是你的钱包私钥:

melwallet-cli import-sk -w <WALLET_NAME> -s <PRIVATE_KEY>

导出钱包:

melwallet-cli export-sk -w <WALLET_NAME>

之后再输入密码即可导出指定钱包私钥。

发送资产

可以使用 send 子命令来发送资产,例如:

melwallet-cli send --to <WALLET_ADDRESS>,<AMOUNT>,<ASSET> -w <WALLET_NAME>

在上面的命令中,--to 参数是表示「给」,<WALLET_ADDRESS> 代表收款地址,<AMOUNT> 代表数量(必须是浮点数),<ASSET> 代表资产名称。

例如,使用我刚才创建的 test_wallet 发送 1 MEL 给 t15c6jpsmbas0e9tz82zfv8fsn4ytp1hky1rpwd3mgvk85n1dh6c50 的命令是:

melwallet-cli send --to t15c6jpsmbas0e9tz82zfv8fsn4ytp1hky1rpwd3mgvk85n1dh6c50,1.0,MEL -w test_wallet

这是回显:

TRANSACTION RECIPIENTS
Address                                                 Amount        Additional data
t15c6jpsmbas0e9tz82zfv8fsn4ytp1hky1rpwd3mgvk85n1dh6c50  1.000000 MEL  ""
t15c6jpsmbas0e9tz82zfv8fsn4ytp1hky1rpwd3mgvk85n1dh6c50  0.499874 MEL  ""
t15c6jpsmbas0e9tz82zfv8fsn4ytp1hky1rpwd3mgvk85n1dh6c50  0.499875 MEL  ""
 (network fees)                                         0.000251 MEL
Proceed? [y/N]

此时我们输入 y 并按回车键就可以发送这笔交易了。

进行 swap

我们还可以用 melwallet-cli 进行 swap 交易,需要使用 swap 子命令,例如:

melwallet-cli swap -f <ASSET> -t <ASSET> -w <WALLET_NAME> <AMOUNT>

-f 参数意味着「来自」,-t 参数意味着「到」,<WALLET_NAME>AMOUNT> 上文已经解释过,故不再重复。

假设我现在要用我刚才创建的 test_wallet 钱包中的 1.0 MEL 兑换一些 SYM,那么就使用以下命令:

melwallet-cli swap -f MEL -t SYM -w test_wallet 1.0

回显:

SWAPPING
From:  1.000000 MEL
To:    0.200345 SYM (approximate)
Proceed? [y/N]

approximate 表示「近似值」,和绝大部分 swap 一样,在 swap 前都无法知道 swap 之后真正能兑换多少资产,所以是「近似值」。此时输入 y 并按回车就可以提交这笔交易了。

附录

参考链接

改动说明

2023-03-13. 添加目录。

2023-03-13. 添加「导入和导出钱包」内容。

2023-03-13. 完善「改动说明」部分。

2023-03-13. 添加附录。

2023-03-13. 初稿。

详细信息:https://github.com/ArtoriaShirou/Mel-Personal-Notes/commits/main/教程/使用%20melwallet-cli%20钱包.md

反馈方式

Telegram: https://ShirouArtoria.t.me/

Twitter: https://twitter.com/ShirouArtoria

email: work@artoriashirou.me

Discord: ArtoriaShirou#4266

官方链接

Mel Twitter: https://twitter.com/melproject_org

Mel Discord: https://discord.gg/usY39nY6vM

Mel Telegram: https://t.me/mel_project

Mel 官网:https://melproject.org/

许可协议

本文采用知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议进行许可。要查看该许可协议,可访问 https://creativecommons.org/licenses/by-nc-sa/4.0/ 或者写信到 Creative Commons, PO Box 1866, Mountain View, CA 94042, USA。

免责声明

本文只是个人笔记和想法,不是投资建议。投资有风险,入市需谨慎。