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
The account creation fee is applied only when a new account is created. This fee covers the cost of storing up to 100kB of data in perpetuity. This fee is applied only once and can be "topped up" to add additional storage to an account.
More information: Storing Data on Flow
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
More information: Accounts & Keys
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 thex
-coordinate of the public key padded to 32, i.e.X=x_31||x_30||...||x_0
orX = x_31*256^31 + ... + x_i*256^i + ... + x_0
.Y
is 32 bytes and is the big endian byte encoding of they
-coordinate of the public key padded to 32, i.e.Y=y_31||y_30||...||y_0
orY = y_31*256^31 + ... + y_i*256^i + ... + y_0