Mina 开发者文档
这是一个NodeJS的客户端SDK,它允许您生成Mina密钥对,并使用Mina的密钥对签署交易和字符串。该项目包含Typescript和ReasonML类型,但也可以在普通的NodeJS中使用。
请注意,不建议使用这种方法生成密钥对,这种方式应由有经验的安全专业人员使用。请使用我们的mina-generate-keypair工具来代替创建密钥对。
永远不要在主网的测试网中重复使用相同的密钥对!
我们的客户端SDK的源代码是开源的,并可以在这里看到。
要安装客户机SDK,系统上需要安装NodeJS。确保它在您的机器上可用,然后使用yarn或npm安装客户端SDK。
# yarn:
yarn add @o1labs/client-sdk
\# npm:
npm install --save @o1labs/client-sdk
使用我们的客户端SDK创建密钥对很简单。请参阅下面的代码片段,了解如何创建密钥对。
const MinaSDK = require("@o1labs/client-sdk");
let keys = MinaSDK.genKeys();console.log(`Public key: ${keys.publicKey}`);console.log(`Private key: ${keys.privateKey}`);
此操作将会显示出您的私钥,因此在使用此方法时,请确保您处于一个安全的环境中。
关于如何使用我们的SDK的更多信息,请参阅客户端SDK 自述文件。
永远不要泄露您的私钥,并确保它们被妥善保存。如果您丢失了您的私钥,或者一个恶意参与者获得了对您的私钥的访问权,那么您将失去对您的帐户的访问权,并将失去您的帐户资金。请使用您的公钥,Mina永远不会问您要您的私钥。
请注意,Mina客户端期望的密钥对格式和客户端SDK生成的密钥对格式是不同的。当使用客户机SDK生成密钥对时,返回的密钥对输出是不能直接导入到Mina客户机的字符串的。为此,我们必须使用mina advanced wrap-key
工具将密钥对字符串格式化为可以直接导入到客户端的格式。
完成这些只需要几个小步骤。
1.首先,确保您的系统中有一个可以存储密钥文件的文件夹。我们建议使用~/keys文件夹。
mkdir ~/keys
chmod 700 ~/keys
echo 'YOUR-PRIVATE_KEY' > ~/keys/my-wallet
chmod 600 ~/keys/my-wallet
mina advanced wrap-key -privkey-path ~/keys/my-wallet
系统将提示您输入新密码,如下所示。
Private key:
Password for new private key file:
Again to confirm:
这将生成一个新的my-wallet.pub
和my-wallet
文件。
ls ~/keys/
my-wallet my-wallet.pub
chmod 600 ~/keys/my-wallet
mina accounts import -privkey-path ~/keys/my-wallet
当使用mina advanced wrap-key
创建帐户时,系统将提示您输入密码。
这个命令的响应如下所示:
Imported account!
Public key:
B62qjaA4N9843FKM5FZk1HmeuDiojG42cbCDyZeUDQVjycULte9PFkC
现在您已经创建了密钥——您需要验证它是否有效。您可以通过对交易进行签名进行验证。您可以使用mina-validate-keypair工具验证这一点。
执行如下命令:
mina-validate-keypair -privkey-path ~/keys/my-wallet
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!