Skip to content

主链支持

在项目配置中必须显式启用主链支持。如果不启用,所有主链地址将被视为无效。

大多数合约开发者不需要主链。主链仅用于参与选举或存储库。如果您不需要参与选举或存储库,您不需要主链。

如何保护合约免受主链影响

在 func 中编写的大多数合约会强制所有传入的地址必须是基链地址。这样做是为了防止在合约中使用主链地址。Tact 默认进行此操作。

未启用主链支持时禁止执行的操作:

  • 将合约部署到主链。init 函数会为每个消息抛出一个“此合约未启用主链支持”的错误。
  • 接收来自主链账户的消息。
  • 接收包含主链地址的结构体。
  • 向主链账户发送消息。
  • 在 get 方法的参数中使用主链地址。

启用主链支持

要启用主链支持,请在项目配置文件中启用它:

json
{
    "options": {
        "masterchain": true
    }
}