• Design
  • API Reference
  • Changelog
  • Contribute
Show / Hide Table of Contents
  • Libplanet
    • Address
    • AddressExtension
    • ByteUtil
    • Hashcash
    • Hashcash.Stamp
    • HashDigest<T>
    • HashDigestExtension
    • Nonce
  • Libplanet.Action
    • AccountStateGetter
    • ActionEvaluation<T>
    • ActionTypeAttribute
    • AddressStateMap
    • IAccountStateDelta
    • IAction
    • IActionContext
    • IRandom
    • MissingActionTypeException
    • PolymorphicAction<T>
  • Libplanet.Blockchain
    • BlockChain<T>
    • IncompleteBlockStatesException
    • MineBlockEventArgs<T>
  • Libplanet.Blockchain.Policies
    • BlockPolicy<T>
    • BlockPolicyExtension
    • IBlockPolicy<T>
  • Libplanet.Blocks
    • Block<T>
    • InvalidBlockDifficultyException
    • InvalidBlockException
    • InvalidBlockHashException
    • InvalidBlockIndexException
    • InvalidBlockNonceException
    • InvalidBlockPreviousHashException
    • InvalidBlockTimestampException
  • Libplanet.Crypto
    • InvalidCiphertextException
    • PrivateKey
    • PublicKey
    • SymmetricKey
  • Libplanet.Net
    • BlockDownloadState
    • DifferentAppProtocolVersionException
    • DifferentProtocolVersionEventArgs
    • IceServer
    • IceServerException
    • InvalidMessageException
    • NoSwarmContextException
    • Peer
    • PeerNotFoundException
    • PeerSetDelta
    • Swarm<T>
    • SwarmException
  • Libplanet.Serialization
    • BencodexFormatter<T>
    • SerializationInfoExtension
  • Libplanet.Store
    • BaseIndex<TKey, TVal>
    • BaseStore
    • BlockSet<T>
    • FileStore
    • IStore
    • LiteDBStore
    • NamespaceNotFoundException
    • StoreExtension
    • TransactionSet<T>
  • Libplanet.Tx
    • InvalidTxException
    • InvalidTxIdException
    • InvalidTxNonceException
    • InvalidTxPublicKeyException
    • InvalidTxSignatureException
    • InvalidTxUpdatedAddressesException
    • Transaction<T>
    • TxId
    • UnexpectedlyTerminatedTxRehearsalException

Class FileStore

Inheritance
Object
BaseStore
FileStore
Implements
IStore
Inherited Members
BaseStore.CountTransactions()
BaseStore.CountBlocks()
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: Libplanet.Store
Assembly: Libplanet.dll
Syntax
public class FileStore : BaseStore, IStore

Constructors

| Improve this Doc View Source

FileStore(String)

Declaration
public FileStore(string path)
Parameters
Type Name Description
String path

Methods

| Improve this Doc View Source

AppendIndex(String, HashDigest<SHA256>)

Declaration
public override long AppendIndex(string namespace, HashDigest<SHA256> hash)
Parameters
Type Name Description
String namespace
HashDigest<SHA256> hash
Returns
Type Description
Int64
Overrides
BaseStore.AppendIndex(String, HashDigest<SHA256>)
| Improve this Doc View Source

CountIndex(String)

Declaration
public override long CountIndex(string namespace)
Parameters
Type Name Description
String namespace
Returns
Type Description
Int64
Overrides
BaseStore.CountIndex(String)
| Improve this Doc View Source

DeleteBlock(HashDigest<SHA256>)

Declaration
public override bool DeleteBlock(HashDigest<SHA256> blockHash)
Parameters
Type Name Description
HashDigest<SHA256> blockHash
Returns
Type Description
Boolean
Overrides
BaseStore.DeleteBlock(HashDigest<SHA256>)
| Improve this Doc View Source

DeleteIndex(String, HashDigest<SHA256>)

Declaration
public override bool DeleteIndex(string namespace, HashDigest<SHA256> hash)
Parameters
Type Name Description
String namespace
HashDigest<SHA256> hash
Returns
Type Description
Boolean
Overrides
BaseStore.DeleteIndex(String, HashDigest<SHA256>)
| Improve this Doc View Source

DeleteNamespace(String)

Deletes an index, tx nonces, and state references in the given namespace. It also deletes namespace itself.

Declaration
public override void DeleteNamespace(string namespace)
Parameters
Type Name Description
String namespace

The namespace to delete.

Overrides
BaseStore.DeleteNamespace(String)
Remarks

This does not delete blocks or transactions that belong to the index of the namespace, but only the index, tx nonces, and state references.

| Improve this Doc View Source

DeleteTransaction(TxId)

Declaration
public override bool DeleteTransaction(TxId txid)
Parameters
Type Name Description
TxId txid
Returns
Type Description
Boolean
Overrides
BaseStore.DeleteTransaction(TxId)
| Improve this Doc View Source

ForkStateReferences<T>(String, String, Block<T>, IImmutableSet<Address>)

Declaration
public override void ForkStateReferences<T>(string sourceNamespace, string destinationNamespace, Block<T> branchPoint, IImmutableSet<Address> addressesToStrip)
    where T : IAction, new()
Parameters
Type Name Description
String sourceNamespace
String destinationNamespace
Block<T> branchPoint
IImmutableSet<Address> addressesToStrip
Type Parameters
Name Description
T
Overrides
Libplanet.Store.BaseStore.ForkStateReferences<T>(System.String, System.String, Libplanet.Blocks.Block<T>, System.Collections.Immutable.IImmutableSet<Libplanet.Address>)
| Improve this Doc View Source

GetBlock<T>(HashDigest<SHA256>)

Declaration
public override Block<T> GetBlock<T>(HashDigest<SHA256> blockHash)
    where T : IAction, new()
Parameters
Type Name Description
HashDigest<SHA256> blockHash
Returns
Type Description
Block<T>
Type Parameters
Name Description
T
Overrides
BaseStore.GetBlock<T>(HashDigest<SHA256>)
| Improve this Doc View Source

GetBlockPath()

Declaration
public string GetBlockPath()
Returns
Type Description
String
| Improve this Doc View Source

GetBlockPath(HashDigest<SHA256>)

Declaration
public string GetBlockPath(HashDigest<SHA256> blockHash)
Parameters
Type Name Description
HashDigest<SHA256> blockHash
Returns
Type Description
String
| Improve this Doc View Source

GetBlockStates(HashDigest<SHA256>)

Declaration
public override AddressStateMap GetBlockStates(HashDigest<SHA256> blockHash)
Parameters
Type Name Description
HashDigest<SHA256> blockHash
Returns
Type Description
AddressStateMap
Overrides
BaseStore.GetBlockStates(HashDigest<SHA256>)
| Improve this Doc View Source

GetIndexPath(String)

Declaration
public string GetIndexPath(string namespace)
Parameters
Type Name Description
String namespace
Returns
Type Description
String
| Improve this Doc View Source

GetStagedTransactionPath()

Declaration
public string GetStagedTransactionPath()
Returns
Type Description
String
| Improve this Doc View Source

GetStagedTransactionPath(TxId)

Declaration
public string GetStagedTransactionPath(TxId txid)
Parameters
Type Name Description
TxId txid
Returns
Type Description
String
| Improve this Doc View Source

GetStateReferencePath(String)

Declaration
public string GetStateReferencePath(string namespace)
Parameters
Type Name Description
String namespace
Returns
Type Description
String
| Improve this Doc View Source

GetStateReferencePath(String, Address)

Declaration
public string GetStateReferencePath(string namespace, Address address)
Parameters
Type Name Description
String namespace
Address address
Returns
Type Description
String
| Improve this Doc View Source

GetStatesPath()

Declaration
public string GetStatesPath()
Returns
Type Description
String
| Improve this Doc View Source

GetStatesPath(HashDigest<SHA256>)

Declaration
public string GetStatesPath(HashDigest<SHA256> key)
Parameters
Type Name Description
HashDigest<SHA256> key
Returns
Type Description
String
| Improve this Doc View Source

GetTransaction<T>(TxId)

Declaration
public override Transaction<T> GetTransaction<T>(TxId txid)
    where T : IAction, new()
Parameters
Type Name Description
TxId txid
Returns
Type Description
Transaction<T>
Type Parameters
Name Description
T
Overrides
BaseStore.GetTransaction<T>(TxId)
| Improve this Doc View Source

GetTransactionPath()

Declaration
public string GetTransactionPath()
Returns
Type Description
String
| Improve this Doc View Source

GetTransactionPath(TxId)

Declaration
public string GetTransactionPath(TxId txid)
Parameters
Type Name Description
TxId txid
Returns
Type Description
String
| Improve this Doc View Source

GetTxNonce(String, Address)

Gets Transaction<T> nonce of the address.

Declaration
public override long GetTxNonce(string namespace, Address address)
Parameters
Type Name Description
String namespace

The namespace to get Transaction<T> nonce.

Address address

The Address to get Transaction<T> nonce.

Returns
Type Description
Int64

A Transaction<T> nonce. If there is no previous Transaction<T>, return 0.

Overrides
BaseStore.GetTxNonce(String, Address)
See Also
IncreaseTxNonce(String, Address, Int64)
| Improve this Doc View Source

GetTxNoncePath(String)

Declaration
public string GetTxNoncePath(string namespace)
Parameters
Type Name Description
String namespace
Returns
Type Description
String
| Improve this Doc View Source

GetTxNoncePath(String, Address)

Declaration
public string GetTxNoncePath(string namespace, Address address)
Parameters
Type Name Description
String namespace
Address address
Returns
Type Description
String
| Improve this Doc View Source

IncreaseTxNonce(String, Address, Int64)

Increases (or decreases if a negative delta is given) the tx nonce counter for signer.

Declaration
public override void IncreaseTxNonce(string namespace, Address signer, long delta = 1L)
Parameters
Type Name Description
String namespace

The namespace to increase Transaction<T> nonce.

Address signer

The address of the account to increase tx nonce.

Int64 delta

How many to incrase the counter. A negative number decreases the counter. 1 by default.

Overrides
BaseStore.IncreaseTxNonce(String, Address, Int64)
See Also
GetTxNonce(String, Address)
| Improve this Doc View Source

IndexBlockHash(String, Int64)

Declaration
public override HashDigest<SHA256>? IndexBlockHash(string namespace, long index)
Parameters
Type Name Description
String namespace
Int64 index
Returns
Type Description
Nullable<HashDigest<SHA256>>
Overrides
BaseStore.IndexBlockHash(String, Int64)
| Improve this Doc View Source

IterateBlockHashes()

Declaration
public override IEnumerable<HashDigest<SHA256>> IterateBlockHashes()
Returns
Type Description
IEnumerable<HashDigest<SHA256>>
Overrides
BaseStore.IterateBlockHashes()
| Improve this Doc View Source

IterateIndex(String)

Declaration
public override IEnumerable<HashDigest<SHA256>> IterateIndex(string namespace)
Parameters
Type Name Description
String namespace
Returns
Type Description
IEnumerable<HashDigest<SHA256>>
Overrides
BaseStore.IterateIndex(String)
| Improve this Doc View Source

IterateStagedTransactionIds(Boolean)

Iterates staged TxIds.

Declaration
public override IEnumerable<TxId> IterateStagedTransactionIds(bool toBroadcast)
Parameters
Type Name Description
Boolean toBroadcast

Whether to iterate only the TxIds set to broadcast.

Returns
Type Description
IEnumerable<TxId>

Staged TxIds.

Overrides
BaseStore.IterateStagedTransactionIds(Boolean)
| Improve this Doc View Source

IterateStateReferences(String, Address)

Gets pairs of a state reference and a corresponding Index of the requested address in the specified namespace.

Declaration
public override IEnumerable<Tuple<HashDigest<SHA256>, long>> IterateStateReferences(string namespace, Address address)
Parameters
Type Name Description
String namespace

The chain namespace.

Address address

The Address to get state references.

Returns
Type Description
IEnumerable<Tuple<HashDigest<SHA256>, Int64>>

Ordered pairs of a state reference and a corresponding Index. The highest index (i.e., the closest to the tip) go last, and the lowest index (i.e., the closest to the genesis) go first.

Overrides
BaseStore.IterateStateReferences(String, Address)
See Also
StoreStateReference<T>(String, IImmutableSet<Address>, Block<T>)
| Improve this Doc View Source

IterateTransactionIds()

Declaration
public override IEnumerable<TxId> IterateTransactionIds()
Returns
Type Description
IEnumerable<TxId>
Overrides
BaseStore.IterateTransactionIds()
| Improve this Doc View Source

ListAddresses(String)

Lists all addresses that have ever had states.

Declaration
public override IEnumerable<Address> ListAddresses(string namespace)
Parameters
Type Name Description
String namespace

The namespace to list addresses.

Returns
Type Description
IEnumerable<Address>

All addresses in an arbitrary order. The order might be vary for each call.

Overrides
BaseStore.ListAddresses(String)
| Improve this Doc View Source

ListNamespaces()

Lists existing namespaces.

Declaration
public override IEnumerable<string> ListNamespaces()
Returns
Type Description
IEnumerable<String>

Existing namespaces.

Overrides
BaseStore.ListNamespaces()
| Improve this Doc View Source

ListTxNonces(String)

Lists all Addresses that have ever signed Transaction<T>, and their corresponding Transaction<T> nonces.

Declaration
public override IEnumerable<KeyValuePair<Address, long>> ListTxNonces(string namespace)
Parameters
Type Name Description
String namespace

The namespace to list Addresses and their Transaction<T> nonces.

Returns
Type Description
IEnumerable<KeyValuePair<Address, Int64>>

Pairs of an Address and its tx nonce. All nonces are greater than 0. (If there are underlying entries having zero nonces these must be hidden.)

Overrides
BaseStore.ListTxNonces(String)
See Also
GetTxNonce(String, Address)
| Improve this Doc View Source

PutBlock<T>(Block<T>)

Declaration
public override void PutBlock<T>(Block<T> block)
    where T : IAction, new()
Parameters
Type Name Description
Block<T> block
Type Parameters
Name Description
T
Overrides
Libplanet.Store.BaseStore.PutBlock<T>(Libplanet.Blocks.Block<T>)
| Improve this Doc View Source

PutTransaction<T>(Transaction<T>)

Declaration
public override void PutTransaction<T>(Transaction<T> tx)
    where T : IAction, new()
Parameters
Type Name Description
Transaction<T> tx
Type Parameters
Name Description
T
Overrides
Libplanet.Store.BaseStore.PutTransaction<T>(Libplanet.Tx.Transaction<T>)
| Improve this Doc View Source

SetBlockStates(HashDigest<SHA256>, AddressStateMap)

Declaration
public override void SetBlockStates(HashDigest<SHA256> blockHash, AddressStateMap states)
Parameters
Type Name Description
HashDigest<SHA256> blockHash
AddressStateMap states
Overrides
BaseStore.SetBlockStates(HashDigest<SHA256>, AddressStateMap)
| Improve this Doc View Source

StageTransactionIds(IDictionary<TxId, Boolean>)

Adds TxIds to the pending list so that a next Block<T> to be mined contains the corresponding Transaction<T>s.

Declaration
public override void StageTransactionIds(IDictionary<TxId, bool> txids)
Parameters
Type Name Description
IDictionary<TxId, Boolean> txids

TxIds to add to pending list. Keys are TxIds and values are whether to broadcast.

Overrides
BaseStore.StageTransactionIds(IDictionary<TxId, Boolean>)
| Improve this Doc View Source

StoreStateReference<T>(String, IImmutableSet<Address>, Block<T>)

Declaration
public override void StoreStateReference<T>(string namespace, IImmutableSet<Address> addresses, Block<T> block)
    where T : IAction, new()
Parameters
Type Name Description
String namespace
IImmutableSet<Address> addresses
Block<T> block
Type Parameters
Name Description
T
Overrides
Libplanet.Store.BaseStore.StoreStateReference<T>(System.String, System.Collections.Immutable.IImmutableSet<Libplanet.Address>, Libplanet.Blocks.Block<T>)
| Improve this Doc View Source

UnstageTransactionIds(ISet<TxId>)

Declaration
public override void UnstageTransactionIds(ISet<TxId> txids)
Parameters
Type Name Description
ISet<TxId> txids
Overrides
BaseStore.UnstageTransactionIds(ISet<TxId>)

Implements

IStore

Extension Methods

StoreExtension.LookupStateReference<T>(IStore, String, Address, Block<T>)
  • Improve this Doc
  • View Source
Back to top Copyright © 2019 Planetarium
Generated by DocFX