In Rust we have many data structures available in the standard library. NEAR Protocol has some optimized data structures in near-api-rs, but what are the main differences?
NEAR Protocol Rust contracts - what's the difference between near-sdk-rs data structures and std ones?
331 Views Asked by mattdlockyer At
1
There are 1 best solutions below
Related Questions in RUST
- Borrow mutable and immutable reference in the same block
- Linking to a static lib compiled with MSVC
- Using a no-method trait implementation in a different module
- No error for two traits implementing the same method
- How are the generic functions and types stored in an rlib?
- Is it possible to find an element in a Vec<T> and remove it?
- What does & actually do?
- unresolved name rand::thread_rng
- Use of undeclared type that is defined in another file
- Creating byte buffers in rust
- What's the difference between filter(|x|) and filter(|&x|)?
- How to convert iterator of chars to String?
- Correct idiom for freeing repr(C) structs using Drop trait
- Rust String concatenation
- Can I mark a function as deprecated?
Related Questions in BLOCKCHAIN
- Blockchain receive API with same address
- panic: runtime error: invalid memory address or nil pointer dereference when running Blockchainr
- Cannot "Query" hyperledger-fabric, error code -32003
- Why is transactions not always record to the block? - Blockchain PBFT
- Hyperledger on Bluemix: Failed to launch chaincode spec(Could not get deployment transaction
- Connect to Multichain network using aws EC2
- Deploying Ethereum Private Network
- Does the "holy trinity" (Ethereum, Swarm and Whisper) support multimedia streaming?
- Hyperledger Fabric v0.6 using Docker Toolbox
- What is the ibm bluemix blockchain port for events?
- Unable to deploy Hyperledger Java chaincode via Github
- How to accurately measure the effort required to reduce a λ-term?
- IBM Blockchain (Hyperledger) - "Error when deploying chaincode"
- Transaction via Blockchain API using Multiple recipients
- Computing acoustic fingerprint in a distributed manner without exposing the whole file to any participant
Related Questions in SMARTCONTRACTS
- Automatic Transfer of Token in Solidity Contract
- How to test smart contract with cross-contract invoke using truffle?
- How to accurately measure the effort required to reduce a λ-term?
- How do display all the events logs from a smart contract?
- sending ether to external address using fallback function in an ethereum contract
- Creating instance of contract inside another contract and calling it's methods results in thrown exception
- How can I include real world data in a smart contract?
- Where in Ethereum blockchain do transaction details of a smart contract get written?
- Is is possible to access public structure fileds in NEAR smart-contract without a function?
- NEAR Protocol - What happens when Rust contract method args are declared as (&mut self, ...) vs. (&self, ...)?
- NEAR Protocol Rust contracts - what's the difference between near-sdk-rs data structures and std ones?
- smart contract gas cost
- How to check if a NEAR account has a smart-contract deployed and implements a required interface?
- Making a Dapp, getting an error: setProvider is not defined?
- Solidity: problem creating a struct containing mappings inside a mapping
Related Questions in NEARPROTOCOL
- How do you call a payable method from the js client?
- Is is possible to access public structure fileds in NEAR smart-contract without a function?
- NEAR Protocol - What happens when Rust contract method args are declared as (&mut self, ...) vs. (&self, ...)?
- NEAR Protocol Rust contracts - what's the difference between near-sdk-rs data structures and std ones?
- Can just anyone change the accounts and total supply?
- Passing account to near-js-api function call
- How to load contract ABI in JavaScript
- NEAR and safe math on unsigned integers
- How to get a public key from private key and/or account id in NEAR protocol?
- Use of undeclared type or module near_blockchain
- How to run near-js-api tests against a localnet with multiple contracts
- How to build and deploy multiple contracts in NEAR protocol
- How to connect NEAR Rainbow Bridge with my own Ethereum infra?
- How to check if a NEAR account has a smart-contract deployed and implements a required interface?
- What's the best practice for using env::log in smart-contracts?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Evgeny Kuzyakov (a Near protocol engineer) answered in Discord:
If you talking about LookupMap vs HashMap then the difference is LookupMap is stored in the trie, while HashMap is stored in memory.
When a method on a contract is called, the contract reads and deserializes the main struct from the storage trie. If it contains a HashMap then all records of this map will be read and deserialized. If it contains a LookupMap then only the key_prefix will be read and deserialized, so it's cheaper from gas perspective. But every time you access a key/value from a LookupMap you have to read and deserialize it from the trie.