如何使用 Solana 智能合约发送 spl-token?

How to send spl-tokens with Solana smart contract?

我是初学者 Rust/Solana 开发人员,想问问是否有人知道当帐户收到 SOL 时如何从帐户发送 spl-token?

我阅读了 https://docs.solana.com/ 但我找不到任何关于 SPL 传输的信息。

智能合约示例:https://github.com/solana-labs/example-helloworld

示例:

Acc1 发送 0.1 SOL 到一个地址,为此 Acc1 从该地址收到 1 个 SPL-TOKEN

简单说明:我需要一个代币铸造网站。

非常感谢您的帮助,谢谢!

您可以在令牌程序的传输指令上使用 CPI 发送 SPL 令牌。

例如:

spl_token::instruction::transfer(
  token_program.key,
  source.key,
  destination.key,
  authority.key,
  &[],
  amount,
)?;
invoke_signed(
  &ix,
  &[source, destination, authority, token_program],
  signers,
)

您可以通过查看令牌交换程序如何使用 CPI 来找到更深入的示例 transfer spl-tokens