【问题标题】:Solana what is a good zero value address or default address?Solana 什么是好的零值地址或默认地址?
【发布时间】:2021-10-26 14:34:57
【问题描述】:

我写了一个Sol程序,但是在初始化的时候,我需要填一些默认地址。

问题 1:我可以使用 Solana 文档中的 Solana 烧录地址:1nc1nerator11111111111111111111111111111111 吗?

问题2:为什么这是一个只有43个字符的burn_address.toBase(),却是从web3.Keypair.generate()随机生成的address.toBase() https://solana-labs.github.io/solana-web3.js/classes/Keypair.html 有 44 个字符?

例如DyVj5YpgZT51NKJWJkjXbn3UHxKRdS9G1zScSK7NZQEk 有 44 个字符

问题 3:如果我选择了默认地址,例如Solana 的烧录地址,如何从 fromBase58("1nc1nerator11111111111111111111111111111111") 之类的字符串中创建地址? 使用 fromSeed(seed: Uint8Array) ?

使用 Pubkey 数组创建新帐户后,它们的默认 base58 值为 11111111111111111111111111111111...

【问题讨论】:

    标签: solana


    【解决方案1】:

    这里好像有几个问题!

    问题 1:我可以使用 Solana 文档中的 Solana 烧录地址:1nc1nerator11111111111111111111111111111111 吗?

    焚化炉地址专门用于排放 SOL 以将其完全从循环中移除。您可以随意使用它,但除非您使用 SOL,否则它的行为可能不会完全符合您的要求。

    问题2:为什么这个burn_address.toBase()只有43个字符,而从web3.Keypair.generate()https://solana-labs.github.io/solana-web3.js/classes/Keypair.html随机生成的address.toBase()有44个字符?

    您可以将地址视为以 base58 表示的 32 字节整数。由于 base58 并没有像 base16 或 base64 一样平均分成 32 个字节,所以我们可以得到不同数量的字符来表示它。 https://learnmeabitcoin.com/technical/base58

    对此进行了很好的细分

    问题 3:如果我选择了默认地址,例如Solana 的烧录地址,如何从 fromBase58("1nc1nerator11111111111111111111111111111111") 之类的字符串中创建地址?使用 fromSeed(seed: Uint8Array) ?

    如果您是从 base58 字符串转换,您只需执行new PublicKey("1nc1nerator11111111111111111111111111111111"),构造函数将自动为您从 base58 解码。代码见https://github.com/solana-labs/solana/blob/6909a79b6fd50f63e2968d4760f864b377e4c802/web3.js/src/publickey.ts#L50

    【讨论】:

    • 谢谢乔恩,那么什么是一个好的代币销毁地址?我从您的链接中看到:new PublicKey('1111111111111111111111111111111'),这是一个好的烧录地址吗?我需要一个没有私钥但没有程序地址的地址。
    • 使用Pubkey数组创建一个新帐户后,它们的默认值是11111111111111111111111111111111...即系统程序base58地址。
    • 没错没错,就是系统程序地址。如果你真的想烧掉一个代币,我建议只使用代币程序中的burn 指令:spl.solana.com/token#burning——如果你真的希望它们在一个单独的地址中,你可以将代币发送到相关代币作为约定,系统程序拥有的帐户。这是你的选择!
    • 好的!谢谢你:)
    • 在 Rust 中:Pubkey::default() 也给了我 11111111111111111111111111111111,这与 JavaScript 中的 new PublicKey('1111111111111111111111111111111') 相同
    猜你喜欢
    • 2017-07-25
    • 2012-08-15
    • 2015-06-25
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多