只允许在 solana 中进行特定的传输

Only allow specific transfers in solana

我只希望特定的 public keys/accounts(由投票决定)能够将 SOL 转移到项目帐户中。只是任何人都不能将 SOL 转移到项目帐户中。 有问题的项目帐户将使用我的 solana 程序创建。

这里有人可以告知这在技术上是否可行以及如何从概念上着手吗?

基本面:

  1. 钱包所有者可以使用系统将 SOL 从任何 系统拥有的帐户 转移到 任何帐户(系统拥有或程序拥有)。
  2. 程序可以将 SOL 从任何程序拥有的帐户转移到任何帐户(系统拥有或程序拥有)。

你要找的是不可行的。例如,在选项 1 中,您必须在系统传输逻辑中以防止传输,而对于选项 2,它仍然不会阻止选项 1 可以完成的操作。