【问题标题】:How can I get program author on solana?如何在 solana 上获得程序作者?
【发布时间】:2021-12-20 10:22:22
【问题描述】:

我很好奇是否有任何方法可以获得 solana 智能合约的作者。 在solidity的情况下,我在构造函数中使用了save msg.sender来保存合约的所有者地址。

contract KeepOwner {
    address private _owner;
    constructor() {
        _owner = msg.sender;
    }

    function isOwner(address likeOwner) public view returns (bool) {
        return likeOwner == _owner;
    }
}

但我在 solana 上找不到任何方法来保存和获取作者(已发送部署事务)公钥。 我曾尝试从 solana 程序的 AccountInfo 中获取信息,但未能成功。

【问题讨论】:

    标签: rust solidity author solana


    【解决方案1】:

    将所有者的私人信息硬编码到程序中是不安全的,因此我们应该使用另一种方法来验证帐户是否是所有者。 我们可以使用 SPL 令牌来表示程序的所有权。

    • 仅用 1 个供应量铸造 SPL 代币。
    • 将该铸币厂的公钥硬编码到程序中。
    • 部署您的程序。

    当然,您应该检查该帐户是否具有硬编码的薄荷代币余额,以检查该帐户是否是该程序的所有者。 您可以通过转移 spl 代币来转移所有权。 还可以沿着 SPL 令牌的功能扩展功能。

    【讨论】:

      【解决方案2】:

      有两种方法可以做到这一点,具体取决于您要查找的内容:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-07
        • 2022-10-09
        • 1970-01-01
        • 2022-08-20
        • 1970-01-01
        • 2021-12-09
        • 2022-01-25
        • 2021-12-06
        相关资源
        最近更新 更多