Skip to content

[Contract dev > Fundamentals] Clarify smart contract components: persistent state and interactions (messages/getters) #1693

@delovoyhomie

Description

@delovoyhomie

Problem / Why

Readers don’t clearly understand what a TON smart contract consists of and how it behaves: specifically persistent state (what is stored across transactions) vs execution, and how contracts interact (external/internal messages, getters). This makes it harder to build, debug, and read on-chain activity.

What to do

Add/expand a concise section explaining:

Components

  • Code: contract logic executed by TVM
  • Persistent state (data): stored between transactions (what it contains, how it’s updated)
  • Balance: TON used for storage rent + fees and forwarding value
  • Address: identifies the account / workchain context (high level only)

Interactions

  • External messages: typically initiated by a wallet/user
  • Internal messages: contract-to-contract communication and transfers
  • Get methods (getters): read-only queries executed off-chain (no state change)
  • Bounce behavior (optional, brief): what happens when a message fails

Include 1 small “typical flow” example (bullet list) linking to the “Your first smart contract” tutorial.

Metadata

Metadata

Assignees

No one assigned

    Labels

    scope: contract-development/contract-dev folder: how to write new smart contracts, patterns, techniques, related tools, etc.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions