/
onflow.org
Flow Playground

Key Concepts


The FLOW token is an integral part of the overall Flow ecosystem. There is a lot more to cover, but here are a few key concepts.

Fees

Fees for account creation, and transaction submission will exist in v0.x.x of the testnet.

There are 2 fees that you will see applied to your transactions

  • Account Creation: 0.001 FLOW
  • Transaction Fee: 0.000001 FLOW

Please consider the above numbers only as relative reference. The exact values will most likely change during implementation and be dynamically adjusted thereafter.

Transaction Fees

Transaction fees are applied only once per transaction, at time of execution. Transactions without a valid payer signature will fail and not be included in a block, prior to when the fee would be charged. If there is no one to charge, the transaction never goes through.

However, if a transaction fails for some other reason once it is being executed, you will still be charged the fixed fee. The fee covers the cost of the network looking at the transaction and thus must be paid even if no change to your account is made.

Storage/Account Fees

Account Creation fee is applied only when create account is called. This fee covers the cost of storing up to 1KB of data in perpetuity. This fee is applied only once and can be "topped up" to add additional storage to an account. Transactions are submitted using a Flow SDK via the Access API. Results can be queried by transaction hash through the Access API.

Accounts

An account on Flow is a record in the chain state that holds the following information:

  • Address: unique identifier for the account
  • Balance: default token balance
  • Public Keys: public keys authorized on the account
  • Code: Cadence contracts deployed to the account
  • Storage: area of the account used to store resource assets

Information on Generating Accounts can be found here

Flow Service Account

The Service Account is a special account in Flow that has special permissions to manage system contracts. It is able to mint tokens, set fees, and update network-level contracts.

Tokens & Fees

The Service Account has administrator access to the FLOW token smart contract, so it has authorization to mint and burn tokens. It also has access to the transaction fee smart contract and can adjust the fees charged for transactions execution on Flow.

Network Management

The Service Account administrates other smart contracts that manage various aspects of the Flow network, such as epochs and (in the future) validator staking auctions.

Governance

Besides its special permissions, the Service Account is an account like any other in Flow. During the early phases of Flow's development, the account will be controlled by keys held by Dapper Labs. As Flow matures, the service account will transition to being controlled by a smart contract governed by the Flow community.

Key Format

We are supporting ECDSA with the curves P-256 and secp256k1. For these curves, the public key is encoded into 64 bytes as X||Y where || is the concatenation operator.

  • X is 32 bytes and is the big endian byte encoding of the x-coordinate of the public key padded to 32, i.e. X=x_31||x_30||...||x_0 or X = x_31*256^31 + ... + x_i*256^i + ... + x_0.
  • Y is 32 bytes and is the big endian byte encoding of the y-coordinate of the public key padded to 32, i.e. Y=y_31||y_30||...||y_0 or Y = y_31*256^31 + ... + y_i*256^i + ... + y_0
Edit on GitHub