如何为 Solana javascript API 创建 web3.Keypair 对象?

How to create web3.Keypair object for Solana javascript API?

我希望用户来我的网站上铸造代币。我关注了 Solana 文档并在 Javascript 客户端部分遇到了以下代码。

var web3Connection = new web3.Connection(
    web3.clusterApiUrl("devnet"),
    'confirmed',
);
// Generate a new wallet keypair and airdrop SOL
var fromWallet = web3.Keypair.generate();
var fromAirdropSignature = await web3Connection.requestAirdrop(
    fromWallet.publicKey,
    web3.LAMPORTS_PER_SOL,
);

//wait for airdrop confirmation
await web3Connection.confirmTransaction(fromAirdropSignature);

//create new token mint
let mint = await splToken.Token.createMint(
    web3Connection,
    fromWallet,
    fromWallet.publicKey,
    null,
    9,
    splToken.TOKEN_PROGRAM_ID,
);

如有错误请指正。 我认为理想情况下,我应该从 CLI 创建钱包和密钥对,然后通过环境变量或代码中的一些安全配置使用它们来铸造、转移。等等

如果以上内容正确,我如何使用我现有的公钥和秘密值创建 web3.Keypair 对象而不是生成一个随机值?

您可以使用 fromSecretKey 创建一个 Keypair 实例并传入密钥对文件中的字节数组:https://solana-labs.github.io/solana-web3.js/classes/Keypair.html#fromSecretKey

有一个很好的例子可以做到这一点:https://github.com/solana-labs/solana/blob/b16f2da44414be6f211352ed336812131622bae7/docs/src/developing/clients/javascript-reference.md#example-usage-2