Skip to main content

LocalBlockchain

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;
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; 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

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:68