当前位置: 首页 > 知识库问答 >
问题:

智能合约(固态)映射存储结构

柳修为
2023-03-14

>

  • 我可以使用Solity在映射中存储多少对键/值?

    映射(字节32 =

    如果每秒存储一对密钥/值不是有效的,你能建议一个更好的方法吗?我想过使用群/ IPFS,但我需要最大限度地精简设计...

  • 共有1个答案

    饶志
    2023-03-14

    >

  • solidity文档说“映射可以看作是哈希表,它们实际上是初始化的,因此每个可能的键都存在并映射到一个字节表示为全零的值” - 对固体性映射的大小没有理论限制。

    如果你需要每秒调用你的合约,在你的映射中加入一些东西,你的瓶颈不在于映射类型本身的工作方式(在映射中加入一个新的键值对,一秒钟就足够了),而在于以太坊本身,因为网络目前仅支持每秒15个事务,因此,即使天然气价格很高,也很难将你的合同要求包括在每秒15次中。

  •  类似资料:
    • 我正在学习Solity,对合约升级能力感到困惑。据我了解,部署的智能合约是不可变的,不能更改。如果我需要向合约添加额外的功能,我可以对合约进行版本化并部署新版本。但旧合约中的存储数据保持不变。 我有如下合同 如果我需要搜索用户ID,我可以如上所述使用获取器。但是,如果我部署新版本的合约,则映射用户映射不可用。能够在整个存储中搜索我需要的条目的最佳方法是什么?我在某处读到名称注册可能是一种选择,但我

    • 指导编写一个EOSIO的智能合约 模块 Account API 查询账户数据的API. Chain API 查询链内部状态的API. Database API 存储和检索EOS.IO区块链的数据API根据以下广泛结构来组织数据. Math API 定义常用的数学函数. Action API 定义用于查询操作属性的API. Memory API 定义常用的记忆功能. Console API 使应用程

    • 编程语言 使用golang作为编程语言(对部分关键字限制,以保证处理的有序性),而不是重新创造编程语言。 golang是一个简单、易用的编程语言,它有完善的帮助文档和开发工具。 它是强类型校验,编译阶段就能够校验发现很多bug。 它是模块化的,本系统能够简单屏蔽外部功能,使智能合约处在简单可预期的环境中。 已经有大量的golang开发人员,他们如果要开发智能合约,非常容易上手。 智能合约的分类 公

    • 查询智能合约状态 这种功能是由eth_call通过JSON-RPC调用来实现的。 eth_call允许你调用智能合约上的方法来查询某个值。此函数没有关联交易成本,这是因为它不改变任何智能合约方法的状态,它只返回它们的值: Function function = new Function<>( "functionName", Arrays.asLi

    • 版本申明 pragma solidity ^0.4.0; 说明: 1 版本要高于0.4才可以编译 2 号表示高于0.5的版本则不可编译,第三位的版本号但可以变,留出来用做bug可以修复(如0.4.1的编译器有bug,可在0.4.2修复,现有合约不用改代码)。 引用其它源文件 全局引入 * import “filename”; 自定义命名空间引入 * import * as symbolN

    • 介绍 EOSIO 智能合约 编写智能合约需要的必备技能 C / C++ 相关 基于 EOSIO 的块链使用的是 WebAssembly(http://webassembly.org/) (WASM) 来执行用户编写的智能合约。WASM 是一种新兴的 Web 标准,广泛支持于谷歌、微软、苹果等。对编写 WASM 标准的智能合约来说使用 clang/llvm(https://clang.llvm.or