账户与合约 - TON 区块链

1. 合约基础

  • 合约地址:合约初始数据和代码的加密哈希值
    • 地址唯一识别合约创建时的状态
    • 合约状态变化时地址不变
  • 局域性:合约只能访问自身数据和余额,无法查看其他合约状态
    • 保证合约独立性,支持区块链无限扩展性

2. 合约的功能

  • 用户账户:每个用户账户是一个自定义钱包合约
  • 多签名合约:由多个用户钱包操作
  • 通证合约:代币作为独立合约,指定属性和所有者
    • 变更所有权时通过发送信息更新

3. Ton 上的通证

  • 每个通证是一个独立的合约
    • 属性:所有者等
    • 通过信息发送改变所有权
    • 检查信息有效性后完成所有权变更

4. 保护网络 - 执行成本与租金

  • GAS成本

    • 每次执行合约代码时产生,TVM 中每条指令都有成本
    • GAS费用:网络中 GAS 价格决定支付的 TON 数量
    • 执行时间越长,费用越多,费用从合约余额中扣除
    • 余额为零时,执行中止,交易失败
  • 租金

    • 合约生命周期内每秒从余额中扣除的费用
    • 防止网络滥用,保护免受拒绝服务攻击

5. 合约冻结

  • 冻结原因:余额耗尽,无法支付租金时合约冻结
  • 冻结后
    • 合约数据被卸载,存储成哈希值
    • 用户可通过匹配哈希值的快照来恢复合约并解冻

6. 设计智能合约时的注意事项

  • GAS费用:执行过程中产生的成本
  • 租金费用:合约有效期内支付的租金
    • 合约必须维持足够的余额来避免冻结