Module near_primitives::shard_layout[][src]

Structs

A shard layout that maps accounts evenly across all shards – by calculate the hash of account id and mod number of shards. This is added to capture the old account_id_to_shard_id algorithm, to keep backward compatibility for some existing tests. parent_shards for ShardLayoutV1 is always None, meaning it can only be the first shard layout a chain uses.

ShardUId is an unique representation for shards from different shard layout

Enums

Functions

Maps an account to the shard that it belongs to given a shard_layout For V0, maps according to hash of account id For V1, accounts are divided to ranges, each range of account is mapped to a shard. There are also some fixed shards, each of which is mapped to an account and all sub-accounts. For example, for ShardLayoutV1{ fixed_shards: [“aurora”], boundary_accounts: [“near”]} Account “aurora” and all its sub-accounts will be mapped to shard_id 0. For the rest of accounts, accounts <= “near” will be mapped to shard_id 1 and accounts > “near” will be mapped shard_id 2.

Maps an account to the shard that it belongs to given a shard_layout

Returns the byte representation for (block, shard_uid)

Deserialize from a byte representation to (block, shard_uid)

Type Definitions

This file implements two data structure ShardLayout and ShardUId