Mina 开发者文档
在这一节中,我们将简要概述如何与Mina客户端发送交易,以及如何开始与区块链进行交互。
在本节中,我们假设您的系统上安装了Mina客户端,如果您没有安装Mina,请参阅入门指南。
一旦我们的节点完成同步,我们将需要导入我们的公钥/私钥对,以便我们可以签署交易并生成一个接收付款的地址。出于安全原因,我们希望将密钥放在一个难以让攻击者访问的目录下。
运行以下命令来导入您以前生成的密钥对文件:
mina accounts import -privkey-path ~/keys/my-wallet
系统将提示您输入创建帐户时输入的密码。
您可以自由地与任何人共享您的公钥,但是要非常注意您的私钥文件。不要与任何人共享此私钥,因为它相当于您的资金密码。
这个命令的响应如下所示:
Imported account!
Public key: B62qjaA4N9843FKM5FZk1HmeuDiojG42cbCDyZeUDQVjycULte9PFkC
此外,您可以使用mina accounts create
命令来生成发送新账户以及接收交易。
由于公钥相当长而且很难记住,所以让我们将其保存为一个环境变量。使用以下命令,但请将<your-public-key>替换为前面命令中的公钥输出:
export MINA_PUBLIC_KEY=<YOUR-PUBLIC-KEY>
现在我们可以在任何地方以$MINA_PUBLIC_KEY的形式访问它——通过尝试echo $MINA_PUBLIC_KEY来检查它是否保存正确。
注意,这些环境变量只会为了当前的shell会话保存,所以如果您想保存它们以供将来使用,可以将它们添加到~/.profile
或是~/.bash_profile
.
如果您在云虚拟机上运行节点,请确保导出并保存密钥文件。您可以导出密钥:
mina accounts export -public-key <PUBLIC-KEY> -privkey-path <EXPORT-PATH>
然后将它保存到您的本地机器,可能用到scp:
scp <EXPORT-PATH> <LOCAL-DESTINATION>
稍后,当启动一个新的虚拟机时,您可以上传密钥,然后导入它:
mina accounts import -privkey-path <PRIVATE-KEY-FILE>
如果您忘记了您已经创建的密钥对,您可以通过以下方式查看:
mina accounts list
我们可以使用这个命令检查所有账户的余额:
mina accounts list
您可能会看到您的帐户显示Balance: 0 mina
。在交易完成之前您可能需要几个区块,这取决于网络情况。
注意
提示:您可以运行mina client status
来查看当前区块高度的更新。
发起一个付款
最后我们进入正题,请发送我们的第一个交易!在您发送支付之前,您需要解锁您的帐户:
mina accounts unlock -public-key $MINA_PUBLIC_KEY
为方便测试,我们将指定您的公钥作为接收方和发送方。这仅仅意味着我们正在发送一个交易给我们自己,您可以通过发出以下命令来看到您的公钥:
echo $MINA_PUBLIC_KEY
如果收款帐户从未收到任何交易,将有一个额外的帐户创建费用1MINA,该费用将从交易金额中扣除。
让我们发送一些我们自己的Mina来看看付款情况:
mina client send-payment \
-amount 1.5 \
-receiver $MINA_PUBLIC_KEY \
-fee 0.1 \
-sender $MINA_PUBLIC_KEY
如果您想知道我们在上面的命令中传递了什么:
● amount,我们发送了一个1.5mina的测试值,这足够支付账户创建费用
● receiver 是接收交易的帐户的公钥,例如:B62qjaA4N9843FKM5FZk…
● 对于fee,让我们用 0.1 mina
● sender 是发送交易的帐户的公钥,例如:B62qjaA4N9843FKM5FZk…
如果这个命令的格式正确,我们应该得到如下所示的响应:
Dispatched payment with ID 3XCgvAHLAqz9VVbU7an7f2L5ffJtZoFega7jZpVJrPCYA4j5HEmUAx51BCeMc232eBWVz6q9t62Kp2cNvQZoNCSGqJ1rrJpXFqMN6NQe7x987sAC2Sd6wu9Vbs9xSr8g1AkjJoB65v3suPsaCcvvCjyUvUs8c3eVRucH4doa2onGj41pjxT53y5ZkmGaPmPnpWzdJt4YJBnDRW1GcJeyqj61GKWcvvrV6KcGD25VEeHQBfhGppZc7ewVwi3vcUQR7QFFs15bMwA4oZDEfzSbnr1ECoiZGy61m5LX7afwFaviyUwjphtrzoPbQ2QAZ2w2ypnVUrcJ9oUT4y4dvDJ5vkUDazRdGxjAA6Cz86bJqqgfMHdMFqpkmLxCdLbj2Nq3Ar2VpPVvfn2kdKoxwmAGqWCiVhqYbTvHkyZSc4n3siGTEpTGAK9usPnBnqLi53Z2bPPaJ3PuZTMgmdZYrRv4UPxztRtmyBz2HdQSnH8vbxurLkyxK6yEwS23JSZWToccM83sx2hAAABNynBVuxagL8aNZF99k3LKX6E581uSVSw5DAJ2S198DvZHXD53QvjcDGpvB9jYUpofkk1aPvtW7QZkcofBYruePM7kCHjKvbDXSw2CV5brHVv5ZBV9DuUcuFHfcYAA2TVuDtFeNLBjxDumiBASgaLvcdzGiFvSqqnzmS9MBXxYybQcmmz1WuKZHjgqph99XVEapwTsYfZGi1T8ApahcWc5EX9
Receipt chain hash is now A3gpLyBJGvcpMXny2DsHjvE5GaNFn2bbpLLQqTCHuY3Nd7sqy8vDbM6qHTwHt8tcfqqBkd36LuV4CC6hVH6YsmRqRp4Lzx77WnN9gnRX7ceeXdCQUVB7B2uMo3oCYxfdpU5Q2f2KzJQ46
您可能不会在帐户的第一个交易中看到 Receipt chain hash
,但在接下来的交易中,这将显示在Receipt chain hash
列表的顶部。
一旦您熟悉了创建一个地址、发送和接收Mina的基础知识,我们就可以进入Mina网络中真正独特的部分——参与共识并帮助压缩区块链。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!