# 智能合约

# 概述

智能合约是可编程区块链账户,也就是将一段代码存在区块链的一个账户下,当这个账户接收到交易,就会按照内置代码运算,并将运算结果更新到该账户对应的区块链数据库中。

# 合约类型

为了确保安全和灵活性,TOP Network提供了两种类型的智能合约:系统智能合约和用户智能合约。

# 系统智能合约

系统智能合约部署在主链上,采用 C++ 语言开发。用于涉及资产转移、选举和链上管理的场景。这些合约是在基于堆栈的非图灵完备编写的脚本语言,确保安全性和可执行性。尽管系统智能合约不是图灵完备,它们可以灵活调用由核心VM执行的内置的图灵完备核心函数。

TOP Network系统合约提供的功能包括矿工注册、投票、节点入网、节点选举、链上治理等。

系统合约如下表所示:

系统合约 部署位置 合约地址 说明 合约名称 是否时钟触发
集群选举相关合约 Beacon T2000138JQPo5TcurZsVLFUMd5vHJRBLenLWjLhk6@0
T2000138Kc9WynduqxJvX3VCU7XjHCR9YyKuBL1fx@0
选举Beacon group合约。 beacon_election_contract
zone_beacon_election_contract
T2000138NpRxYCFQxMHvedTxRpgkb8B7oHt235N2W@0 选举edge group合约。 edge_election_contract
T2000138NXb36GkofBUMqxCAZqdERi63htDVC8Yzt@0 选举archive group合约。 archive_election_contract
T2000138CQwyzFxbWZ59mNjkq3eZ3eH41t7b5midm@0
T200024uCQ5Di2vZmPURNYVUuvWm5p7EaFQrRLs76@2
"@0"候选池合约,包括所有候选及当选Beacon、edge和archive节点信息。
"@2"候选池合约,存储@0候选池可信高度。
beacon_candidate_contract
zone_beacon_candidate_contract

T200024uHxGKRST3hk5tKFjVpuQbGNDihMJR6qeeQ@2 选举auditor/validator group合约。 zone_beacon_election_contract
T200024uN3e6AujFyvDXY4h5t6or3DgKpu5rTKELD@2 分片关联关系合约。 cluster_shard_contract
链上治理合约 T2000138Ao4jjYtrXoNwfzb6gdpD2XNBpqUv46p8B@0 链上治理合约。 government_contract
注册合约 T2000138NZjvNJjRNG5iEqVKydpqAqoeNjBuFmNbj@0 矿工注册合约。 miner_register_contract
T200024uAt8Na2U1GUtWSHXJSqaJJBXunUX9WU9kB@0 对分片汇总上来的工作量数据进行处理,例如计算节点奖励。 zone_workload_contract
T200024uPV1k6XjTm9No5yB2mxBPK9o2XqJKyhDUn@0 zone投票汇总合约 zone_votes_contract
T200024uDhihoPJ24LQL4znxrugPM4eWk8rY42ceS@1 对分片汇总上来的惩罚数据进行处理,例如计算节点惩罚。 zone_block_signing_rate_contract
奖励发行合约 T200024uV5yB1ZCnXe7SbViA86ufhouFjpDKNRd3X@0 增发TOP token作为奖励池。 token_issue_and_reward_contract
分片合约 Validator Network T20000MFGB3gFWSsMfEo9LrC7JEaj1gJTXaYfXny@0~255 统计分片工作量合约。 table_workload_contract
T20000ML7oBZbitBCcXhrJwqBhha2MUimd6SM9Z6@0~255 统计分片惩罚合约。 table_block_signing_rate_contract
T20000MTotTKfAJRxrfvEwEJvtgCqzH9GkpMmAUg@0~255 分片奖励领取合约。 table_reward_contract
T20000MVfDLsBKVcy1wMp4CoEHWxUeBEAVBL9ZEa@0~255 投票合约。 table_vote_contract