Accounts
Core Principles
Account (Contract) – a record in the distributed database that includes the balance, code, and data.
All user, application, and system logic and state are stored in contracts.
Each contract is an account capable of sending messages, executing code, holding funds, and creating other contracts.
Contracts can interact with other contracts asynchronously.
Accounts are identified and grouped using Dapp ID.
Dapp ID is a unique identifier for a logical application, linking together contracts that operate within the same Dapp.
Before diving into building a Dapp, it’s recommended to first understand the basic principles of how blockchain works, as well as the architecture and decentralization mechanisms of the Acki Nacki network.
Purpose of Dapp ID:
Represents a logical "group of accounts" (contracts) acting as a single application
Used for message routing and execution priority management
Enables transaction subsidization and freemium models
Simplifies state and balance management across the entire Dapp
Dapp ID Assignment Rules:
Every initialized and active contract has a Dapp ID.
If a contract is created directly (via an external message), its Dapp ID matches its own address.
If a contract is created by another contract (via an internal message), it inherits the Dapp ID of its creator.
You can learn how to create your first Dapp using this guide.
Last updated