- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道 Solana 没有将 HashMap 数据结构作为设计模式。
这是否意味着开发人员应该为每个用户或权益池使用程序派生地址 (PDA),而不是为数据存储创建用户或权益池的数组/向量?
最佳答案
这个问题有点主观,因为它询问的是如何使用 Solana 处理在链上存储大量信息的意见。两种选择都是可能的:您可以在一个帐户中存储链上向量/数组,或者您可以使用程序派生地址作为一种链上 HashMap。这是一种权衡。
如果您在帐户中存储一个向量,您会受到开始时分配的大小的限制,但存储一定数量的值可能会更快、更便宜。
如果您需要存储大量数据并且您有生成 key 的良好模型,那么在程序派生地址创建帐户可能是一个不错的选择。您需要为每个帐户支付租金,因此如果您没有在每个帐户中存储大量数据,则费用可能会很高。您可以使用 solana rent <ACCOUNT_SIZE>
估算两种方法的成本。
关于arrays - Solana Rust 智能合约如何处理数组和向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68733137/
我很好奇目前是否有任何方法可以在 Solana 程序中创建随机性? 我知道 Solana 使用权益证明机制,这对我来说意味着区块哈希不可靠,因为权益证明机制可以轻松创建新的区块哈希。 我也熟悉 Cha
我是 Solana/web3 的新手,并开始学习如何为 Solana 开发 dApp。在我看来,“账户”本质上只是去中心化“计算机”内存中分配的一 block 空间。 这是否意味着,例如,如果我为竞价
向 Solana NFT 社区寻求帮助! 我有一个托管在 arweave 上的收藏。薄荷是通过糖果机 v2。然而,只类型转换了预期供应量的一半。这在拥有超过最大供应量的 NFT 的持有者中引起了混淆。
在 Anchor 测试中注意到此代码注释: ATA 代表什么?为什么它对于 DAO 控制的机构很重要? 最佳答案 ATA 是关联的 token 地址。 可以使用 findProgramAddress
不推荐使用 confirmTransaction 方法。相反,有一个 sendandconfirmtransaction 方法,但它在连接对象上不可用,所以我不能用于要使用 phantom 签名的交易
在 Anchor 测试中注意到此代码注释: ATA 代表什么?为什么它对于 DAO 控制的机构很重要? 最佳答案 ATA 是关联的 token 地址。 可以使用 findProgramAddress
不推荐使用 confirmTransaction 方法。相反,有一个 sendandconfirmtransaction 方法,但它在连接对象上不可用,所以我不能用于要使用 phantom 签名的交易
Uncaught (in promise) WalletSignTransactionError: Transaction recentBlockhash required at PhantomWal
什么是 Aux 帐户? 我已经创建了自己的 spl-token。我可以用我的主要地址为我自己的帐户类型转换初始供应。我创建了另一个地址并为其创建了 token 帐户: spl-token create
当我尝试部署带有 anchor 的 IDL 时,我收到一条神秘的“自定义错误 0x1004”消息。这是什么意思:? $ anchor idl init --provider.cluster testn
我正在尝试使用 web3.js 和 spl-token.js 创建 NFT。 但是,我需要添加元数据(如 token 名称或其他属性),否则它只会在我的钱包中显示为“未知 token ”。 这是我类型
我在运行: solana airdrop 10 7Fbdg5vecamm8MLxDw7bPN2xENaBE7fP65tKW935BEhq 7Fbdg5vecamm8MLxDw7bPN2xENaBE7f
我来自以太坊环境,Solana 概念有点令人困惑。我找到了各种指导代码步骤的教程,但并没有真正解释逻辑背后的概念。 我知道在 Solana 中我们有程序,它们不包含数据,只是逻辑 - 网络中的可执行实
我正在使用 solana-web3.js但找不到任何关于如何创建和类型转换我自己的代币的示例。最好的方法是什么? 最佳答案 为此,您还需要使用我们的 token 程序 js 绑定(bind)。您可以通
我正在尝试对 Serum DEX V3 发出订单请求: tx.add(market.makeNewOrderV3Instruction( { owner, payer, sid
我正在尝试对 Serum DEX V3 发出订单请求: tx.add(market.makeNewOrderV3Instruction( { owner, payer, sid
我正在尝试通过使用下面这篇文章的公认答案来获得收藏的类型转换版本: How to find all NFTs minted from a v2 candy machine 但是当我尝试查询时,我收到了
运行此命令后出现此错误:./scripts/cargo-install-all.sh。 error: failed to run custom build command for `prost-bui
我正在尝试使用 solana-wallet 适配器传输自定义 SPL token 。但是,我无法获取钱包的 key /签署交易。 我已经查看了这些用于编写传输代码的答案,但我需要获取签名者并且我无法弄
我写了一个Sol程序,但是在初始化的时候,我需要填一些默认地址。 问题 1:我可以使用 Solana 文档中的 Solana 烧录地址:1nc1nerator111111111111111111111
我是一名优秀的程序员,十分优秀!