Skip to main content

LocalBlockchain

function LocalBlockchain(__namedParameters: {
"enforceTransactionLimits": true;
"proofsEnabled": true;
}): Promise<{
"addAccount": (publicKey: PublicKey, balance: string) => void;
"getNetworkId": () => NetworkId;
"proofsEnabled": boolean;
"testAccounts": [TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey];
"applyJsonTransaction": void;
"currentSlot": UInt32;
"fetchActions": Promise<{
"actions": string[][];
"hash": string;
}[]>;
"fetchEvents": Promise<any>;
"getAccount": Account;
"getActions": {
"actions": string[][];
"hash": string;
}[];
"getNetworkConstants": {
"accountCreationFee": UInt64;
"genesisTimestamp": UInt64;
"slotTime": UInt64;
};
"getNetworkState": PreconditionBaseTypes<{}>;
"hasAccount": boolean;
"incrementGlobalSlot": void;
"resetProofsEnabled": void;
"sendTransaction": PendingTransactionPromise;
"setBlockchainLength": void;
"setGlobalSlot": void;
"setProofsEnabled": void;
"setTotalCurrency": void;
"transaction": TransactionPromise<false, false>;
}>

A mock Mina blockchain running locally and useful for testing.

Parameters

__namedParameters= {}

__namedParameters.enforceTransactionLimits: undefined | boolean= true

__namedParameters.proofsEnabled: undefined | boolean= true

Returns

Promise\<{ "addAccount": (publicKey: PublicKey, balance: string) => void; "getNetworkId": () => NetworkId; "proofsEnabled": boolean; "testAccounts": [TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey]; "applyJsonTransaction": void; "currentSlot": UInt32; "fetchActions": Promise\<{ "actions": string[][]; "hash": string; }[]>; "fetchEvents": Promise\<any>; "getAccount": Account; "getActions": { "actions": string[][]; "hash": string; }[]; "getNetworkConstants": { "accountCreationFee": UInt64; "genesisTimestamp": UInt64; "slotTime": UInt64; }; "getNetworkState": PreconditionBaseTypes\<{}>; "hasAccount": boolean; "incrementGlobalSlot": void; "resetProofsEnabled": void; "sendTransaction": PendingTransactionPromise; "setBlockchainLength": void; "setGlobalSlot": void; "setProofsEnabled": void; "setTotalCurrency": void; "transaction": TransactionPromise\<false, false>; }>

addAccount()

addAccount: (publicKey: PublicKey, balance: string) => void;

Parameters

publicKey: PublicKey

balance: string

Returns

void

getNetworkId()

getNetworkId: () => NetworkId;

Returns

NetworkId

proofsEnabled

proofsEnabled: boolean;

testAccounts

testAccounts: [TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey, TestPublicKey];

applyJsonTransaction()

Parameters

json: string

Returns

void

currentSlot()

Returns

UInt32

fetchActions()

Parameters

publicKey: PublicKey

actionStates?: ActionStates

tokenId?: Field= TokenId.default

Returns

Promise\<{ "actions": string[][]; "hash": string; }[]>

fetchEvents()

Parameters

publicKey: PublicKey

tokenId: Field= TokenId.default

Returns

Promise\<any>

getAccount()

Parameters

publicKey: PublicKey

tokenId: Field= TokenId.default

Returns

Account

getActions()

Parameters

publicKey: PublicKey

actionStates?: ActionStates

tokenId?: Field= TokenId.default

Returns

{ "actions": string[][]; "hash": string; }[]

getNetworkConstants()

Returns

{
"accountCreationFee": UInt64;
"genesisTimestamp": UInt64;
"slotTime": UInt64;
}
accountCreationFee
accountCreationFee: UInt64;
genesisTimestamp
genesisTimestamp: UInt64;
slotTime
slotTime: UInt64;

Duration of 1 slot in millisecondw

getNetworkState()

Returns

PreconditionBaseTypes\<{}>

hasAccount()

Parameters

publicKey: PublicKey

tokenId: Field= TokenId.default

Returns

boolean

incrementGlobalSlot()

Parameters

increment: number | UInt32

Returns

void

resetProofsEnabled()

Returns

void

sendTransaction()

Parameters

txn: Transaction\<boolean, boolean>

Returns

PendingTransactionPromise

setBlockchainLength()

Parameters

height: UInt32

Returns

void

setGlobalSlot()

Parameters

slot: number | UInt32

Returns

void

setProofsEnabled()

Parameters

newProofsEnabled: boolean

Returns

void

setTotalCurrency()

Parameters

currency: UInt64

Returns

void

transaction()

Parameters

sender: FeePayerSpec

f

Returns

TransactionPromise\<false, false>

Source

lib/mina/local-blockchain.ts:72