examples

package
v0.22.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2021 License: Apache-2.0 Imports: 14 Imported by: 0

README

Emulator Examples

This package contains code samples that interact with the Flow Emulator.

Running the emulator with the Flow CLI

The emulator is bundled with the Flow CLI, a command-line interface for working with Flow.

Installation

Follow these steps to install the Flow CLI.

Starting the server

Start the emulator by running the following command in this directory:

flow emulator start -v

The -v flag enables verbose log output, which is useful for testing

Running the examples

In a separate process, run any of the example programs below. Watch the emulator logs to see transaction output.

Create Account

Create a new account on Flow.

make create-account
Add Account Key

Add a key to an existing account.

make add-account-key
Deploy Contract

Deploy a Cadence smart contract.

make deploy-contract
Query Events

Query events emitted by transactions.

make query-events
Transaction Arguments

Submit a transaction with Cadence arguments.

make transaction-arguments
Transaction Signing
Single Party, Single Signature

Sign a transaction with a single account.

make single-party
Single Party, Multiple Signatures

Sign a transaction with a single account using multiple signatures.

make single-party-multisig
Multiple Parties

Sign a transaction with multiple accounts.

make multi-party
Multiple Parties, Two authorizers

Sign a transaction with multiple accounts and authorize for both of them.

make multi-party-two-authorizers
Multiple Parties, Multiple Signatures

Sign a transaction with multiple accounts using multiple signatures.

make multi-party-multisig
User Signature

Sign an arbitrary user message.

make user-signature
Verify Events

Verify events emitted in a block.

make verify-events

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateAccount

func CreateAccount(flowClient *client.Client, publicKeys []*flow.AccountKey) *flow.Account

func CreateAccountWithContracts

func CreateAccountWithContracts(flowClient *client.Client, publicKeys []*flow.AccountKey, contracts []templates.Contract) *flow.Account

func FundAccountInEmulator

func FundAccountInEmulator(flowClient *client.Client, address flow.Address, amount float64)

*

  • FundAccountInEmulator Mints FLOW to an account. Minting only works in an emulator environment.

func GetReferenceBlockId

func GetReferenceBlockId(flowClient *client.Client) flow.Identifier

func Handle

func Handle(err error)

func RandomAccount

func RandomAccount(flowClient *client.Client) (flow.Address, *flow.AccountKey, crypto.Signer)

func RandomPrivateKey

func RandomPrivateKey() crypto.PrivateKey

RandomPrivateKey returns a randomly generated ECDSA P-256 private key.

func ReadFile

func ReadFile(path string) string

ReadFile reads a file from the file system.

func ServiceAccount

func ServiceAccount(flowClient *client.Client) (flow.Address, *flow.AccountKey, crypto.Signer)

func WaitForSeal

func WaitForSeal(ctx context.Context, c *client.Client, id flow.Identifier) *flow.TransactionResult

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL